Changes between Version 7 and Version 8 of Normalization
- Timestamp:
- 09/23/25 02:46:35 (2 days ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Normalization
v7 v8 60 60 === Анализа според покривачи 61 61 62 Од функционалните зависности и шемата, можеме да идентификуваме дека релацијата R вклучува различни ентитети кои се поврзани преку надворешни клучеви и делумни зависности. За да го идентификуваме кандидатскиот примарен клуч за целата релација63 R, мора да се осигураме дека: сите не-примарни атрибути се функционално зависни од кандидатскиот примарен клуч и кандидатскиот клуч мора да биде уникатен низ целата релација.64 65 62 Гледајќи ги функционалните зависности и врски, кандидатскиот примарен клуч за целата релација R може да се заклучи како: 66 63 67 **{ reservation_id, p_id, service_id, room_number, building_id}**64 **{user_id, building_id, room_number, reservation_id, p_id, service_id}** 68 65 69 - reservation_id: Уникатно идентификува резервација.66 - user_id е потребен за да се утврдат атрибутите на корисникот. 70 67 71 - p_id: Уникатно идентификува плаќање.68 - building_id + room_number е потребен за да се утврдат атрибутите на собата. 72 69 73 - service_id: Уникатно идентификува услуга.70 - reservation_id е потребен за да се утврдат атрибутите на резервацијата (и преку резервација → соба може да се утврди соба/зграда, но атрибутите на собата постојат и надвор од резервациите). 74 71 75 - room_number и building_id: Заедно, тие идентификуваат одредена соба во одредена зграда.72 - p_id е потребен за атрибути на плаќање (ниту еден друг FD не го одредува p_id). 76 73 77 Овој сет на атрибути треба да може уникатно да го идентификува секој запис во релацијата R, осигурувајќи дека нема редундантност и нема двосмисленост. 74 - service_id е потребен за атрибути на услугата. 75 76 Дали некои атрибути може да се отстранат поради транзитивност? На пример, reservation_id → (room_number, building_id), па во принцип ако reservation_id постои за сите соби, тогаш reservation_id може да го замени (building_id, room_number). Но, собите постојат независно од резервациите, па затоа не можете да се потпрете на reservation_id за уникатно да ги одредите атрибутите на собата за сите соби. Бидејќи глобалната релација вклучува редови за соби кои не се поврзани со ниедна резервација, клучот-кандидат мора да го вклучува композитниот дел од собата. Затоа е потребен целиот сет на ПК-ви на ентитетите. 78 77 79 78 === Анализа на нормални форми