Files
legolog/db/.sql
Ben db1bc79534 server and ERD
Former-commit-id: b069d94d494a1eeaa180e237608b466004cfb158
2022-02-05 15:54:58 +00:00

112 lines
4.4 KiB
SQL

CREATE TABLE "public".catagory (
id integer NOT NULL ,
name varchar(100) ,
CONSTRAINT catagory_pkey PRIMARY KEY ( id )
);
CREATE TABLE "public".colour_type (
id integer NOT NULL ,
name varchar(64) ,
CONSTRAINT colour_type_pkey PRIMARY KEY ( id )
);
CREATE TABLE "public".lego_brick_colour (
id integer NOT NULL ,
name varchar(100) ,
hexrgb varchar(6) NOT NULL ,
col_type integer ,
CONSTRAINT lego_brick_colour_pkey PRIMARY KEY ( id )
);
CREATE TABLE "public".lego_set (
id varchar(50) NOT NULL ,
catagory integer ,
name varchar(100) ,
date_released timestamp ,
dimensions_x numeric ,
dimensions_y numeric ,
dimensions_z numeric ,
CONSTRAINT lego_set_pkey PRIMARY KEY ( id )
);
CREATE TABLE "public".lego_set_inventory (
id varchar(50) NOT NULL ,
stock integer NOT NULL ,
price numeric NOT NULL ,
demand_factor numeric NOT NULL ,
backorder boolean ,
backorder_stock integer ,
last_updated timestamp NOT NULL ,
CONSTRAINT lego_set_inventory_pkey PRIMARY KEY ( id )
);
CREATE TABLE "public".lego_set_price_history (
id integer NOT NULL ,
set_id varchar(50) NOT NULL ,
price_point numeric NOT NULL ,
date_point timestamp NOT NULL ,
CONSTRAINT lego_set_price_history_pkey PRIMARY KEY ( id )
);
CREATE TABLE "public".lego_brick (
id varchar(50) NOT NULL ,
name varchar NOT NULL ,
colour integer ,
catagory integer ,
weight numeric ,
dimensions_x integer ,
dimensions_y integer ,
dimensions_z integer ,
date_from timestamp ,
date_to timestamp ,
CONSTRAINT lego_brick_pkey PRIMARY KEY ( id )
);
CREATE TABLE "public".lego_brick_inventory (
id varchar(50) NOT NULL ,
stock integer NOT NULL ,
price numeric NOT NULL ,
demand_factor numeric NOT NULL ,
backorder boolean ,
backorder_stock integer ,
last_updated timestamp NOT NULL ,
CONSTRAINT lego_brick_inventory_pkey PRIMARY KEY ( id )
);
CREATE TABLE "public".lego_brick_price_history (
id integer NOT NULL ,
brick_id varchar(50) NOT NULL ,
price_point numeric NOT NULL ,
date_point timestamp NOT NULL ,
CONSTRAINT lego_brick_price_history_pkey PRIMARY KEY ( id )
);
CREATE TABLE "public".set_descriptor (
id varchar(50) NOT NULL ,
set_id varchar(50) NOT NULL ,
brick_id varchar(50) NOT NULL ,
amount integer ,
CONSTRAINT set_descriptor_pkey PRIMARY KEY ( id )
);
ALTER TABLE "public".lego_brick ADD CONSTRAINT lego_brick_catagory_fkey FOREIGN KEY ( catagory ) REFERENCES "public".catagory( id );
ALTER TABLE "public".lego_brick ADD CONSTRAINT lego_brick_colour_fkey FOREIGN KEY ( colour ) REFERENCES "public".lego_brick_colour( id );
ALTER TABLE "public".lego_brick_colour ADD CONSTRAINT lego_brick_colour_col_type_fkey FOREIGN KEY ( col_type ) REFERENCES "public".colour_type( id );
ALTER TABLE "public".lego_brick_inventory ADD CONSTRAINT lego_brick_inventory_id_fkey FOREIGN KEY ( id ) REFERENCES "public".lego_brick( id );
ALTER TABLE "public".lego_brick_price_history ADD CONSTRAINT lego_brick_price_history_brick_id_fkey FOREIGN KEY ( brick_id ) REFERENCES "public".lego_brick( id );
ALTER TABLE "public".lego_set ADD CONSTRAINT lego_set_catagory_fkey FOREIGN KEY ( catagory ) REFERENCES "public".catagory( id );
ALTER TABLE "public".lego_set_inventory ADD CONSTRAINT lego_set_inventory_id_fkey FOREIGN KEY ( id ) REFERENCES "public".lego_set( id );
ALTER TABLE "public".lego_set_price_history ADD CONSTRAINT lego_set_price_history_set_id_fkey FOREIGN KEY ( set_id ) REFERENCES "public".lego_set( id );
ALTER TABLE "public".set_descriptor ADD CONSTRAINT set_descriptor_brick_id_fkey FOREIGN KEY ( brick_id ) REFERENCES "public".lego_brick( id );
ALTER TABLE "public".set_descriptor ADD CONSTRAINT set_descriptor_set_id_fkey FOREIGN KEY ( set_id ) REFERENCES "public".lego_set( id );