Files
legolog/db/schema.sql
Ben 090576a1d9 haa
Former-commit-id: c4d0ca7e32c5625287103613b9f84784c8699605
2022-02-03 22:39:57 +00:00

92 lines
2.7 KiB
SQL

CREATE TABLE LegoBrickPriceHistory (
id integer NOT NULL PRIMARY KEY AUTOINCREMENT,
brick_id integer NOT NULL,
price_point decimal NOT NULL,
date_point date NOT NULL,
FOREIGN KEY ( id ) REFERENCES LegoBrick( id )
);
CREATE TABLE LegoSetPriceHistory (
id integer NOT NULL PRIMARY KEY AUTOINCREMENT,
set_id integer NOT NULL,
price_point decimal NOT NULL,
date_point date NOT NULL,
FOREIGN KEY ( id ) REFERENCES LegoSet( id )
);
CREATE TABLE LegoBrickInventory (
id varchar(50) NOT NULL PRIMARY KEY,
stock int NOT NULL,
price decimal NOT NULL,
demand_factor decimal NOT NULL,
backorder boolean,
backorder_stock int,
last_updated datetime NOT NULL
FOREIGN KEY ( id ) REFERENCES LegoBrick( id )
);
CREATE TABLE LegoSetInventory (
id varchar(50) NOT NULL PRIMARY KEY,
stock int NOT NULL,
price decimal NOT NULL,
demand_factor decimal NOT NULL,
backorder boolean,
backorder_stock int,
last_updated datetime NOT NULL
FOREIGN KEY ( id ) REFERENCES LegoSet( id )
);
CREATE TABLE Catagory (
id integer NOT NULL PRIMARY KEY,
name varchar(100)
);
CREATE TABLE ColourType (
id integer NOT NULL PRIMARY KEY,
name varchar(64)
);
CREATE TABLE LegoBrickColour (
id integer NOT NULL PRIMARY KEY,
name varchar(100),
hexrgb varchar(6) NOT NULL,
col_type integer,
FOREIGN KEY ( col_type ) REFERENCES ColourType( id )
);
CREATE TABLE LegoSet (
id varchar(50) NOT NULL PRIMARY KEY,
catagory integer,
name varchar(100),
date_released date,
dimensions_x decimal,
dimensions_y decimal,
dimensions_z decimal,
FOREIGN KEY ( catagory ) REFERENCES Catagory( id ),
FOREIGN KEY ( id ) REFERENCES LegoSetInventory( id )
);
CREATE TABLE LegoBrick (
id varchar(50) NOT NULL PRIMARY KEY,
name text(100) NOT NULL,
colour integer,
catagory integer,
weight decimal,
dimensions_x integer,
dimensions_y integer,
dimensions_z integer,
date_from date,
date_to date,
FOREIGN KEY ( colour ) REFERENCES LegoBrickColour( id ),
FOREIGN KEY ( catagory ) REFERENCES Catagory( id )
);
CREATE TABLE SetDescriptor (
id varchar(50) NOT NULL PRIMARY KEY,
set_id varchar(50) NOT NULL,
brick_id varchar(50) NOT NULL,
amount integer,
FOREIGN KEY ( set_id ) REFERENCES LegoSet( id ),
FOREIGN KEY ( brick_id ) REFERENCES LegoBrick( id )
);