Version 8 (modified by 3 weeks ago) ( diff ) | ,
---|
Функционални карактеристики и нормализација
1. Reservations
Functional Dependencies:
- R = { ReservationID, TableID, CustomerName, CustomerPhone, Date, TimeSlot, PartySize, Status }
- ReservationID → TableID, CustomerName, CustomerPhone, Date, TimeSlot, PartySize, Status
Анализа на нормализација:
- 1NF: Сите атрибути се атомски (нема листи, групирани вредности).
- 2NF: Пошто има само еден кандидатски клуч (ReservationID), сите други атрибути зависат целосно од него.
- 3NF: Нема преодни зависности меѓу атрибутите.
Заклучок: Reservations е во BCNF.
2. Tables
Functional Dependencies:
- R = { TableID, TableNumber, Capacity, Status }
- TableID → TableNumber, Capacity, Status
Анализа на нормализација:
- 1NF: Атомски атрибути.
- 2NF: Секој атрибут без клуч е целосно зависен од TableID.
- 3NF: Нема преодни зависности.
Заклучок: Tables е во BCNF.
3. Menu
Functional Dependencies:
- R = { MenuItemID, Name, Description, Price, Category }
- MenuItemID → Name, Description, Price, Category
Анализа на нормализација:
- 1NF: Атомски атрибути.
- 2NF: Целосна функционална зависност од MenuItemID.
- 3NF: Нема преодни зависности.
Заклучок: Menu е во BCNF.
4. Reservation_History - Декомпозиција
Functional Dependencies:
- R = { ReservationID, MemberID, TableID, ReservationDate, ReservationTime, NumberOfPeople, Status }
- id → cancellation_reason, check_in_date, party_size, reservation_datetime, special_requests, status, restaurant_id, table_id, customer_id
Потенцијална декомпозиција за подобра организација:
- R1 (Reservation Info) = { ReservationID, ReservationDate, ReservationTime, NumberOfPeople, Status }
- R2 (Reservation Link) = { ReservationID, MemberID, TableID }
Објаснување:
Информацијата за време, датум, број на луѓе и статус останува во R1.
Поврзаноста помеѓу членот (MemberID) и масата (TableID) оди во R2.
5. App_user
Functional Dependencies:
- R = { id, address, email, first_name, last_name, membership_level, password, phone, registration_date, role }
- id → address, email, first_name, last_name, membership_level, password, phone, registration_date, role
Анализа на нормализација:
- 1NF: Сите атрибути се атомски.
- 2NF: Секој атрибут без клуч е целосно зависен од id.
- 3NF: Нема преодни зависности.
Заклучок: app_user е во BCNF.
6. Restaurants
Functional Dependencies:
- R = { restaurantID, address, cuisine_Type, name, operating_Hours, phone, rating, social_media_links, website }
- RestaurantID → Address, Cuisine_Type, Name, operating_Hours, phone, rating, social_media_links, website
Анализа на нормализација:
- 1NF: Сите атрибути се атомски.
- 2NF: Сите зависат од restaurantid.
- 3NF: Нема преодни зависности.
Заклучок: restaurants е во BCNF.