Version 20 (modified by 8 days ago) ( diff ) | ,
---|
Функционални карактеристики и нормализација
Functional Dependencies:
- R = { UserID, Username, FirstName, LastName, Address, Phone, Password, Email, Role }
- UserID → Username, FirstName, LastName, Address, Phone, Password, Email, Role
Анализа на нормализација:
- 1NF: Сите колони се атомски
- 2NF: Бидејќи има само еден атрибут во кандидатскиот клуч (UserID), секој атрибут без клуч е целосно функционално зависен од UserID.
- 3NF: Нема преодни зависности (на пр., ниту еден атрибут без клуч не одредува друг атрибут без клуч).
Заклучок: User се во BCNF.
Потенцијална декомпозиција:
- R1 = { UserID, FirstName, LastName, Address, Phone, Password, Role }
- R2 = { UserID, Email, Username }
Сепак, од практични причини и за да избегнеме прекумерни спојувања при преземање информации за корисникот, ќе ја оставиме оваа табела како што е.
Functional Dependencies:
- R = { MemberID, Expired_Date, Membership_Status, UserID }
- MemberID → Expired_Date, Membership_Status, UserID
- UserID → MemberID (1:1)
Анализа на нормализација:
- 1NF: Сите полиња се атомски.
- 2NF: Секој атрибут без клуч е целосно зависен од MemberID.
- 3НФ: Нема транзитивни зависности.
Заклучок: Member е во BCNF.
Functional Dependencies:
- R = { BookID, ISBN, Title, Genre, PublishedYear, Description, CoverImage, TotalCopies }
- BookID → ISBN, Title, Genre, PublishedYear, Description, CoverImage, TotalCopies
Анализа на нормализација:
- 1NF: Сите атрибути се атомски.
- 2NF: Сите атрибути кои не се клучни зависат целосно од BookID.
- 3НФ: Нема преодни зависности.
Заклучок: Book е во BCNF.
Потенцијална декомпозиција:
- R1 = { BookID, ISBN, TotalCopies, CoverImage }
- R2 = { ISBN, Title, Genre, PublishedYear, Description }
Сепак не е неопходно и може да внесе непотребна сложеност
Functional Dependencies:
- R = { DetailsID, BookID, Format, Language, Publisher, Pages }
- DetailsID → BookID, Format, Language, Publisher, Pages
- BookID → Format, Language, Publisher, Pages (1:1)
Анализа на нормализација:
- 1NF: Сите атрибути се атомски.
- 2NF: Сите атрибути кои не се клучни зависат целосно од DetailsID.
- 3НФ: Нема преодни зависности.
Заклучок: Book_Details е во BCNF.
Functional Dependencies:
- R = { CopyID, BookID, Condition }
- CopyID → BookID, Condition
Анализа на нормализација:
- 1NF: Сите атрибути се атомски.
- 2NF: Сите атрибути кои не се клучни зависат целосно од CopyID.
- 3НФ: Нема преодни зависности.
Заклучок: Book_Copies е во BCNF.
Functional Dependencies:
- R = { AuthorID, FirstName, LastName, Nationality, DateOfBirth, Author_description, Author_image }
- AuthorID → FirstName, LastName, Nationality, DateOfBirth, Author_description, Author_image
Анализа на нормализација:
- 1NF: Сите атрибути се атомски.
- 2NF: Сите атрибути кои не се клучни зависат целосно од AuthorID.
- 3НФ: Нема преодни зависности.
Заклучок: Author е во BCNF.
Functional Dependencies:
- R = { LoanID, LoanDate, ReturnDate, Status, BookCopyID, MemberID }
- LoanID → LoanDate, ReturnDate, Status, BookCopyID, MemberID
Анализа на нормализација:
- 1NF: Сите атрибути се атомски.
- 2NF: Сите атрибути кои не се клучни зависат целосно од LoanID.
- 3НФ: Нема преодни зависности.
Заклучок: Loan е во BCNF.
Functional Dependencies:
- R = { FineID, FineAmount, FineDate, Status, LoanID }
- FineID → FineAmount, FineDate, Status, LoanID
- LoanID → FineID (1:1)
Анализа на нормализација:
- 1NF: Сите атрибути се атомски.
- 2NF: Сите атрибути кои не се клучни зависат целосно од FineID.
- 3НФ: Нема преодни зависности.
Заклучок: Fine е во BCNF.
Functional Dependencies:
- R = { FinePaymentID, PaymentDate, PaymentAmount, FineID }
- FinePaymentID → PaymentDate, PaymentAmount, FineID
Анализа на нормализација:
- 1NF: Сите атрибути се атомски.
- 2NF: Сите атрибути кои не се клучни зависат целосно од FinePaymentID.
- 3НФ: Нема преодни зависности.
Заклучок: FinePayment е во BCNF.