Changes between Version 4 and Version 5 of Нормализација и подобрувања на дизајнот на базата


Ignore:
Timestamp:
04/28/25 15:30:05 (3 days ago)
Author:
173067
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Нормализација и подобрувања на дизајнот на базата

    v4 v5  
    77|| 2 || Stefani Jovanoska || Sjovanoska123@gmail.com || Sjovanoska123!!! || 078123321 || 27.4.2025 ||
    88
    9 R = { UserID, Name, Surname, Email, Password, PhoneNumber, DateJoined }
    10 
    11 Функциски зависности:
    12 
    13 UserID → Name, Surname, Email, PhoneNumber, Password, DateJoined
    14 
    15 Email → UserID (email мора да биде уникатен)
    16 
    17 PhoneNumber → UserID (ако е еден-на-еден релација)
    18 
    19 
    20 
    21 1NF: атомски вредности
    22 2NF: сите зависности се од целиот клуч UserID
    23 3NF: Email и PhoneNumber функционално зависат од UserID, значи нема транзитивни зависности.
    24 
    25 R1 = { UserID , Name, Surname, Email, PhoneNumber, Password, DateJoined }
    26 
    27 R2 = { Email , UserID }
    28 
    29 R3 = { PhoneNumber , UserID }
    30 
    31 
    32 Можна декомпозиција:
    33 R1:{ (UserID, Name, Surname, DateJoined}
    34 R2:{(UserID, Email, PhoneNumber, Password}
     9R = { **UserID**, Name, Surname, Email, Password, PhoneNumber, DateJoined }\\
     10
     11
     12Функциски зависности:\\
     13
     14
     15**UserID** → Name, Surname, Email, PhoneNumber, Password, DateJoined\\
     16**Email** → UserID (email мора да биде уникатен)\\
     17**PhoneNumber** → UserID (ако е еден-на-еден релација)\\
     18
     19
     20
     211NF: атомски вредности\\
     222NF: сите зависности се од целиот клуч UserID\\
     233NF: Email и PhoneNumber функционално зависат од UserID, значи нема транзитивни зависности.\\
     24
     25R1 = { **UserID** , Name, Surname, Email, PhoneNumber, Password, DateJoined }\\
     26R2 = { Email , **UserID** }\\
     27R3 = { PhoneNumber , **UserID** }\\
     28
     29
     30Можна декомпозиција:\\
     31R1:{ (UserID, Name, Surname, DateJoined}\\
     32R2:{(UserID, Email, PhoneNumber, Password}\\
    3533________________________________________
    3634
     
    4341
    4442
    45 R = { DestinationID, Name, Country, Description, PopularAttraction, BestTimeToVisit }
    46 
    47 Функционални зависности:
    48 DestinationID → Name, Country, Description, PopularAttraction, BestTimeToVisit
    49 
    50 R1:{ DestinationID , Name, Country, Description, PopularAttraction, BestTimeToVisit }
    51 
    52 
    53 1NF: сите атрибути се атомски
    54 2NF: сите атрибути зависат целосно од примарниот клуч
    55 3NF: бидејќи нема транзитивни зависности
    56 BCNF: сите детерминанти се супер-клучеви
    57 Заклучок: Нема потреба за дополнителна декомпозиција
    58 
    59 
    60 ________________________________________
    61 3. Airport Нормализација
     43R = { **DestinationID**, Name, Country, Description, PopularAttraction, BestTimeToVisit }\\
     44
     45Функционални зависности:\\
     46**DestinationID** → Name, Country, Description, PopularAttraction, BestTimeToVisit\\
     47
     48R1:{ **DestinationID** , Name, Country, Description, PopularAttraction, BestTimeToVisit }\\
     49
     50
     511NF: сите атрибути се атомски\\
     522NF: сите атрибути зависат целосно од примарниот клуч\\
     533NF: бидејќи нема транзитивни зависности\\
     54BCNF: сите детерминанти се супер-клучеви\\
     55Заклучок: Нема потреба за дополнителна декомпозиција \\
     56
     57
     58________________________________________\\
     593. Airport Нормализација\\
    6260
    6361
     
    6765
    6866
    69 R = { AirportID, Name, City, Country, Code }
    70 Функционални зависности:
    71 AirportID → Name, City, Country, Code
    72 Code → AirportID (ако е уникатен код, што реално е во авионска индустрија)
    73 
    74 1NF : сите атрибути се атомски
    75 2NF : сите атрибути зависат целосно од примарниот клуч
    76 
    77 3NF: бидејќи нема транзитивни зависности
    78 BCNF : AirportID е супер-клуч
    79 
    80 Можна декомпозиција (ако Code е уникатен):
    81 R1:{ (AirportID, Name, City, Country}
    82 R2:{ (AirportID, Code}
    83 
    84 
    85 
    86 Заклучок:
    87 Табелата Flight е целосно нормализирана и се наоѓа во 1NF, 2NF, 3NF и BCNF.
    88 
    89 
    90 ________________________________________
    91 Booking Нормализација:
     67R = { **AirportID**, Name, City, Country, Code }\\
     68
     69Функционални зависности:\\
     70
     71**AirportID** → Name, City, Country, Code\\
     72
     73Code → AirportID (ако е уникатен код, што реално е во авионска индустрија)\\
     74
     75
     761NF : сите атрибути се атомски\\
     772NF : сите атрибути зависат целосно од примарниот клуч\\
     78
     793NF: бидејќи нема транзитивни зависности\\
     80BCNF : AirportID е супер-клуч\\
     81
     82Можна декомпозиција (ако Code е уникатен):\\
     83R1:{ (AirportID, Name, City, Country}\\
     84R2:{ (AirportID, Code}\\
     85
     86
     87
     88Заклучок:\\
     89Табелата Flight е целосно нормализирана и се наоѓа во 1NF, 2NF, 3NF и BCNF.\\
     90
     91
     92________________________________________\\
     93Booking Нормализација:\\
    9294
    9395
     
    9799|| 2 || 2 || 2 || 1.2.2025 || Ok || 100 || 2||
    98100
    99  R = { BookingID, UserID, FlightID, BookingDate, PaymentStatus, TotalCost, SeatNumber }
    100 Функциски зависности:
    101 BookingID → UserID, FlightID, BookingDate, PaymentStatus, TotalCost, SeatNumber
    102 1NF:Сите атрибути содржат атомски вредности.
    103 2NF:Сите не-клучни атрибути зависат целосно од примарниот клуч BookingID.
    104 3NF:Нема транзитивни зависности — сите атрибути зависат директно од BookingID.
    105 BCNF: супер-клуч (BookingID).
    106 Заклучок:
    107 Табелата Booking е во 1NF, 2NF, 3NF и BCNF.
    108 ________________________________________
    109 Review  Нормализација:
     101 R = { BookingID, UserID, FlightID, BookingDate, PaymentStatus, TotalCost, SeatNumber } \\
     102Функциски зависности:\\
     103BookingID → UserID, FlightID, BookingDate, PaymentStatus, TotalCost, SeatNumber\\
     1041NF:Сите атрибути содржат атомски вредности.\\
     1052NF:Сите не-клучни атрибути зависат целосно од примарниот клуч BookingID.\\
     1063NF:Нема транзитивни зависности — сите атрибути зависат директно од BookingID.\\
     107BCNF: супер-клуч (BookingID).\\
     108Заклучок:\\
     109Табелата Booking е во 1NF, 2NF, 3NF и BCNF.\\
     110________________________________________\\
     111Review  Нормализација:\\
    110112
    111113
     
    114116|| 2 || 2 || 2 || ок || 5 || 1.2.2025 ||
    115117
    116 R = { ReviewID, UserID, TargetID, ReviewComment, Rating, Date }
    117 Функциски зависности:
    118 ReviewID → UserID, TargetID, ReviewComment, Rating, Date
    119 1NF:Сите атрибути се атомски.
    120 2NF:Сите атрибути зависат целосно од примарниот клуч ReviewID.
    121 3NF:Нема транзитивни зависности.
    122 BCNF:
    123 ReviewID е супер-клуч за сите останати атрибути.
    124 Заклучок:
    125 Табелата Review е во 1NF, 2NF, 3NF и BCNF.
    126 ________________________________________
    127 Payment Нормализација :
     118R = { ReviewID, UserID, TargetID, ReviewComment, Rating, Date }\\
     119Функциски зависности:\\
     120ReviewID → UserID, TargetID, ReviewComment, Rating, Date\\
     1211NF:Сите атрибути се атомски.\\
     1222NF:Сите атрибути зависат целосно од примарниот клуч ReviewID.\\
     1233NF:Нема транзитивни зависности.\\
     124BCNF:\\
     125ReviewID е супер-клуч за сите останати атрибути.\\
     126Заклучок:\\
     127Табелата Review е во 1NF, 2NF, 3NF и BCNF.\\
     128________________________________________\\
     129Payment Нормализација :\\
    128130
    129131|| PaymentID || BookingID || UserID || PaymentMethod || Amount || TransactionDate || PaymentStatus ||
     
    132134
    133135
    134 R = { PaymentID, BookingID, UserID, PaymentMethod, Amount, TransactionDate, PaymentStatus }
    135 Функциски зависности:
    136 PaymentID → BookingID, UserID, PaymentMethod, Amount, TransactionDate, PaymentStatus
    137 1NF:Сите атрибути содржат атомски вредности.
    138 2NF:Сите атрибути зависат целосно од PaymentID.
    139 3NF:Нема транзитивни зависности.
    140 BCNF:PaymentID е супер-клуч за останатите атрибути.
    141 Заклучок:
    142 Табелата Payment е во 1NF, 2NF, 3NF и BCNF.
    143 ________________________________________
    144 Notification Нормализација:
     136R = { PaymentID, BookingID, UserID, PaymentMethod, Amount, TransactionDate, PaymentStatus }\\
     137Функциски зависности:\\
     138PaymentID → BookingID, UserID, PaymentMethod, Amount, TransactionDate, PaymentStatus\\
     1391NF:Сите атрибути содржат атомски вредности.\\
     1402NF:Сите атрибути зависат целосно од PaymentID.\\
     1413NF:Нема транзитивни зависности.\\
     142BCNF:PaymentID е супер-клуч за останатите атрибути.\\
     143Заклучок:\\
     144Табелата Payment е во 1NF, 2NF, 3NF и BCNF.\\
     145________________________________________\\
     146Notification Нормализација:\\
    145147
    146148
     
    150152
    151153
    152 R = { NotificationID, UserID, Message, Type, DateSent }
    153 Функциски зависности:
    154 NotificationID → UserID, Message, Type, DateSent
    155 1NF:Атомски вредности.
    156 2NF:Целосна зависност од NotificationID.
    157 3NF:Нема транзитивни зависности.
    158 BCNF:NotificationID е супер-клуч.
    159 Заклучок: Табелата Notification е во 1NF, 2NF, 3NF и BCNF.
    160 ________________________________________
    161 Wishlist Нормализација:
     154R = { NotificationID, UserID, Message, Type, DateSent }\\
     155Функциски зависности:\\
     156NotificationID → UserID, Message, Type, DateSent\\
     1571NF:Атомски вредности.\\
     1582NF:Целосна зависност од NotificationID.\\
     1593NF:Нема транзитивни зависности.\\
     160BCNF:NotificationID е супер-клуч.\\
     161Заклучок: Табелата Notification е во 1NF, 2NF, 3NF и BCNF.\\
     162________________________________________\\
     163Wishlist Нормализација:\\
    162164
    163165
     
    167169
    168170
    169 R = { WishlistID, UserID, TargetID, DateAdded }
    170 Функциски зависности:
    171 WishlistID → UserID, TargetID, DateAdded
    172 1NF:Атомски атрибути.
    173 2NF:Целосна зависност од WishlistID.
    174 3NF:Нема транзитивни зависности.
    175 BCNF:
    176 WishlistID е супер-клуч.
    177 Заклучок:
    178 Табелата Wishlist е во 1NF, 2NF, 3NF и BCNF.
    179 ________________________________________
    180 Administrator Нормализација :
     171R = { WishlistID, UserID, TargetID, DateAdded }\\
     172Функциски зависности:\\
     173WishlistID → UserID, TargetID, DateAdded\\
     1741NF:Атомски атрибути.\\
     1752NF:Целосна зависност од WishlistID.\\
     1763NF:Нема транзитивни зависности.\\
     177BCNF:\\
     178WishlistID е супер-клуч.\\
     179Заклучок:\\
     180Табелата Wishlist е во 1NF, 2NF, 3NF и BCNF.\\
     181________________________________________\\
     182Administrator Нормализација :\\
    181183
    182184|| AdminID || Email ||
     
    185187
    186188
    187 R = { AdminID, Email }
    188 Функциски зависности:
    189 AdminID → Email
    190 1NF:Сите атрибути се атомски.
    191 2NF:Целосна зависност од AdminID.
    192 3NF:Нема транзитивни зависности.
    193 BCNF:AdminID е супер-клуч.
    194 Заклучок:
    195 Табелата Administrator е во 1NF, 2NF, 3NF и BCNF.
    196 ________________________________________
    197 SupportTicket Нормализација:
     189R = { AdminID, Email }\\
     190Функциски зависности:\\
     191AdminID → Email\\
     1921NF:Сите атрибути се атомски.\\
     1932NF:Целосна зависност од AdminID.\\
     1943NF:Нема транзитивни зависности.\\
     195BCNF:AdminID е супер-клуч.\\
     196Заклучок:\\
     197Табелата Administrator е во 1NF, 2NF, 3NF и BCNF.\\
     198________________________________________\\
     199SupportTicket Нормализација:\\
    198200
    199201|| TicketID || UserID || Subject || Description || Status || DateCreated || DateResolved || AssignedTo ||
     
    203205
    204206
    205 R = { TicketID, UserID, Subject, Description, Status, DateCreated, DateResolved, AssignedTo }
    206 Функциски зависности:
    207 TicketID → UserID, Subject, Description, Status, DateCreated, DateResolved, AssignedTo
    208 1NF:Атомски вредности.
    209 2NF:Сите атрибути зависат целосно од TicketID.
    210 3NF:Нема транзитивни зависности.
    211 BCNF:TicketID е супер-клуч.
    212 Заклучок:
    213 Табелата SupportTicket е во 1NF, 2NF, 3NF и BCNF.
    214 
    215 
    216 
     207R = { TicketID, UserID, Subject, Description, Status, DateCreated, DateResolved, AssignedTo }\\
     208Функциски зависности:\\
     209TicketID → UserID, Subject, Description, Status, DateCreated, DateResolved, AssignedTo\\
     2101NF:Атомски вредности.\\
     2112NF:Сите атрибути зависат целосно од TicketID.\\
     2123NF:Нема транзитивни зависности.\\
     213BCNF:TicketID е супер-клуч.\\
     214Заклучок:\\
     215Табелата SupportTicket е во 1NF, 2NF, 3NF и BCNF.\\
     216
     217
     218