60 lines
1.6 KiB
SQL
60 lines
1.6 KiB
SQL
|
|
CREATE TABLE armorgroup (
|
|
grp_id INTEGER PRIMARY KEY,
|
|
short_name TEXT NOT NULL UNIQUE,
|
|
descr TEXT NOT NULL,
|
|
FOREIGN KEY (sources_id) REFERENCES sources(sources_id)
|
|
);
|
|
|
|
CREATE TABLE armorcategory (
|
|
armor_category_id INTEGER PRIMARY KEY,
|
|
short_name TEXT NOT NULL UNIQUE
|
|
);
|
|
|
|
CREATE TABLE armor (
|
|
armor_id INTEGER PRIMARY KEY,
|
|
armor_category_id INTEGER NOT NULL,
|
|
short_name TEXT NOT NULL,
|
|
item_level INTEGER,
|
|
price_text TEXT NOT NULL,
|
|
price_gp FLOAT NOT NULL,
|
|
ac_bonus INTEGER NOT NULL,
|
|
dex_cap INTEGER,
|
|
check_penalty INTEGER,
|
|
speed_penalty INTEGER,
|
|
strength INTEGER,
|
|
bulk_id INTEGER NOT NULL,
|
|
grp_id INTEGER,
|
|
descr TEXT NOT NULL,
|
|
FOREIGN KEY (bulk_id) REFERENCES bulks(bulk_id),
|
|
FOREIGN KEY (grp_id) REFERENCES armorgroup(grp_id),
|
|
FOREIGN KEY (sources_id) REFERENCES sources(sources_id)
|
|
);
|
|
|
|
CREATE TABLE armor_traits (
|
|
id INTEGER PRIMARY KEY,
|
|
armor_id INTEGER NOT NULL,
|
|
trait_id INTEGER NOT NULL,
|
|
FOREIGN KEY (armor_id) REFERENCES armor(armor_id),
|
|
FOREIGN KEY (trait_id) REFERENCES traits(trait_id)
|
|
);
|
|
|
|
-- Joining table --
|
|
CREATE TABLE armorgroup_sorceentries (
|
|
id INTEGER PRIMARY KEY
|
|
,grp_id INTEGER NOT NULL
|
|
,sourceentry_id INTEGER NOT NULL
|
|
,UNIQUE (id, grp_id, sourceentry_id),
|
|
,FOREIGN KEY (grp_id) REFERENCES armorgroup(grp_id)
|
|
,FOREIGN KEY (sourceentry_id) REFERENCES sourceentries(sourceentry_id)
|
|
);
|
|
|
|
-- Joining table --
|
|
CREATE TABLE armor_sourceentries (
|
|
id INTEGER PRIMARY KEY
|
|
,armor_id INTEGER NOT NULL
|
|
,sourceentry_id INTEGER NOT NULL
|
|
,UNIQUE (id, armor_id, sourceentry_id)
|
|
,FOREIGN KEY (armor_id) REFERENCES armor(armor_id)
|
|
,FOREIGN KEY (sourceentry_id) REFERENCES sourceentries(sourceentry_id)
|
|
); |