0% found this document useful (0 votes)
7 views

ExerciseOnNormalization_01_Spring2024_DPU [Student View]

The document discusses the normalization of two relations: BOOK and KaggleCompetition, detailing their primary keys, functional dependencies, and the process of decomposing them into 1NF, 2NF, and 3NF. For each relation, it confirms whether they are in the respective normal forms and provides the necessary decompositions when they are not. The document emphasizes the importance of eliminating partial and transitive dependencies to achieve higher normalization forms.

Uploaded by

bonisa5819
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

ExerciseOnNormalization_01_Spring2024_DPU [Student View]

The document discusses the normalization of two relations: BOOK and KaggleCompetition, detailing their primary keys, functional dependencies, and the process of decomposing them into 1NF, 2NF, and 3NF. For each relation, it confirms whether they are in the respective normal forms and provides the necessary decompositions when they are not. The document emphasizes the importance of eliminating partial and transitive dependencies to achieve higher normalization forms.

Uploaded by

bonisa5819
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Exercise on Normalization

Just provided a short answer containing the relations with the primary key and
foreign key(s). You obviously need to draw the schema diagram(s).

# 01
Consider the following relation for published books:
BOOK (Book_title, Author_name, Book_type, List_price, Author_affil, Publisher)

The primary key of the relation is underlined. Assume that a book may be written by multiple authors and so
{Book_title, Author_name} is the primary key. Author_affil refers to the affiliation of the author.

Suppose the following additional dependencies exist:


FD1: Book_title → Book_type, List_price, Publisher
FD2: Book_type → List_price
FD3: Author_name → Author_affil

(i) Explain whether this relation is in 1NF. If not, decompose it to 1NF.


Answer : Yes, already in 1NF due to not having any multivalued, composite attributes and nested relations.

(ii) Explain whether the relation of no (i) is in 2NF. If not, decompose it to 2NF.
Answer : No, due to having partial functional dependency.

2NF decomposition :
BOOK0(Book_title, Author_name)
BOOK1(Book_title, Book_type, List_price, Publisher)
BOOK2(Author_name, Author_affil)

(iii) Explain whether the relation of no (ii) is in 3NF. If not, decompose it to 3NF.
Answer : No, due to having transitive functional dependency.

3NF decomposition :
BOOK0(Book_title, Author_name)
BOOK1_1(Book_title, Publisher, Book_type)
BOOK1_2(Book_type, List_price)
BOOK2(Author_name, Author_affil)
Just provided a short answer containing the relations with the primary key and
foreign key(s). You obviously need to draw the schema diagram(s).

# 02
Consider the following relation:

KaggleCompetition (Username, Team_ID, Team_Name, User_OfficialName, Competition_ID, Competition_Title,


Competition_Dataset, Base_Amount, Final_Amount, Team_Lead, Competition_Year, Competition_Title_Sponsor,
Competition_Banner)

The primary key of the relation is underlined.


Suppose the following additional dependencies exist:

FD1: Username → User_OfficialName, Competition_ID, Competition_Title, Competition_Dataset, Base_Amount


FD2: Team_ID → Team_Name, Team_Lead
FD3: Competition_ID → Competition_Title, Competition_Dataset

(i) Explain whether this relation is in 1NF. If not, decompose it to 1NF.


Answer : Yes, already in 1NF due to not having any multivalued, composite attributes and nested relations.

(ii) Explain whether the relation of no (i) is in 2NF. If not, decompose it to 2NF.
Answer : No, due to having partial functional dependency.

2NF decomposition :

KaggleCompetition1 (Username, Team_ID, Final_Amount, Competition_Year, Competition_Title_Sponsor,


Competition_Banner)

KaggleCompetition2 (Username, User_OfficialName, Competition_ID, Competition_Title, Competition_Dataset,


Base_Amount)

KaggleCompetition3 (Team_ID, Team_Name, Team_Lead)

(iii) Explain whether the relation of no (ii) is in 3NF. If not, decompose it to 3NF.
Answer : No, due to having transitive functional dependency.

3NF decomposition :

KaggleCompetition1 (Username, Team_ID, Final_Amount, Competition_Year, Competition_Title_Sponsor,


Competition_Banner)

KaggleCompetition2_1 (Username, User_OfficialName, Competition_ID, Base_Amount)

KaggleCompetition2_2 (Competition_ID, Competition_Title, Competition_Dataset)

KaggleCompetition3 (Team_ID, Team_Name, Team_Lead)

You might also like