Database

 avatar
unknown
plain_text
3 years ago
1.4 kB
3
Indexable
CREATE TABLE IF NOT EXISTS Products (
product_id INT(1) NOT NULL AUTO_INCREMENT,
product_name VARCHAR(30) NOT NULL,
product_price DOUBLE(11,2) NOT NULL,
PRIMARY KEY (product_id)
);

CREATE TABLE IF NOT EXISTS Customers (
customer_id INT(11) NOT NULL AUTO_INCREMENT,
first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL,
location VARCHAR(50) NOT NULL,
street_address VARCHAR(50) NOT NULL,
postal_code INT(11) NOT NULL,
phone_number VARCHAR(50) NOT NULL,
email VARCHAR(50) NOT NULL,
PRIMARY KEY (customer_id)
);

CREATE TABLE IF NOT EXISTS Orders (
order_id INT(11) NOT NULL AUTO_INCREMENT,
product_id_fk INT(11) NOT NULL,
payment_type_id_fk INT(11),
shipping_id_fk INT(11) NOT NULL,
customer_id_fk INT(11),
order_date DATE NOT NULL,
subtotal DOUBLE(11,2) NOT NULL,
total DOUBLE(11,2) NOT NULL,
PRIMARY KEY (order_id),
FOREIGN KEY (product_id_fk) REFERENCES Products(product_id),
FOREIGN KEY (payment_type_id_fk) REFERENCES Payment_Type(payment_type_id),
FOREIGN KEY (customer_id_fk) REFERENCES Customers(customer_id),
FOREIGN KEY (shipping_id_fk) REFERENCES Shipping(shipping_id)
);

CREATE TABLE IF NOT EXISTS Payment_Type (
payment_type_id INT(11) NOT NULL AUTO_INCREMENT,
payment_type_desc VARCHAR(50),
PRIMARY KEY (payment_type_id)
);

CREATE TABLE IF NOT EXISTS Shipping(
shipping_id INT(11) NOT NULL AUTO_INCREMENT,
shipping_fee DOUBLE(11,2) NOT NULL,
PRIMARY KEY (shipping_id)
);