-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCreateTable.sql
More file actions
82 lines (72 loc) · 1.79 KB
/
Copy pathCreateTable.sql
File metadata and controls
82 lines (72 loc) · 1.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
use [cs320DB]
/* Customer zipcode city
CREATE TABLE Customer_ZC (
zipcode INT NOT NULL,
city VARCHAR(15) NOT NULL,
PRIMARY KEY(zipcode)
);*/
/* Customer address zipcode
CREATE TABLE Customer_AZ (
caddress VARCHAR(100) NOT NULL,
zipcode INT NOT NULL,
PRIMARY KEY(caddress),
FOREIGN KEY (zipcode) REFERENCES Customer_ZC(zipcode)
);*/
/* Customer */
CREATE TABLE Customer (
username VARCHAR(255) NOT NULL,
first_name VARCHAR(15) NOT NULL,
last_name VARCHAR(15) NOT NULL,
phone VARCHAR(12) NOT NULL,
caddress VARCHAR(100) NOT NULL,
PRIMARY KEY (username),
FOREIGN KEY (username) REFERENCES users(email)
);
/* Customers Email
CREATE TABLE Email (
email VARCHAR(320) NOT NULL,
username VARCHAR(15) NOT NULL,
PRIMARY KEY (email),
FOREIGN KEY (username) REFERENCES Customer(username)
);*/
CREATE TABLE Category (
category INT NOT NULL,
category_name VARCHAR(30) NOT NULL,
PRIMARY KEY(category)
);
/* Item */
CREATE TABLE Item (
item_id INT IDENTITY(1, 1) NOT NULL,
item_name TEXT NOT NULL,
category INT NOT NULL,
item_desc TEXT NOT NULL,
stock INT NOT NULL,
price FLOAT NOT NULL,
photo TEXT,
PRIMARY KEY (item_id),
FOREIGN KEY (category) REFERENCES Category (category)
);
/* Basket */
CREATE TABLE Basket (
basket_id INT NOT NULL,
username VARCHAR(15) NOT NULL,
PRIMARY KEY (basket_id),
FOREIGN KEY (username) REFERENCES Customer(username)
);
/* Basket Contains */
CREATE TABLE BContains (
basket_id INT NOT NULL,
item_id INT NOT NULL,
amount INT NOT NULL,
PRIMARY KEY (basket_id, item_id),
FOREIGN KEY (basket_id) REFERENCES Basket(basket_id),
FOREIGN KEY (item_id) REFERENCES Item(item_id)
);
/* History(Sold Baskets) */
CREATE TABLE History (
basket_id INT NOT NULL,
username VARCHAR(255) NOT NULL,
PRIMARY KEY (basket_id),
FOREIGN KEY (basket_id) REFERENCES Basket(basket_id),
FOREIGN KEY (username) REFERENCES users(email)
);