Programming Assignment Unit 3
Programming Assignment Unit 3
CS 2203-01 - Databases 1
Lutalo Martin
Normalization is a methodical process in database management systems (DBMS) that can reduce
redundancy in data, while at the same time improving overall data integrity by structuring tables
efficiently (GeeksforGeeks, 2024). In normalization, a relation is taken and divided into smaller,
interrelated tables that are based on functional dependencies. The intent in normalization is to
enable data operations including insert, update, and delete while, simultaneously, it is paramount
Books(Book_ID,Title,Author,Genre,Publisher,Publication_Year,ISBN,Price)Books (Book\_ID,
has repeating groups, meaning it doesn’t comply with First Normal Form (1NF).
2. Authors(Book_ID, Author)
3. Genres(Book_ID, Genre)
2. Authors(Author_ID, Name)
3. Book_Authors(Book_ID, Author_ID)
4. Genres(Genre_ID, Name)
5. Book_Genres(Book_ID, Genre_ID)
1. Publishers(Publisher_ID, Publisher_Name)
2. ISBNs(ISBN, Book_ID)
Functional dependencies define the relationship between attributes in a database. They ensure
that each attribute depends entirely on a key attribute, avoiding redundancy and anomalies.
Functional dependencies addressed at each stage
Form
Price)
minimized. For example, instead of storing publisher details within multiple book
(GeeksforGeeks, 2024).
This saves storage space and prevents inconsistencies in duplicate records (CBT
Nuggets, 2021).
For instance, separating ISBNs into a separate table in BCNF ensures that each
book has exactly one ISBN, preventing accidental duplicate ISBN entries.
In lower forms (such as 1NF or 2NF), modifying a piece of data might require
n.d.).
Example: If the publisher’s contact information changes, BCNF ensures that this
update happens in only one table, rather than modifying multiple rows in a Books
table.
Since data is divided into smaller, highly relevant tables, indexing becomes more
Example: Searching for all books by a specific author is quicker when a separate
by adding a new format table, rather than modifying a cluttered Books table.
Since normalization splits data into multiple tables, queries often require complex
Example: Instead of retrieving book details from one table, joining Books,
Maintaining relationships via foreign keys requires additional storage and index
(StudyTonight, n.d.).
Example: Every new book entry involves inserting data into multiple related
2021).
Allen, M. (2024, December 30). DBMS Normalization: 1NF, 2NF, 3NF Database example.
Guru99. https://www.guru99.com/database-normalization.html
CBT Nuggets. (2021, August 15). How to normalize a database Table [Video]. YouTube.
https://www.youtube.com/watch?v=siiYInWniFs
https://www.geeksforgeeks.org/normalization-process-in-dbms/
Normalization in DBMS - 1NF, 2NF, 3NF, BCNF, 4NF and 5NF | StudyTonight. (n.d.).
https://www.studytonight.com/dbms/database-normalization.php
Brown, F. (2024, June 28). Functional Dependency in DBMS: What is, Types and Examples.
Guru99. https://www.guru99.com/dbms-functional-dependency.html