-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDDL_Script.sql
More file actions
116 lines (96 loc) · 2.95 KB
/
DDL_Script.sql
File metadata and controls
116 lines (96 loc) · 2.95 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
use newhotelbookingsystem;
CREATE TABLE hotel (
hotel_id INT AUTO_INCREMENT PRIMARY KEY,
hotel_name VARCHAR(50),
hotel_location VARCHAR(50),
hotel_contact_number VARCHAR(20),
hotel_rating DECIMAL(3,2),
hotel_email_id VARCHAR(50)
);
CREATE TABLE room (
room_id INT AUTO_INCREMENT PRIMARY KEY,
room_no INT,
room_type VARCHAR(20),
bed_type VARCHAR(20),
has_bathtub BOOLEAN,
floor_no INT,
has_ac BOOLEAN,
hotel_id INT,
FOREIGN KEY(hotel_id) REFERENCES hotel(hotel_id) ON DELETE CASCADE
);
CREATE TABLE customer (
customer_id INT AUTO_INCREMENT PRIMARY KEY,
customer_name VARCHAR(20),
customer_contact_number VARCHAR(20),
customer_email_id VARCHAR(20),
customer_age INT,
customer_gender ENUM('male','female','other')
);
CREATE TABLE employee (
employee_id INT AUTO_INCREMENT PRIMARY KEY,
employee_name VARCHAR(20),
employee_contact_number VARCHAR(20),
employee_email_id VARCHAR(20),
employee_age INT,
employee_gender ENUM('male','female','other'),
hotel_id INT,
FOREIGN KEY(hotel_id) REFERENCES hotel(hotel_id) ON DELETE CASCADE
);
CREATE TABLE service (
service_id INT AUTO_INCREMENT PRIMARY KEY,
service_name VARCHAR(20)
);
CREATE TABLE bill (
bill_id INT AUTO_INCREMENT PRIMARY KEY,
bill_type ENUM('Digital','Paper'),
bill_amount INT,
customer_id INT,
FOREIGN KEY(customer_id) REFERENCES customer(customer_id) ON DELETE CASCADE
);
CREATE TABLE booking (
booking_id INT AUTO_INCREMENT PRIMARY KEY,
booking_amount INT,
booking_date DATE,
check_in_date DATE,
check_out_date DATE,
no_of_adults INT,
no_of_child INT,
booking_status ENUM('completed', 'pending'),
customer_id INT,
employee_id INT,
room_id INT,
hotel_id INT,
FOREIGN KEY(customer_id) REFERENCES customer(customer_id) ON DELETE CASCADE,
FOREIGN KEY(employee_id) REFERENCES employee(employee_id) ON DELETE CASCADE,
FOREIGN KEY(room_id) REFERENCES room(room_id) ON DELETE CASCADE,
FOREIGN KEY(hotel_id) REFERENCES hotel(hotel_id) ON DELETE CASCADE
);
ALTER TABLE bill
ADD booking_id INT,
ADD FOREIGN KEY(booking_id) REFERENCES booking(booking_id) ON DELETE CASCADE;
ALTER TABLE booking
ADD bill_id INT,
ADD FOREIGN KEY(bill_id) REFERENCES bill(bill_id) ON DELETE CASCADE;
CREATE TABLE hotel_customer(
hotel_customer_id INT PRIMARY KEY,
customer_rating DECIMAL(3,2),
hotel_id INT, customer_id INT,
FOREIGN KEY(hotel_id) REFERENCES hotel(hotel_id) ON DELETE CASCADE,
FOREIGN KEY(customer_id) REFERENCES customer(customer_id)ON DELETE CASCADE);
CREATE TABLE hotel_service(
hotel_service_id INT PRIMARY KEY,
hotel_id INT,
service_id INT,
service_time VARCHAR(20),
service_type VARCHAR(20),
service_price int,
FOREIGN KEY (hotel_id) REFERENCES hotel(hotel_id) ON DELETE CASCADE,
FOREIGN KEY (service_id) REFERENCES service(service_id)ON DELETE CASCADE);
CREATE TABLE booking_service(
booking_service_id INT PRIMARY KEY,
booking_id INT,
service_id INT,
service_rating DECIMAL(3,2),
FOREIGN KEY(booking_id) REFERENCES booking(booking_id)ON DELETE CASCADE,
FOREIGN KEY(service_id) REFERENCES service(service_id)ON DELETE CASCADE
);