== Функционални карактеристики и нормализација == '''Functional Dependencies:''' R = { UserID, Name, Surname, Email, Password, PhoneNumber, DateJoined } UserID → Name, Surname, Email, Password, PhoneNumber, DateJoined Анализа на нормализација: 1NF: Сите колони се атомски 2NF: Нема парцијални зависности (UserID е примарен клуч и сите атрибути зависат од него). 3NF: Нема транзитивни зависности. Заклучок: **ApplicationUser** е во BCNF. === === '''Functional Dependencies:''' R = { DestinationID, Name, Country, Description, PopularAttraction, BestTimeToVisit } DestinationID → Name, Country, Description, PopularAttraction, BestTimeToVisit Анализа на нормализација: 1NF: Сите полиња се атомски. 2NF: Сите атрибути зависат целосно од DestinationID. 3NF: Нема транзитивни зависности. Заклучок: **Destination** е во BCNF. === === '''Functional Dependencies:''' R = { AirportID, Name, City, Country, Code } AirportID → Name, City, Country, Code Анализа на нормализација: 1NF: Сите атрибути се атомски. 2NF: Сите атрибути зависат целосно од AirportID. 3NF: Нема транзитивни зависности. Заклучок: **Airport** е во BCNF. === === '''Functional Dependencies:''' R = { FlightID, FlightNumber, DepartureAirport, ArrivalAirport, DepartureTime, ArrivalTime, Duration, Price, AvailableSeats } FlightID → FlightNumber, DepartureAirport, ArrivalAirport, DepartureTime, ArrivalTime, Duration, Price, AvailableSeats Анализа на нормализација: 1NF: Сите атрибути се атомски. 2NF: Сите атрибути зависат целосно од FlightID. 3NF: Нема транзитивни зависности. Заклучок: **Flight** е во BCNF. === === '''Functional Dependencies:''' R = { BookingID, UserID, FlightID, BookingDate, PaymentStatus, TotalCost, SeatNumber } BookingID → UserID, FlightID, BookingDate, PaymentStatus, TotalCost, SeatNumber Анализа на нормализација: 1NF: Сите атрибути се атомски. 2NF: Сите атрибути зависат целосно од BookingID. 3NF: Нема транзитивни зависности. Заклучок: **Booking** е во BCNF. === === '''Functional Dependencies:''' R = { ReviewID, UserID, TargetID, ReviewComment, Rating, Date } ReviewID → UserID, TargetID, ReviewComment, Rating, Date Анализа на нормализација: 1NF: Сите атрибути се атомски. 2NF: Сите атрибути зависат целосно од ReviewID. 3NF: Нема транзитивни зависности. Заклучок: **Review** е во BCNF. === === '''Functional Dependencies:''' R = { PaymentID, BookingID, UserID, PaymentMethod, Amount, TransactionDate, PaymentStatus } PaymentID → BookingID, UserID, PaymentMethod, Amount, TransactionDate, PaymentStatus Анализа на нормализација: 1NF: Сите атрибути се атомски. 2NF: Сите атрибути зависат целосно од PaymentID. 3NF: Нема транзитивни зависности. Заклучок: **Payment** е во BCNF. === === '''Functional Dependencies:''' R = { NotificationID, UserID, Message, Type, DateSent } NotificationID → UserID, Message, Type, DateSent Анализа на нормализација: 1NF: Сите атрибути се атомски. 2NF: Сите атрибути зависат целосно од NotificationID. 3NF: Нема транзитивни зависности. Заклучок: **Notification** е во BCNF. === === '''Functional Dependencies:''' R = { WishlistID, UserID, TargetID, DateAdded } WishlistID → UserID, TargetID, DateAdded Анализа на нормализација: 1NF: Сите атрибути се атомски. 2NF: Сите атрибути зависат целосно од WishlistID. 3NF: Нема транзитивни зависности. Заклучок: **Wishlist** е во BCNF. === === '''Functional Dependencies:''' R = { AdminID, Email } AdminID → Email Анализа на нормализација: 1NF: Сите атрибути се атомски. 2NF: Сите атрибути зависат целосно од AdminID. 3NF: Нема транзитивни зависности. Заклучок: **Administrator** е во BCNF. === === '''Functional Dependencies:''' R = { TicketID, UserID, Subject, Description, Status, DateCreated, DateResolved, AssignedTo } TicketID → UserID, Subject, Description, Status, DateCreated, DateResolved, AssignedTo Анализа на нормализација: 1NF: Сите атрибути се атомски. 2NF: Сите атрибути зависат целосно од TicketID. 3NF: Нема транзитивни зависности. Заклучок: **SupportTicket** е во BCNF.