forked from verngutz/Earthshaker
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup.sql
More file actions
156 lines (133 loc) · 4.37 KB
/
Copy pathsetup.sql
File metadata and controls
156 lines (133 loc) · 4.37 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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
CREATE TABLE staff
(
staffid INT NOT NULL AUTO_INCREMENT,
stafflastname VARCHAR(20) NOT NULL,
stafffirstname VARCHAR(20) NOT NULL,
CONSTRAINT staff_pk PRIMARY KEY(staffid)
);
ALTER TABLE staff AUTO_INCREMENT = 10000000;
CREATE TABLE delivery
(
deliveryid INT NOT NULL AUTO_INCREMENT,
deliverydate DATE NOT NULL,
deliverytime TIME NOT NULL,
staffid INT NOT NULL,
supplier VARCHAR(20) NOT NULL,
CONSTRAINT delivery_pk PRIMARY KEY(deliveryid),
CONSTRAINT delivery_fk_staff FOREIGN KEY(staffid) REFERENCES staff(staffid)
);
ALTER TABLE delivery AUTO_INCREMENT = 20000000;
CREATE TABLE clients
(
clientid INT NOT NULL AUTO_INCREMENT,
clientname VARCHAR(20) NOT NULL,
CONSTRAINT client_pk PRIMARY KEY(clientid)
);
ALTER TABLE client AUTO_INCREMENT = 30000000;
CREATE TABLE salesagent
(
agentid INT NOT NULL AUTO_INCREMENT,
agentlastname VARCHAR(20) NOT NULL,
agentfirstname VARCHAR(20) NOT NULL,
clientid INT,
CONSTRAINT agent_pk PRIMARY KEY(agentid),
CONSTRAINT agent_fk_client FOREIGN KEY(clientid) REFERENCES client(clientid)
);
ALTER TABLE salesagent AUTO_INCREMENT = 40000000;
CREATE TABLE invoice
(
invoiceno INT NOT NULL AUTO_INCREMENT,
invoicedate DATE NOT NULL,
agentid INT NOT NULL,
CONSTRAINT invoice_pk PRIMARY KEY(invoiceno),
CONSTRAINT invoice_fk FOREIGN KEY (agentid) REFERENCES salesagent(agentid)
);
ALTER TABLE invoice AUTO_INCREMENT = 50000000;
CREATE TABLE batch
(
batchno INT NOT NULL AUTO_INCREMENT,
batchdate DATE NOT NULL,
agentid INT NOT NULL,
issuer VARCHAR(20) NOT NULL,
CONSTRAINT batch_pk PRIMARY KEY(batchno),
CONSTRAINT batch_fk_agent FOREIGN KEY(agentid) REFERENCES salesagent(agentid)
);
ALTER TABLE batch AUTO_INCREMENT = 60000000;
CREATE TABLE item
(
itemcode INT NOT NULL AUTO_INCREMENT,
description VARCHAR(100),
srp DECIMAL(7,2),
CONSTRAINT item_pk PRIMARY KEY(itemcode)
);
ALTER TABLE item AUTO_INCREMENT = 70000000;
CREATE TABLE discount
(
clientid INT NOT NULL,
itemcode INT NOT NULL,
amount DECIMAL(2,2) NOT NULL,
CONSTRAINT discount_pk PRIMARY KEY(clientid, itemcode),
CONSTRAINT discount_fk_client FOREIGN KEY(clientid) REFERENCES client(clientid),
CONSTRAINT discount_fk_item FOREIGN KEY(itemcode) REFERENCES item(itemcode)
);
CREATE TABLE deliveryxitem
(
deliveryid INT NOT NULL,
itemcode INT NOT NULL,
cost DECIMAL(7,2) NOT NULL,
quantity INT NOT NULL,
CONSTRAINT di_pk PRIMARY KEY(deliveryid, itemcode),
CONSTRAINT di_fk_del FOREIGN KEY(deliveryid) REFERENCES delivery(deliveryid),
CONSTRAINT di_fk_item FOREIGN KEY(itemcode) REFERENCES item(itemcode)
);
CREATE TABLE itemxinvoice
(
itemcode INT NOT NULL,
invoiceno INT NOT NULL,
quantity INT NOT NULL,
cost DECIMAL(7,2) NOT NULL,
CONSTRAINT ii_pk PRIMARY KEY(itemcode, invoiceno),
CONSTRAINT ii_fk_item FOREIGN KEY(itemcode) REFERENCES item(itemcode),
CONSTRAINT ii_fk_invoice FOREIGN KEY(invoiceno) REFERENCES invoice(invoiceno)
);
CREATE TABLE itemxbatch
(
itemcode INT NOT NULL,
batchno INT NOT NULL,
quantity INT NOT NULL,
CONSTRAINT ib_pk PRIMARY KEY(itemcode, batchno),
CONSTRAINT ib_fk_item FOREIGN KEY(itemcode) REFERENCES item(itemcode),
CONSTRAINT ib_fk_batch FOREIGN KEY(batchno) REFERENCES batch(batchno)
);
CREATE TABLE itemreturn
(
batchno INT NOT NULL,
returndate DATE NOT NULL,
CONSTRAINT itemreturn_pk PRIMARY KEY (batchno),
CONSTRAINT itemreturn_fk FOREIGN KEY(batchno) REFERENCES batch(batchno)
);
CREATE TABLE transfer
(
transferno INT NOT NULL AUTO_INCREMENT,
sourcebatch INT NOT NULL,
desbatch INT NOT NULL,
transferdate DATE NOT NULL,
itemcode INT NOT NULL,
quantity INT NOT NULL,
CONSTRAINT transfer_pk PRIMARY KEY(transferno),
CONSTRAINT transfer_fk_sourceb FOREIGN KEY(sourcebatch) REFERENCES batch(batchno),
CONSTRAINT transfer_fk_desb FOREIGN KEY(desbatch) REFERENCES batch(batchno),
CONSTRAINT transfer_fk_item FOREIGN KEY(itemcode) REFERENCES item(itemcode)
);
ALTER TABLE transfer AUTO_INCREMENT = 80000000;
CREATE TABLE manager
(
managerid INT NOT NULL AUTO_INCREMENT,
managerlastname VARCHAR(20) NOT NULL,
managerfirstname VARCHAR(20) NOT NULL,
CONSTRAINT manager_pk PRIMARY KEY(managerid)
);
ALTER TABLE manager AUTO_INCREMENT = 90000000;
INSERT INTO manager (managerlastname, managerfirstname) VALUES('Vitug', 'Fernando');
INSERT INTO staff (stafflastname, stafffirstname) VALUES('Anupol', 'Robin');
INSERT INTO salesagent (agentlastname, agentfirstname, clientid) VALUES('Chua', 'Janine', NULL);