-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathACart.sql
More file actions
107 lines (96 loc) · 3.62 KB
/
ACart.sql
File metadata and controls
107 lines (96 loc) · 3.62 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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
CREATE TABLE users (
id SERIAL PRIMARY KEY,
name TEXT UNIQUE NOT NULL,
role TEXT NOT NULL,
age INT CHECK (age > 0),
state TEXT
);
CREATE TABLE states (
id SERIAL PRIMARY KEY,
name TEXT NOT NULL
);
CREATE TABLE roles (
id SERIAL PRIMARY KEY,
name TEXT NOT NULL
);
CREATE TABLE categories (
id SERIAL PRIMARY KEY,
name TEXT UNIQUE NOT NULL,
description TEXT
);
CREATE TABLE products (
id SERIAL PRIMARY KEY,
name TEXT UNIQUE NOT NULL,
SKU TEXT UNIQUE NOT NULL,
categoryid INT NOT NULL,
price DECIMAL CHECK (price > 0) NOT NULL,
FOREIGN KEY (categoryid) REFERENCES categories(id)
);
CREATE TABLE orders (
id SERIAL PRIMARY KEY,
totalprice FLOAT NOT NULL,
cardnumber TEXT NOT NULL,
userid INT NOT NULL,
FOREIGN KEY (userid) REFERENCES users(id)
);
CREATE TABLE orders_products (
id SERIAL PRIMARY KEY,
orderid INT NOT NULL,
productid INT NOT NULL,
amount INT CHECK (amount > 0) NOT NULL,
FOREIGN KEY (orderid) REFERENCES orders(id),
FOREIGN KEY (productid) REFERENCES products(id)
);
INSERT INTO states (name) values ('Alabama');
INSERT INTO states (name) values ('Alaska');
INSERT INTO states (name) values ('Arizona');
INSERT INTO states (name) values ('Arkansas');
INSERT INTO states (name) values ('California');
INSERT INTO states (name) values ('Colorado');
INSERT INTO states (name) values ('Connecticut');
INSERT INTO states (name) values ('Delaware');
INSERT INTO states (name) values ('District of Columbia');
INSERT INTO states (name) values ('Florida');
INSERT INTO states (name) values ('Georgia');
INSERT INTO states (name) values ('Hawaii');
INSERT INTO states (name) values ('Idaho');
INSERT INTO states (name) values ('Illinois');
INSERT INTO states (name) values ('Indiana');
INSERT INTO states (name) values ('Iowa');
INSERT INTO states (name) values ('Kansas');
INSERT INTO states (name) values ('Kentucky');
INSERT INTO states (name) values ('Louisiana');
INSERT INTO states (name) values ('Maine');
INSERT INTO states (name) values ('Maryland');
INSERT INTO states (name) values ('Massachusetts');
INSERT INTO states (name) values ('Michigan');
INSERT INTO states (name) values ('Minnesota');
INSERT INTO states (name) values ('Mississippi');
INSERT INTO states (name) values ('Missouri');
INSERT INTO states (name) values ('Montana');
INSERT INTO states (name) values ('Nebraska');
INSERT INTO states (name) values ('Nevada');
INSERT INTO states (name) values ('New Hampshire');
INSERT INTO states (name) values ('New Jersey');
INSERT INTO states (name) values ('New Mexico');
INSERT INTO states (name) values ('New York');
INSERT INTO states (name) values ('North Carolina');
INSERT INTO states (name) values ('North Dakata');
INSERT INTO states (name) values ('Ohio');
INSERT INTO states (name) values ('Oklahoma');
INSERT INTO states (name) values ('Oregon');
INSERT INTO states (name) values ('Pennsylvania');
INSERT INTO states (name) values ('Rhode Island');
INSERT INTO states (name) values ('South Carolina');
INSERT INTO states (name) values ('South Dakota');
INSERT INTO states (name) values ('Tennessee');
INSERT INTO states (name) values ('Texas');
INSERT INTO states (name) values ('Utah');
INSERT INTO states (name) values ('Vermont');
INSERT INTO states (name) values ('Virginia');
INSERT INTO states (name) values ('Washington');
INSERT INTO states (name) values ('West Virginia');
INSERT INTO states (name) values ('Wisconsin');
INSERT INTO states (name) values ('Wyoming');
INSERT INTO roles (name) values ('Owner');
INSERT INTO roles (name) values ('Customer');