0% found this document useful (0 votes)
20 views42 pages

Normalization Process

The document describes the normalization of a library catalog system database from an unnormalized form to third normal form (3NF). It lists the tables and attributes at each normalization form, including 1NF, 2NF and 3NF. It also identifies the primary keys and foreign keys of each table after normalization.

Uploaded by

pjxzsmgyp5
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as XLSX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views42 pages

Normalization Process

The document describes the normalization of a library catalog system database from an unnormalized form to third normal form (3NF). It lists the tables and attributes at each normalization form, including 1NF, 2NF and 3NF. It also identifies the primary keys and foreign keys of each table after normalization.

Uploaded by

pjxzsmgyp5
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as XLSX, PDF, TXT or read online on Scribd

ISBN Title AuthorIDAuthorFirstName

AuthorLastNamePublisherID
ISBN12345678
Introduction to DB 1 John Smith 1
ISBN87654321
Data Structures 2 Jane Doe 2
ISBN45678901Algorithms 3 Robert Johnson 1

Unnormalized Form: raw data

Library Catalog System (Edition_ID, Edition_Name, Publication_Date, Format, Language_ID, Language

EditionID EditionName PublicationDate

1NF: PK defined + atomic values

FFD: (ISBN, AuthorFName) - Edition_ID, Edition_Name, Publication_Date, Format, Language_ID, Langu

2NF: 1NF + no PD

PD1: ISBN - Title

PD2: AuthorID - Author_Fname, Author_LName, Author_BOD

3NF: 2NF + no TD

TD1: EditionID - EditionName, PublicationDate, Format

TD2: LanguageId - LanguageName

TD3: StatusID - Status

TD4: PublisherID - PublisherName, PublisherContact, PublisherLocation

TD5: GenreID - GenreName, GenreDescription

TD6: ReviewID - Rating, ReviewDate


TD7: MemberID - MemberFName, MemberLName, MemberContact, MemberEmail, MemberAddress,

TD8: LoanID - LoanDate, LoanStatus, ReturnDate, FineAmount, LoanStatus

TD9: ReservationID - ReservationDate, ReservationStatus

TD10: FineID - FineAmount, FineReason, FinePayStatus

TD11: ShelfID - ShelfNumber, ShelfCapacity, ShelfType

TD12: BranchID - BranchName, BranchLocation, BranchContact

TD13: LibrarianID - LibrarianFName, LibrarianLName, LibrarianContact

Table after 1NF:

EditionID EditionName PublicationDate

Tables after 2NF:

PK
ISBN Title 3NF✔

PK
AuthorID AuthorFName AuthorLName

ISBN AuthorID EditionID

Tables after 3NF:

PK
EditionID EditionName PublicationDate

PK
LanguageID LanguageName 3NF✔

PK
StatusID Status 3NF✔

PK
PublisherID PublisherName PublisherContact

PK
GenreID GenreName GenreDescription

PK
ReviewID Rating ReviewDate

PK
MemberID MemberFName MemberLName

PK
LoanID LoanDate DueDate

PK
ReservationID ReservationDate ReservationStatus

PK
FineID FineAmount FineReason

PK
ShelfID ShelfNumber ShelfCapacity

PK
BranchID BranchName BranchLocation

PK
LibrarianID LibrarianFName LibrarianLName

PK PK FK
ISBN AuthorID EditionID

PK
ISBN Title 3NF✔

PK
AuthorID AuthorFName AuthorLName

A list of Primary Keys.

Book_Edition: Each book edition is uniquely identified by its Edition ID.


Language: Language entities are distinguished by their Language_ID.
Availability Status: Availability status records are identified by their Status_ID.
Publisher: Publishers are uniquely identified by their Publisher_ID.
Genre: Genre entities are distinguished by their Genre_ID.
Review: Each review is uniquely identified by its Review_ID.
Book: Books are uniquely identified by their ISBN (International Standard Book Number).
Author: Authors are uniquely identified by their AuthorID.
Member: Each library member is uniquely identified by their Member_ID.
AuthorBookAssociation: The association between authors and books is identified by a composite prim
BookGenreAssociation: The association between books and genre is identified by a composite primary
Loan: Each loan record is uniquely identified by its Loan_ID.
Reservation: Reservations are uniquely identified by their Reservation_ID.
Fine: Fine records are uniquely identified by their Fine_ID.
Shelf: Shelves are uniquely identified by their Shelf ID.
Library Branch: Library branches are uniquely identified by their Branch_ID.
Librarian: Librarians are uniquely identified by their Librarian_ID.
PublisherName GenreID GenreName MemberID
MemberFirstName
MemberLastName
ContactInformation
Akashic Books 1 Technology 101 Alice White 355-567-6544
Dzanc Books 2 Science 102 Bob Green 355-888-765
Graywolf Press 3 Fiction null null null null

Format, Language_ID, Language_Name, Status_ID, Status, Publisher_ID, Publisher_Name, Publisher_Contact, Publisher_Locatio

blicationDate Format LanguageID LanguageName

te, Format, Language_ID, Language_Name, Status_ID, Status, Publisher_ID, Publisher_Name, Publisher_Contact, Publisher_Loc
MemberEmail, MemberAddress, MembershipStatus

Format LanguageID LanguageName StatusID

AuthorBOD 3NF✔

EditionName PublicationDate Format LanguageID

Format 3NF✔
PublisherLocation 3NF✔

3NF✔

3NF✔

MemberContact MemberEmail MemberAddress MembershipStatus

ReturnDate FineAmount LoanStatus 3NF✔

3NF✔

FinePayStatus 3NF✔

ShelfType 3NF✔

BranchContact 3NF✔

LibrarianContact 3NF✔

FK FK FK FK
LanguageID StatusID PublisherID GenreID

AuthorBOD 3NF✔
rd Book Number).

