-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdatabase.sql
155 lines (124 loc) · 4.45 KB
/
database.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
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
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";
CREATE TABLE booking (
booking_id int(11) NOT NULL,
start_date datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
end_date datetime NOT NULL,
extras_price int(11) NOT NULL DEFAULT '0',
rooms_price int(11) NOT NULL DEFAULT '0',
total_price int(11) NOT NULL DEFAULT '0',
paid int(1) NOT NULL DEFAULT '0',
paid_date datetime NOT NULL,
customer_id int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE booking_extra (
booking_extra_id int(11) NOT NULL,
purchase_date datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
quantity int(3) NOT NULL DEFAULT '1',
extra_id int(11) NOT NULL,
booking_id int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE booking_room (
booking_room_id int(11) NOT NULL,
people int(2) NOT NULL DEFAULT '1',
booking_id int(11) NOT NULL,
room_id int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE customer (
customer_id int(11) NOT NULL,
title varchar(10) NOT NULL,
first_name tinytext NOT NULL,
last_name tinytext NOT NULL,
business_name tinytext NOT NULL,
email_address tinytext NOT NULL,
phone_number varchar(13) NOT NULL,
address_line_1 tinytext NOT NULL,
address_line_2 tinytext NOT NULL,
town_city tinytext NOT NULL,
post_code varchar(7) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE extra (
extra_id int(11) NOT NULL,
name tinytext NOT NULL,
price int(11) NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO extra (extra_id, name, price) VALUES
(1, 'Traditional Breakfast', 1000),
(2, 'Continental Breakfast', 500),
(3, 'Evening Meal', 2500),
(4, 'Range of Bar Snacks', 1500),
(5, 'Room Service Meal', 3000);
CREATE TABLE room (
room_id int(11) NOT NULL,
room_number varchar(10) NOT NULL,
wheelchair_access int(1) NOT NULL DEFAULT '0',
room_type_id int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO room (room_id, room_number, wheelchair_access, room_type_id) VALUES
(1, '101', 1, 1),
(3, '102', 1, 1),
(4, '103', 1, 1),
(5, '104', 1, 2),
(6, '105', 1, 2),
(7, '106', 1, 3),
(8, '201', 0, 1),
(9, '202', 0, 1),
(10, '203', 0, 1),
(11, '204', 0, 2),
(12, '205', 0, 2),
(13, '206', 0, 3);
CREATE TABLE room_type (
room_type_id int(11) NOT NULL,
name tinytext NOT NULL,
per_night_price int(11) NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO room_type (room_type_id, name, per_night_price) VALUES
(1, 'Single', 4000),
(2, 'Double', 5200),
(3, 'Suite', 9500);
ALTER TABLE booking
ADD PRIMARY KEY (booking_id),
ADD KEY fk_booking_customer (customer_id) USING BTREE;
ALTER TABLE booking_extra
ADD PRIMARY KEY (booking_extra_id),
ADD KEY fk_extra (extra_id),
ADD KEY fl_booking (booking_id);
ALTER TABLE booking_room
ADD PRIMARY KEY (booking_room_id),
ADD KEY fk_booking (booking_id) USING BTREE,
ADD KEY fk_room (room_id);
ALTER TABLE customer
ADD PRIMARY KEY (customer_id);
ALTER TABLE extra
ADD PRIMARY KEY (extra_id);
ALTER TABLE room
ADD PRIMARY KEY (room_id),
ADD KEY fk_room_type (room_type_id) USING BTREE;
ALTER TABLE room_type
ADD PRIMARY KEY (room_type_id);
ALTER TABLE booking
MODIFY booking_id int(11) NOT NULL AUTO_INCREMENT;
ALTER TABLE booking_extra
MODIFY booking_extra_id int(11) NOT NULL AUTO_INCREMENT;
ALTER TABLE booking_room
MODIFY booking_room_id int(11) NOT NULL AUTO_INCREMENT;
ALTER TABLE customer
MODIFY customer_id int(11) NOT NULL AUTO_INCREMENT;
ALTER TABLE extra
MODIFY extra_id int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;
ALTER TABLE room
MODIFY room_id int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=14;
ALTER TABLE room_type
MODIFY room_type_id int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;
ALTER TABLE booking
ADD CONSTRAINT booking_ibfk_1 FOREIGN KEY (customer_id) REFERENCES customer (customer_id);
ALTER TABLE booking_extra
ADD CONSTRAINT booking_extra_ibfk_1 FOREIGN KEY (booking_id) REFERENCES booking (booking_id) ON DELETE CASCADE ON UPDATE CASCADE,
ADD CONSTRAINT booking_extra_ibfk_2 FOREIGN KEY (extra_id) REFERENCES extra (extra_id);
ALTER TABLE booking_room
ADD CONSTRAINT booking_room_ibfk_1 FOREIGN KEY (booking_id) REFERENCES booking (booking_id) ON DELETE CASCADE ON UPDATE CASCADE,
ADD CONSTRAINT booking_room_ibfk_2 FOREIGN KEY (room_id) REFERENCES room (room_id);
ALTER TABLE room
ADD CONSTRAINT room_ibfk_1 FOREIGN KEY (room_type_id) REFERENCES room_type (room_type_id) ON DELETE CASCADE ON UPDATE CASCADE;
COMMIT;