WMGZON/scripts/create_tables.sql

57 lines
1.5 KiB
MySQL
Raw Normal View History

2024-01-01 16:20:44 +00:00
CREATE TABLE IF NOT EXISTS Users (
id INTEGER PRIMARY KEY,
2024-01-02 22:22:14 +00:00
username TEXT NOT NULL UNIQUE,
password TEXT NOT NULL,
2024-01-01 16:20:44 +00:00
first_name TEXT NOT NULL,
last_name TEXT NOT NULL,
email TEXT NOT NULL UNIQUE,
2024-01-02 22:22:14 +00:00
phone TEXT NOT NULL,
2024-01-01 16:20:44 +00:00
role TEXT NOT NULL
);
CREATE TABLE IF NOT EXISTS Categories (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL UNIQUE
);
INSERT INTO Categories (name) VALUES ("Car Parts");
INSERT INTO Categories (name) VALUES ("Animals");
INSERT INTO Categories (name) VALUES ("Sports");
INSERT INTO Categories (name) VALUES ("Books");
INSERT INTO Categories (name) VALUES ("Phones");
INSERT INTO Categories (name) VALUES ("Music");
2024-01-01 16:20:44 +00:00
CREATE TABLE IF NOT EXISTS Products (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
image TEXT NOT NULL,
description TEXT NOT NULL,
2024-01-01 16:20:44 +00:00
cost DECIMAL NOT NULL,
sellerID INTEGER NOT NULL
REFERENCES Users (id)
ON DELETE CASCADE
ON UPDATE NO ACTION,
categoryID INTEGER NOT NULL
REFERENCES Categories (id)
ON DELETE CASCADE
2024-01-10 23:44:59 +00:00
ON UPDATE NO ACTION,
postedDate TIMESTAMP,
quantityAvailable INTEGER DEFAULT 0
2024-01-01 16:20:44 +00:00
);
CREATE TABLE IF NOT EXISTS Orders (
id INTEGER PRIMARY KEY,
sellerID TEXT NOT NULL
REFERENCES Users (id)
2024-01-01 16:20:44 +00:00
ON DELETE NO ACTION
ON UPDATE NO ACTION,
total DECIMAL NOT NULL,
buyerID INTEGER NOT NULL
REFERENCES Users (id)
ON DELETE CASCADE
ON UPDATE NO ACTION,
orderDate DATE NOT NULL
);