identified by a composite primary key consisting of the foreign keys BookID and AuthorID.
entified by a composite primary key consisting of the foreign keys BookID and GenreID.
MembershipStatus LoanID LoanDate DueDate ReturnDate FineAmountReservationID
Active 201 1/1/2023 1/15/2023 1/10/2023 $5.00 301
Suspended 202 2/1/2023 2/15/2023 null null 302
null null null null null null null

her_Contact, Publisher_Location, Genre_ID, Genre_Name, Genre_Description, Review_ID, Rating, Review_Date, Title, AuthorID

StatusID Status PublisherID PublisherName

ublisher_Contact, Publisher_Location, Genre_ID, Genre_Name, Genre_Description, Review_ID, Rating, Review_Date, Title, Auth
Status PublisherID PublisherName

LanguageName StatusID Status


embershipStatus 3NF✔

FK FK FK
ReviewID MemberID LoanID

A list of Foreign Keys.

Edition_ID (Potentially a foreign key linking to Book table)


Language_ID (Potentially a foreign key linking to Book table)
Availability_Status_ID (Potentially a foreign key linking to Book table)
Publisher_ID (Potentially a foreign key linking to Book table)
Genre_ID (Potentially a foreign key linking to Book table)
Review_ID (Potentially a foreign key linking to Book and Member tables)
ISBN (Potentially a foreign key linking to Author, Reservation, Shelf table)
Member_ID (Potentially a foreign key linking to Fine, Reservation, Loan table)
Branch_ID (Potentially a foreign key linking to Member, Librarian, Shelf table)
Author_ID (Potentially a foreign key linking to Author table)
ReservationDate Status ShelfID ShelfNumber Location Capacity LibraryBranchID
3/1/2023 Pending 501 101 Main 100 1
3/5/2023 Active 502 201 East 50 2
null null null null null null null

ng, Review_Date, Title, AuthorID, Author_FName, Author_LName, Author_BOD, Member_ID, Member_FName, Member_Lnam

blisherName PublisherContact PublisherLocation GenreID

Rating, Review_Date, Title, AuthorFName, Author_LName, Author_BOD, Member_ID, Member_FName, Member_Lname, Mem
PublisherContact PublisherLocation GenreID GenreName

