| | 2 | |
| | 3 | ==== Notation |
| | 4 | |
| | 5 | * Primary keys - underlined and bold |
| | 6 | * NOT NULL attributes - bold |
| | 7 | * Foreign keys - marked with a * after the foreign key name |
| | 8 | * Other attributes - no marking |
| | 9 | |
| | 10 | ==== Tables |
| | 11 | |
| | 12 | - ADMIN ('''__admin_id__''', '''name''', '''email''', '''password''') |
| | 13 | |
| | 14 | - ARCHITECT ('''__architect_id__''', '''full_name''') |
| | 15 | |
| | 16 | - BUILDING ('''__building_id__''', '''name''', '''address''', description, '''admin_id*''') |
| | 17 | |
| | 18 | - DESIGNS ('''__architect_id*__''', '''__building_id*__''') |
| | 19 | |
| | 20 | - FLOOR ('''__floor_id__''', '''floor_number''', '''layout_image''', '''building_id*''', '''admin_id*''') |
| | 21 | |
| | 22 | - UNIT ('''__unit_id__''', '''unit_number''', '''room_number''', '''floor_area''', '''status''', '''price''', image, floorplan, '''vector_image''', '''floor_id*''', '''admin_id*''') |
| | 23 | |
| | 24 | - AGENT ('''__agent_id__''', '''name''', '''email''', '''password''') |
| | 25 | |
| | 26 | - CLIENT ('''__client_id__''', '''name''', '''email''', '''phone''') |
| | 27 | |
| | 28 | - TIMESLOT ('''__timeslot_id__''', '''date''', '''time_start''', '''time_end''', '''status''', '''agent_id*''') |
| | 29 | |
| | 30 | - INQUIRY ('''__inquiry_id__''', '''message''', '''status''', '''created_at''', '''unit_id*''', '''client_id*''' , '''agent_id*''') |
| | 31 | |
| | 32 | - APPOINTMENT ('''__appointment_id__''', '''status''', '''client_id*''', '''unit_id*''', '''timeslot_id*''', '''agent_id*''') |