Files
legolog/db/schema.sql
Ben 925af9cc9d databases
Former-commit-id: 5bc8a1b761fe2241c32e51b30b6c0e0dfdeb3461
2022-02-03 18:55:09 +00:00

62 lines
1.8 KiB
SQL

CREATE TABLE LegoBrickInventory (
id varchar(50)
);
CREATE TABLE LegoSetInventory (
id varchar(50)
);
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 )
);
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 )
);