== Функционални карактеристики и нормализација === 1. Менаџирање на мени и тагови (Menu, MenuTag) Првична релација (не нормализирана): R = {menu_id, restaurant_id, item_name, category, price, description, dietaryInformation} 1. "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. 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, UserID, TableID } Објаснување: Информацијата за време, датум, број на луѓе и статус останува во R1. Поврзаноста помеѓу членот (UserID) и масата (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.