27 lines
646 B
MySQL
27 lines
646 B
MySQL
|
CREATE TABLE directions (
|
||
|
id integer NOT NULL PRIMARY KEY,
|
||
|
short_name varchar(2) NOT NULL UNIQUE,
|
||
|
name varchar(10) NOT NULL UNIQUE
|
||
|
);
|
||
|
|
||
|
CREATE TABLE areas (
|
||
|
id integer NOT NULL PRIMARY KEY,
|
||
|
name varchar(50) NOT NULL
|
||
|
);
|
||
|
|
||
|
CREATE TABLE rooms (
|
||
|
id integer NOT NULL PRIMARY KEY,
|
||
|
area integer NOT NULL REFERENCES areas(id),
|
||
|
name varchar(50) NOT NULL,
|
||
|
distant_description text,
|
||
|
close_description text NOT NULL,
|
||
|
UNIQUE (area, name)
|
||
|
);
|
||
|
|
||
|
CREATE TABLE room_exits (
|
||
|
room_id integer NOT NULL REFERENCES rooms(id),
|
||
|
direction integer REFERENCES directions(id),
|
||
|
other_side integer NOT NULL REFERENCES rooms(id),
|
||
|
PRIMARY KEY (room_id, direction)
|
||
|
);
|