PublisherID PublisherName PublisherContact PublisherLocation


FK FK FK FK
ReservationID FineID ShelfID BranchID
ISBNNumberCoverImageID EditionID LanguageID StatusID
1 1 2 1 1
2 1 3 1 2
3 1 1 1 3

Member_FName, Member_Lname, Member_Contact, Member_Email, Member_Address, Membership_Status, AuthorBookAsso

GenreName GenreDescription ReviewID Rating

_FName, Member_Lname, Member_Contact, Member_Email, Member_Address, Membership_Status, AuthorBookAssociation_


GenreDescription ReviewID Rating

blisherLocation GenreID GenreName GenreDescription


FK
LibrarianID 3NF✔
bership_Status, AuthorBookAssociation_ID, BookGenreAssociation_ID, Loan_ID, Due_Date, Return_Date, Fine_Amount, Loan_S

ReviewDate ISBN Title

Status, AuthorBookAssociation_ID, BookGenreAssociation_ID, Loan_ID, Due_Date, Return_Date, Fine_Amount, Loan_Status, R


PK1 PK2
ReviewDate ISBN Title AuthorID

ReviewID Rating ReviewDate MemberID


urn_Date, Fine_Amount, Loan_Status, Reservation_ID, Reservation_Date, Reservation_Status, ISBN, Fine_ID, Fine_Amount, Fine

AuthorID AuthorFName AuthorLName AuthorBOD

e, Fine_Amount, Loan_Status, Reservation_ID, Reservation_Date, Reservation_Status, Fine_ID, Fine_Amount, Fine_Reason, Fin


AuthorFName AuthorLName AuthorBOD

MemberFName MemberLName MemberContact


SBN, Fine_ID, Fine_Amount, Fine_Reason, Fine_Pay_Status, Shelf_ID, Shelf_Number, Shelf_Capacity, Shelf_Type, Branch_ID, Br

MemberID MemberFName MemberLName

Fine_Amount, Fine_Reason, Fine_Pay_Status, Shelf_ID, Shelf_Number, Shelf_Capacity, Shelf_Type, Branch_ID, Branch_Name, B


MemberID MemberFName MemberLName MemberContact

MemberEmail MemberAddress MembershipStatus LoanID


acity, Shelf_Type, Branch_ID, Branch_Name, Branch_Location, Branch_Contact, Librarian_ID, Librarian_FName, Librarian_LNam

MemberContact MemberEmail MemberAddress MembershipStatus

pe, Branch_ID, Branch_Name, Branch_Location, Branch_Contact, Librarian_ID, Librarian_FName, Librarian_LName, Librarian_C


emberContact MemberEmail MemberAddress MembershipStatus

LoanDate DueDate ReturnDate


brarian_FName, Librarian_LName, Librarian_Contact)

embershipStatus LoanID LoanDate DueDate

e, Librarian_LName, Librarian_Contact)
LoanID LoanDate DueDate ReturnDate

FineAmount LoanStatus ReservationID ReservationDate


ReturnDate FineAmount LoanStatus ReservationID
FineAmount LoanStatus ReservationID

servationDate ReservationStatus FineID FineAmount


servationID ReservationDate ReservationStatus FineID
ReservationDate ReservationStatus FineID FineAmount

FineReason FinePayStatus ShelfID ShelfNumber


FineAmount FineReason FinePayStatus ShelfID
FineReason FinePayStatus ShelfID

elfNumber ShelfCapacity ShelfType BranchID


ShelfNumber ShelfCapacity ShelfType
ShelfNumber ShelfCapacity ShelfType BranchID

BranchName BranchLocation BranchContact LibrarianID


BranchID BranchName BranchLocation BranchContact
BranchName BranchLocation BranchContact

LibrarianFName LibrarianLName LibrarianContact


anchContact LibrarianID LibrarianFName LibrarianLName
LibrarianID LibrarianFName LibrarianLName LibrarianContact
LibrarianContact
rarianContact 2NF✔

You might also like