| 14 | | Attendance(attendance_id PK, status, role, table_number, guest_id FK, event_id FK) |
| | 20 | Event_RSVP(response_id PK, status, response_date, guest_id FK -> Guest.guest_id, event_id FK -> Event.event_id) |
| | 21 | |
| | 22 | Attendance(attendance_id PK, status, role, table_number NULL, guest_id FK -> Guest.guest_id, event_id FK -> Event.event_id) |
| 21 | | Venue_booking(booking_id PK, date, start_time, end_time, status, price, wedding_id FK, venue_id FK) |
| | 27 | Venue(venue_id PK, name, location, city, address, capacity, menu, phone_number, price_per_guest, type_id FK -> Venue_Type.type_id) |
| | 29 | Venue_booking(booking_id PK, date, start_time, end_time, status, price, wedding_id FK -> Wedding.wedding_id, venue_id FK -> Venue.venue_id) |
| | 30 | |
| | 31 | Band(band_id PK, band_name, genre, equipment, phone_number, price_per_hour) |
| | 32 | |
| | 33 | Band_booking(booking_id PK, date, start_time, end_time, status, wedding_id FK -> Wedding.wedding_id, band_id FK -> Band.band_id) |
| | 34 | |
| | 35 | Photographer(photographer_id PK, name, email UNIQUE, phone_number, price_per_hour) |
| | 36 | |
| | 37 | Photographer_booking(booking_id PK, date, start_time, end_time, status, wedding_id FK -> Wedding.wedding_id, photographer_id FK -> Photographer.photographer_id) |
| | 38 | |
| | 39 | Church(church_id PK, name, location, contact) |
| | 40 | |
| | 41 | Church_booking(booking_id PK, date, start_time, end_time, status, wedding_id FK -> Wedding.wedding_id, church_id FK -> Church.church_id) |
| | 42 | |
| | 43 | Registrar(registrar_id PK, name, contact, location, working_hours) |
| | 44 | |
| | 45 | Registrar_booking(booking_id PK, date, start_time, end_time, status, price, wedding_id FK -> Wedding.wedding_id, registrar_id FK -> Registrar.registrar_id) |
| | 46 | |
| | 47 | Priest(priest_id PK, name, contact) |
| | 48 | (Connected to Church as 1:N if modeled in ER) |
| | 85 | |
| | 86 | CREATE TABLE Venue_Type ( |
| | 87 | type_id INT PRIMARY KEY, |
| | 88 | type_name VARCHAR(50) NOT NULL |
| | 89 | ); |
| | 90 | |
| | 91 | CREATE TABLE Venue ( |
| | 92 | venue_id INT PRIMARY KEY, |
| | 93 | name VARCHAR(100) NOT NULL, |
| | 94 | location VARCHAR(100) NOT NULL, |
| | 95 | city VARCHAR(50) NOT NULL, |
| | 96 | address VARCHAR(150) NOT NULL, |
| | 97 | capacity INT NOT NULL, |
| | 98 | menu TEXT, |
| | 99 | phone_number VARCHAR(20), |
| | 100 | price_per_guest DECIMAL(10,2) NOT NULL, |
| | 101 | type_id INT NOT NULL, |
| | 102 | FOREIGN KEY (type_id) REFERENCES Venue_Type(type_id) |
| | 103 | ); |
| | 104 | |
| | 105 | CREATE TABLE Venue_booking ( |
| | 106 | booking_id INT PRIMARY KEY, |
| | 107 | date DATE NOT NULL, |
| | 108 | start_time TIME NOT NULL, |
| | 109 | end_time TIME NOT NULL, |
| | 110 | status VARCHAR(20) NOT NULL, |
| | 111 | price DECIMAL(10,2) NOT NULL, |
| | 112 | wedding_id INT NOT NULL, |
| | 113 | venue_id INT NOT NULL, |
| | 114 | FOREIGN KEY (wedding_id) REFERENCES Wedding(wedding_id), |
| | 115 | FOREIGN KEY (venue_id) REFERENCES Venue(venue_id) |
| | 116 | ); |