CREATE TABLE locations (
  id INTEGER PRIMARY KEY,
  x INTEGER NOT NULL,
  y INTEGER NOT NULL,
  z INTEGER NOT NULL,
  world INTEGER NOT NULL,
  observable INTEGER NOT NULL references observables(id)
);


CREATE TABLE observables (
  id INTEGER PRIMARY KEY,
  name TEXT NOT NULL,
  description TEXT NOT NULL
);

CREATE TABLE inventories (
  id INTEGER PRIMARY KEY
);

CREATE TABLE pools (
  id INTEGER PRIMARY KEY,
  type INTEGER NOT NULL
);

CREATE TABLE exits (
  id INTEGER PRIMARY KEY,
  origin INTEGER NOT NULL,
  dest INTEGER NOT NULL,
  FOREIGN KEY (origin) REFERENCES locations (id),
  FOREIGN KEY (dest) REFERENCES locations (id)
);
