| 28 | | === 2. Резервации |
| 29 | | || reservation_id || user_id || table_id || restaurant_id || reservation_date || time_from || time_to || number_of_people || |
| 30 | | || 1 || 101 || 11 || 201 || 2025-05-01 || 18:00 || 20:00 || 4 || |
| 31 | | || 2 || 102 || 12 || 202 || 2025-05-02 || 19:30 || 21:00 || 2 || |
| 32 | | || 3 || 103 || 13 || 203 || 2025-05-03 || 17:00 || 18:30 || 3 || |
| | 28 | === 2. Резервации со корисници и маси |
| | 29 | || reservation_id || user_id || table_id || reservation_date || check_in_from || check_in_to || number_of_people || restaurant_id || |
| | 30 | || 1 || 101 || 11 || 2025-05-01 || 18:00 || 20:00 || 4 ||201 || |
| | 31 | || 2 || 102 || 12 || 2025-05-02 || 19:30 || 21:00 || 2 ||202 || |
| | 32 | || 3 || 103 || 13 || 2025-05-03 || 17:00 || 18:30 || 3 ||203 || |
| 93 | | === 3. Историја на резервации |
| 94 | | || reservation_history_id || user_id || table_id || restaurant_id || reservation_date || time_from || time_to || number_of_people || |
| 95 | | || 1 || 101 || 11 || 201 || 2025-05-01 || 18:00 || 20:00 || 4 || |
| 96 | | || 2 || 102 || 12 || 202 || 2025-05-02 || 19:30 || 21:00 || 2 || |
| 97 | | || 3 || 103 || 13 || 203 || 2025-05-03 || 17:00 || 18:30 || 3 || |
| | 93 | === 3. Резервации со корисници и маси |
| | 94 | ||reservation_id || reservation_date || time_from || time_to || number_of_people || user_id || user_name || table_id || table_number || restaurant_id || restaurant_name || restaurant_location |
| | 95 | ||1 || 2025-05-01 ||18:00 ||20:00 ||4 ||101 ||Ana ||11 ||1 ||201 ||Gino’s ||Skopje, Centar|| |
| | 96 | ||2 ||2025-05-02 ||19:30 ||21:00 ||2 ||102 ||Marko ||12 ||2 ||202 ||Sushico ||Skopje, Karposh|| |
| | 97 | ||3 ||2025-05-03 ||17:00 ||18:30 ||3 ||103 ||Elena ||13 ||3 ||203 ||Bella Italia ||Skopje, Aerodrom|| |
| 99 | | Во оваа релација, restaurant_id се повторува иако е функционски зависен од table_id, бидејќи секоја маса припаѓа на еден ресторан. |
| 100 | | |
| 101 | | ---- |
| 102 | | |
| 103 | | '''Функциски зависности:''' |
| 104 | | * reservation_history_id → user_id, table_id, restaurant_id, date, time, duration |
| 105 | | |
| 106 | | * table_id → restaurant_id |
| 107 | | |
| 108 | | '''Анализа на зависности:''' |
| 109 | | Само лево (детерминанти): |
| 110 | | * reservation_history_id |
| 111 | | |
| 112 | | * table_id |
| 113 | | |
| 114 | | Само десно (зависни атрибути): |
| 115 | | * restaurant_id, user_id, date, time, duration |
| 116 | | |
| 117 | | ---- |
| 118 | | |
| 119 | | Канонична покривка: |
| 120 | | Од reservation_history_id може да се добијат сите атрибути, затоа е кандидат клуч. |
| 121 | | |
| 122 | | ---- |
| 123 | | |
| 124 | | '''Анализа на нормализација:''' |
| 125 | | |
| 126 | | Прва нормална форма (1НФ): |
| 127 | | |
| 128 | | Сите атрибути се атомски, нема листи или вложени структури. '''Задоволена.''' |
| 129 | | |
| 130 | | Втора нормална форма (2НФ): |
| 131 | | |
| 132 | | Клучот е едноставен (reservation_history_id), па нема парцијални зависности. '''Задоволена.''' |
| 133 | | |
| 134 | | Трета нормална форма (3НФ): |
| 135 | | |
| 136 | | Се појавува транзитивна зависност: |
| 137 | | |
| 138 | | reservation_history_id → table_id → restaurant_id |
| 139 | | |
| 140 | | Значи, restaurant_id е транзитивно зависен од примарниот клуч (reservation_history_id), и '''релацијата не е во 3НФ.''' |
| 141 | | |
| 142 | | ----Декомпозиција: |
| 143 | | R1: Reservation (без дупликација на restaurant_id) |
| 144 | | |
| 145 | | * R1(reservation_history_id, user_id, table_id, date, time, duration) |
| 146 | | |
| 147 | | R2: Table (со поврзаност со ресторан) |
| 148 | | |
| 149 | | * R2(table_id, restaurant_id) |
| 150 | | |
| 151 | | ---- |
| 152 | | |
| 153 | | '''Финална анализа''' |
| 154 | | * Нема дуплицирање. |
| 155 | | |
| 156 | | * restaurant_id може да се добие преку JOIN со Table. |
| | 99 | R = { |
| | 100 | reservation_id, reservation_date, time_from, time_to, number_of_people, |
| | 101 | user_id, user_name, |
| | 102 | table_id, table_number, |
| | 103 | restaurant_id, restaurant_name, restaurant_location |
| | 104 | } |