Академический Документы
Профессиональный Документы
Культура Документы
Business rule
a) One customer can make many orders.
b) Each order maybe in charged by one staff
c) One customers can reserve many tables and one table can be reserved by many
customers.
d) One order may include many foods
e) One order may include many drinks
f) One order has one receipt.
Data dictionary
Table Name
Attribute
Contents
Type
Format
Range
Required
Name
PK
FK
Or FK
reference
Table
CUSTOMER
Cus_ID
Customer ID
Integer
99999
Cus_Fname
Customer First
Varchar(20)
XXXXX
Cus_Lname
name
Varchar(20)
XXXX
Customer
Varchar(10)
0123456
T_NO
Phone
Table number
Integer
990
1
T_Status
Table status
Char(1)
Y or N
T_Date
Date
dd-mm-
Staff_ID
Staff ID
Integer
99999
Staff_Fname
Varchar(20)
XXXXX
Staff_Lname
Varchar(20)
XXXXX
Staff_Phone
Staff Phone
Varchar(10)
0123456
Cus_ID
Customer ID
Integer
T_NO
Table no
Integer
Cus_ID
Customer ID
Integer
T_NO
Table
Integer
Customer Last
Cus_Phone
TABLE
PK
PK
PK
99999
PK
10
PK
99999
FK
CUSTOMER
10
Y
Y
FK
PK
TABLE
name
yy
STAFF
990
RESERVE
RECEIPT
R_ID
Receipt ID
Integer
1000000
R_DATE
Date of issue
Date
dd-mm-yy
R_TOTAL
Total price
Decimal(5,2)
000.00
FOOD
F_ID
Food ID
Varchar(10)
000
F_name
Food name
Varchar(20)
XXXXXX
F_type
Food type
Varchar(30)
XXXXX
F_price
Food price
Decimal(5,2)
000.00
F-rate
Food rate
Integer
PK
Y
Y
DRINK
INCLUDE
INCLUDES
ORDER
D_ID
Drink ID
Varchar(10)
000
D_name
Drink name
Varchar(20)
XXXXX
D_type
Drink type
Varchar(30)
XXXX
D_price
Drink price
Decimal(5,2)
000.00
D_rate
Drink rate
Integer
Y
Y
Order_ID
Order ID
Integer
0000
PK
F_ID
Food ID
Varchar(10)
000
PK
Order_ID
Order ID
Integer
0000
FK
F_ID
Food ID
Varchar(10)
000
FK
Order_ID
Order ID
Integer
0000
PK
D_ID
Drink ID
Varchar(10)
000
PK
Order_ID
Order ID
Integer
0000
FK
D_ID
Drink ID
Varchar(10)
000
FK
Order_ID
Order ID
Integer
0000
PK
CUS_ID
Customer ID
Integer
99999
FK
CUSTOMER
R_ID
Receipt ID
Integer
000000000
FK
RECEIPT
ORDER
FOOD
ORDER
DRINK
Staff_ID
Staff ID
Intger
99999
Screenshots
Cus_Fname varchar(20),
Cus_Lname varchar(20),
Cus_Phone varchar(10)
);
Insert into CUSTOMER values (10742,'Mohammad','Ali','0113478603');
Insert into CUSTOMER values (10764,'Simon','Chow Jie Han','0134589023');
Insert into CUSTOMER values (11865,'David','Humpson','0145678901');
FK
STAFF
date
);
Insert into TABLE values (1,'Y','12.11.2013');
Insert into TABLE values (2,'Y','12.12.2013');
Insert into TABLE values (3,'Y','19.12.2013');
Insert into TABLE values (4,'N','25.12.2013');
Insert into TABLE values (5,'N','1.1.2014');
select *from TABLE;
integer ,
);
D_name varchar(20),
D_type varchar(30),
D_price decimal(5,2),
D_rate integer);
Insert into DRINK values ('006','Pineapple Juice','Fruit',4.50,5);
Insert into DRINK values ('007','Mocha','Coffee',3.50,2);
Insert into DRINK values ('008','Cappuccino','Coffee',3.50,3);
Insert into DRINK values ('009','Apple Juice','Fruit',4.50,5);
Insert into DRINK values ('010','Hoe Garden','Alcohol',15.50,5);
select *from DRINK;
varchar(10),
varchar(10),
2)create procedure
3) create queries
UPDATE DRINK
SET D_price = D_price * 120 /100
WHERE D_price IN (SELECT D_price FROM DRINK WHERE D_price <=10.00);
4)create view
select D_name,avg(D_price)
from DRINK
GROUP BY D_name
HAVING AVG (D_price)>3;
select F_name,avg(F_price)
from FOOD
GROUP BY F_name
HAVING AVG (F_price) <10;
6)create trigger
7) additional feature
R_ID
integer,
Staff_ID
integer,
PRIMARY KEY(Order_ID),
FOREIGN KEY(Cus_ID) REFERENCES CUSTOMER ON DELETE RESTRICT,
FOREIGN KEY(R_ID) REFERENCES RECEIPT ON DELETE RESTRICT,
FOREIGN KEY(Staff_ID) REFERENCES STAFF ON DELETE RESTRICT);
Insert into ORDER (Cus_ID,R_ID,Staff_ID)values(12367,1234567,44557);
Insert into ORDER (Cus_ID,R_ID,Staff_ID)values(12345,2345323,66347);
select *from ORDER;