Version 15 (modified by 12 days ago) ( diff ) | ,
---|
Функционални карактеристики и нормализација
1. Oпределување на важечките функциски зависности
Тргнуваме од список во кој сите атрибути имаат различни имиња. За таа цел атрибутите кои што имаат исти имиња ги преименувавме. Во продолжение е списокот на атрибути кои што се преименувани.
*id (Кај ентитетот pre_ordered_items) = preorderedItemId
*name (Кај ентитетот pre_ordered_items) = preorderedItemName
*status (Кај ентитетот reservations) = reservationStatus
*id (Кај ентитетот reservations) = reservationHistoryId
*status (Кај ентитетот reservation_history) = reservationStatus
*id (Кај ентиетот menu_tags) = menuTagId
*id (Кај ентитетот users) = userId
*category (Кај ентитетот menus) = menuCategory
*location (Кај ентитетот tables) = tableLocation
1. Менаџирање на мени и тагови (Menu, MenuTag)
Првична релација (не нормализирана):
R = {menu_id, restaurant_id, item_name, category, price, description, dietaryInformation}
- "Margherita Pizza", "Pizza", 12.99, "Classic pizza with mozzarella", Vegetarian:Yes
Функциски зависности:
menu_id → item_name, category, price, description, restaurant_id (секој menu_id ја определува информацијата за јадењето)
menu_id, tag_name → tag_value (комбинацијата на мени и таг дава одредена вредност)
Декомпозиција во 3НФ:
R1 = {menu_id, restaurant_id, item_name, category, price, description} (Menu)
R2 = {id, menu_id, tag_name, tag_value} (MenuTag)
2. 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, UserID, TableID }
Објаснување:
Информацијата за време, датум, број на луѓе и статус останува во R1.
Поврзаноста помеѓу членот (UserID) и масата (TableID) оди во R2.