-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathScript.sql
63 lines (58 loc) · 1.82 KB
/
Script.sql
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
/**
* @ author : Kavishka Prabath
* @ since : 0.1.0
**/
DROP DATABASE IF EXISTS supermarket;
CREATE DATABASE IF NOT EXISTS supermarket;
SHOW DATABASES ;
USE supermarket;
DROP TABLE IF EXISTS customer;
CREATE TABLE IF NOT EXISTS customer(
custId VARCHAR(6) NOT NULL,
custTitle VARCHAR(5) NOT NULL,
custName VARCHAR(30) NOT NULL DEFAULT 'Unknown',
custAddress VARCHAR(30) NOT NULL,
city VARCHAR(20) NOT NULL,
province VARCHAR(20) NOT NULL,
postalCode VARCHAR(9) NOT NULL,
CONSTRAINT PRIMARY KEY (custId)
);
SHOW TABLES ;
DESCRIBE customer;
DROP TABLE IF EXISTS orders;
CREATE TABLE IF NOT EXISTS orders(
orderId VARCHAR(15) NOT NULL ,
custId VARCHAR(15) NOT NULL ,
orderDate DATE DEFAULT NULL,
orderTime TIME,
total DECIMAL(8,2),
CONSTRAINT PRIMARY KEY (orderId),
CONSTRAINT FOREIGN KEY (custId) REFERENCES customer (custId) ON DELETE CASCADE ON UPDATE CASCADE
);
SHOW TABLES ;
DESCRIBE orders;
DROP TABLE IF EXISTS item;
CREATE TABLE IF NOT EXISTS item(
itemCode VARCHAR(6) NOT NULL ,
description VARCHAR(50) NOT NULL ,
packSize VARCHAR(20) NOT NULL ,
unitPrice DECIMAL(10,2) NOT NULL ,
qtyOnHand INT(5) NOT NULL ,
discount INT(5) NOT NULL DEFAULT 0,
CONSTRAINT PRIMARY KEY (itemCode)
);
SHOW TABLES ;
DESCRIBE item;
DROP TABLE IF EXISTS order_detail;
CREATE TABLE IF NOT EXISTS order_detail(
orderId VARCHAR(15) NOT NULL ,
itemCode VARCHAR(15) NOT NULL ,
orderQty INT(11) NOT NULL ,
discount DECIMAL(6,2) NOT NULL ,
unitPrice decimal(10,2) DEFAULT NULL,
CONSTRAINT PRIMARY KEY (orderId, itemCode),
CONSTRAINT FOREIGN KEY (itemCode) REFERENCES item (itemCode) ON DELETE CASCADE ON UPDATE CASCADE ,
CONSTRAINT FOREIGN KEY (orderId) REFERENCES orders (orderId) ON DELETE CASCADE ON UPDATE CASCADE
);
SHOW TABLES ;
DESCRIBE order_detail;