pathfinder-2-sqlite-MIRROR/schema/armor.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)
);