92 lines
2.7 KiB
SQL
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 )
|
|
);
|