-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDatabase
308 lines (155 loc) · 3.58 KB
/
Database
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
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
The definition of our problem lies in manual system and a fully automated system.
Manual system: It is very inconvenient to always go to the salon and wait in the queue during the busy hours.Moreover, one doesn’t even know if the specific salon provides the services ,the customer requires.
Technical system: With the advent of latest technology if we do not update our system thenOur business results in losses gradually with time. We have developed a web application to book appointment online. This will not only saver the efforts of the customer but also show him the services beforehand. He will also get to know more information about the salons nearby him. This way our web application will help the customer make an informed decision.
RELATIONAL DATA BASE DESIGN:
1] Customer:-
cust_email
(PK)
city
fname
lname
address
cust_password
gender
2] appointment:-
appointment_id
(PK)
status
completed
total_cost
cust_email
(FK)
sal_email
(FK)
appt_date
appt_time
3]Salon:-
sal_email
(PK)
sal_name
sal_city
sal_password
sal_contact
sal_address
noOfSeats
approved
rating
noOfRatings
4] Services:-
service_name
(PK)
service_cost
service_duration
sal_email
(FK)
5] Catalog:-
(appt_date, appt_time, sal_email) – Composite Key
appt_date
(PK)
appt_time
(PK)
sal_email
(FK)
noOfSeats
6] Contains:-
(Service, appt_id) – Composite Key
Service
(FK)
appt_id
(FK)
duration
cost
DATABASE NORMALIZATION
First Normal Form:-
The relation is in 1NF if it has no repeating groups. All tables has no repeating groups so they are in 1NF.
Tables:-
1] Customer:-
cust_email
(PK)
city
fname
lname
address
cust_password
gender
2] appointment:-
appointment_id
(PK)
status
completed
total_cost
cust_email
(FK)
sal_email
(FK)
appt_date
appt_time
Second Normal Form
A relation is said to be in second normal form if it is already in first normal form and it has no partial dependency
Foreign Key references the primary key of another Table.This helps in referential integrity i.e. only those values can be present in the referenced table which are already present in the parent table.
In appointment table, attributes sal_email and cust_email are foreign keys and they reference sal_email of salon table and cust_email of customer table ,respectively.
1] Customer:-
cust_email
(PK)
city
fname
lname
address
cust_password
gender
2] appointment:-
appointment_id
(PK)
status
completed
total_cost
cust_email
(FK)
sal_email
(FK)
appt_date
appt_time
3]Salon:-
sal_email
(PK)
sal_name
sal_city
sal_password
sal_contact
sal_address
noOfSeats
approved
rating
noOfRatings
Third Normal Form
A relation is said to be in third normal form if it is already in 1st and 2nd NF and has no transitive dependency.
A transitive functional dependency is when changing a non-key column, might cause any of the other non-key columns to change
3NF is used to reduce the data duplication. It is also used to achieve the data integrity.
If there is no transitive dependency for non-prime attributes, then the relation must be in third normal form.
appointment:-
appointment_id
(PK)
status
completed
total_cost
cust_email
(FK)
sal_email
(FK)
appt_date
appt_time
Services:-
service_name
(PK)
service_cost
service_duration
sal_email
(FK)
Contains:-
(Service, appt_id) – Composite Key
Service
(FK)
appt_id
(FK)
duration
cost