Suppliers - Projects - Parts database
CREATE TABLE parts (
PartID CHAR(4) CONSTRAINT parts_pk PRIMARY KEY,
name VARCHAR2(32) CONSTRAINT parts_notnull_name NOT NULL,
color VARCHAR2(12) DEFAULT 'Red',
weight NUMBER(4,1),
price NUMBER(8,2) DEFAULT 19.99,
min_price NUMBER(8,2),
CONSTRAINT parts_check_prices CHECK ( min_price < price )
);
CREATE TABLE suppliers (
sid CHAR(4) CONSTRAINT suppliers_pk PRIMARY KEY,
name VARCHAR(32) CONSTRAINT suppliers_notnull_name NOT NULL,
city VARCHAR(24) DEFAULT 'London',
sttaus NUMBER(3, 0),
CONSTRAINT suppliers_check_status CHECK ( status BETWEEN 0 AND 100 )
);
CREATE TABLE projects (
ProjectID CHAR(4),
ProjectName VARCHAR2(32) NOT NULL,
city VARCHAR2(24) NOT NULL,
CONSTRAINT Project_PK PRIMARY KEY (ProjectID)
);
CREATE TABLE orders (
SupplierID CHAR(4) CONSTRAINT orders_supp_fk REFERENCES suppliers ON DELETE CASCADE,
PartID CHAR(4) CONSTRAINT orders_part_fk REFERENCES parts ON DELETE CASCADE,
ProjectID CHAR(4) CONSTRAINT orders_proj_fk REFERENCES projects ON DELETE CASCADE,
quantity number(4,0) DEFAULT 5,
status VARCHAR2(16 CHAR),
CONSTRAINT orders_pk PRIMARY KEY (SupplierId, PartID, ProjectID),
CONSTRAINT orders_check_qty CHECK (quantity > 0)
);