Changes between Version 11 and Version 12 of ERModel
- Timestamp:
- 02/04/26 19:33:38 (5 days ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ERModel
v11 v12 7 7 8 8 == Diagram 9 [[Image( wedding_planner_version5.png, width=100%)]]9 [[Image(Wedding_Planner_Verison5.png, width=100%)]] 10 10 11 11 == Data requirements … … 17 17 18 18 Candidate keys: 19 19 20 user_id – selected as the primary key because it is system-generated, stable, and unique 21 20 22 email – candidate key because it is unique per user, but not chosen as primary since it may change 21 23 22 24 Attributes: 25 23 26 user_id – numeric, required 27 24 28 first_name – text, required 29 25 30 last_name – text, required 31 26 32 email – text, required, valid email format 33 27 34 phone_number – text, optional 35 28 36 gender – text, optional 37 29 38 birthday – date, optional 30 39 … … 35 44 36 45 Candidate keys: 46 37 47 wedding_id – selected as the primary key as a unique system-generated identifier 38 48 39 49 Attributes: 50 40 51 wedding_id – numeric, required 41 date – date, required 52 53 date – date, required 54 42 55 budget – numeric, optional 56 43 57 notes – text, optional 58 44 59 type – text, optional 60 45 61 status – text, optional 46 62 … … 51 67 52 68 Candidate keys: 69 53 70 event_id – selected as the primary key because it uniquely identifies each event 54 71 55 72 Attributes: 73 56 74 event_id – numeric, required 75 57 76 event_type – text, required 58 date – date, required 77 78 date – date, required 79 59 80 start_time – time, required 81 60 82 end_time – time, required 83 61 84 status – text, required 62 85 … … 67 90 68 91 Candidate keys: 92 69 93 response_id – selected as the primary key because it uniquely identifies each RSVP record 70 94 71 95 Attributes: 96 72 97 response_id – numeric, required 73 status – text, required 98 99 status – text, required 100 74 101 response_date – date, required 75 102 … … 80 107 81 108 Candidate keys: 109 82 110 guest_id – selected as the primary key 83 111 84 112 Attributes: 113 85 114 guest_id – numeric, required 115 86 116 first_name – text, required 117 87 118 last_name – text, required 119 88 120 email – text, optional 89 121 … … 94 126 95 127 Candidate keys: 128 96 129 attendance_id – selected as the primary key 97 130 98 131 Attributes: 132 99 133 attendance_id – numeric, required 100 status – text, required 134 135 status – text, required 136 101 137 table_number – numeric, optional 138 102 139 role – text, required 103 140 … … 108 145 109 146 Candidate keys: 147 110 148 venue_id – selected as the primary key 111 149 112 150 Attributes: 151 113 152 venue_id – numeric, required 153 114 154 name – text, required 155 115 156 location – text, required 157 116 158 city – text, required 159 117 160 address – text, required 161 118 162 capacity – numeric, required 163 119 164 menu – text, optional 165 120 166 phone_number – text, optional 167 121 168 price_per_guest – numeric, required 122 169 … … 127 174 128 175 Candidate keys: 176 129 177 type_id – selected as the primary key 130 178 131 179 Attributes: 180 132 181 type_id – numeric, required 182 133 183 type_name – text, required 134 184 … … 139 189 140 190 Candidate keys: 191 141 192 booking_id – selected as the primary key 142 193 143 194 Attributes: 195 144 196 booking_id – numeric, required 145 date – date, required 197 198 date – date, required 199 146 200 start_time – time, required 201 147 202 end_time – time, required 148 status – text, required 203 204 status – text, required 205 149 206 price – numeric, required 150 207 … … 155 212 156 213 Candidate keys: 214 157 215 photographer_id – selected as the primary key 158 216 159 217 Attributes: 218 160 219 photographer_id – numeric, required 220 161 221 name – text, required 222 162 223 email – text, required 224 163 225 phone_number – text, required 226 164 227 price_per_hour – numeric, required 165 228 … … 170 233 171 234 Candidate keys: 235 172 236 booking_id – selected as the primary key 173 237 174 238 Attributes: 239 175 240 booking_id – numeric, required 176 date – date, required 241 242 date – date, required 243 177 244 start_time – time, required 245 178 246 end_time – time, required 247 179 248 status – text, required 180 249 … … 185 254 186 255 Candidate keys: 256 187 257 band_id – selected as the primary key 188 258 189 259 Attributes: 260 190 261 band_id – numeric, required 262 191 263 band_name – text, required 264 192 265 genre – text, required 266 193 267 equipment – text, optional 268 194 269 phone_number – text, required 270 195 271 price_per_hour – numeric, required 196 272 … … 201 277 202 278 Candidate keys: 279 203 280 booking_id – selected as the primary key 204 281 205 282 Attributes: 283 206 284 booking_id – numeric, required 207 date – date, required 285 286 date – date, required 287 208 288 start_time – time, required 289 209 290 end_time – time, required 291 210 292 status – text, required 211 293 … … 216 298 217 299 Candidate keys: 300 218 301 church_id – selected as the primary key 219 302 220 303 Attributes: 304 221 305 church_id – numeric, required 306 222 307 name – text, required 308 223 309 location – text, required 310 224 311 contact – text, required 225 312 … … 230 317 231 318 Candidate keys: 319 232 320 priest_id – selected as the primary key 233 321 234 322 Attributes: 323 235 324 priest_id – numeric, required 325 236 326 name – text, required 327 237 328 contact – text, required 238 329 … … 242 333 243 334 One User can organize multiple Weddings (1:N) 335 244 336 Each Wedding belongs to exactly one User (mandatory) 245 337 … … 247 339 248 340 One Wedding can have multiple Events (1:N) 341 249 342 Each Event belongs to exactly one Wedding 250 343 … … 252 345 253 346 One Wedding can invite multiple Guests (1:N) 347 254 348 Each Guest is associated with one Wedding 255 349 … … 257 351 258 352 Guests can RSVP to multiple Events and Events can have multiple RSVPs (M:N) 353 259 354 Event_RSVP stores RSVP status and response date 260 355 … … 262 357 263 358 Guests can attend multiple Events and Events can have multiple Attendance records (M:N) 359 264 360 Attendance stores role, seating, and attendance status 265 361 … … 267 363 268 364 One Wedding can have multiple Venue_bookings 365 269 366 One Venue can be booked multiple times 367 270 368 Constraint: no overlapping bookings for the same Venue 271 369 … … 273 371 274 372 One Wedding can have multiple Band_bookings 373 275 374 Constraint: no overlapping bookings for the same Band 276 375 … … 278 377 279 378 One Wedding can have multiple Photographer_bookings 379 280 380 Constraint: no overlapping bookings for the same Photographer 281 381 … … 283 383 284 384 Each Wedding is associated with exactly one Church (1:1) 385 285 386 A Church cannot be assigned to more than one Wedding at the same date and time 286 387 … … 288 389 289 390 v0.1 – Initial ER model 391 290 392 v0.2 – Updated Church–Wedding relationship 393 291 394 v0.3 – Refined Church–Wedding constraints 395 292 396 v0.4 – Fourth version of the ER model with refined Church–Wedding relationship 397 293 398 v0.5 – Final version of the ER model with improved clarity, consistency, and full alignment with the relational database design
