0% found this document useful (0 votes)
262 views3 pages

Questions On Normalization Q.1

The document discusses normalization of relations into first, second, and third normal forms (1NF, 2NF, 3NF). It provides answers to three questions that involve normalizing relations based on functional dependencies. For each question, it identifies the normal form the relation is initially in, explains any partial or transitive dependencies present, and shows how to normalize the relation to higher normal forms by decomposing tables to remove dependencies.

Uploaded by

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

Questions On Normalization Q.1

The document discusses normalization of relations into first, second, and third normal forms (1NF, 2NF, 3NF). It provides answers to three questions that involve normalizing relations based on functional dependencies. For each question, it identifies the normal form the relation is initially in, explains any partial or transitive dependencies present, and shows how to normalize the relation to higher normal forms by decomposing tables to remove dependencies.

Uploaded by

LHK
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Questions on Normalization

Q.1.

Answer:a. Its in 1 NF because no multi valued/composite attribute and no nested relations.

b. not in 2NF because partial dependency due to the FD, salesman#--> commission%, so
commission% is partially dependent on the primary key {car#, salesman#}

Normalizing to 2NF:

Car_Sale

car# salesman# date_sold discount_amt

Salesman

salesman# commission%

c. Still not in 3NF as there is transitive dependency, {car#, salesman#}-->


date_solddiscount_amount.

Normalizing to 3NF:

Salesman

salesman# commission%

Car_Sale

car# salesman# date_sold

Discount_Info

date_sold discount_amt
Q.2. (Book_Title is primary key)

Answer:

a. Its in 2NF. It is already in 1 NF because because no multi valued/composite attribute and no


nested relations. Also it satisfies the conditions for 2NF as there are no partial dependency on
primary key.

b. Applying 3NF because there is transitive dependency due to 2nd and 3rd FD.

Book(Book_title, Authorname, Book_type, Publisher)

Book_price_info(Book_type, List_price)

Authos (Author_name, Author_affil)

** Note: Table names are up to you, you can give any name you want, but it is preferrable to
give meaningful names as I have done above.

Q. 3.

Consider the following relational schema for a library database:

Book (Title, Author, Catalog_no, Publisher, Year, Price, bookCoverType, contractDate)


Collection (Title, Author, Catalog_no)

Assume {Author, Title} is the key for both relations

Additional functional dependencies are


I. Title,Author --> Catalog_no
II. Catalog_no --> Publisher, Year, bookCoverType
III. Publisher, bookCoverType --> Price
IV. Author --> contractDate

a. Explain what normal form the relation is in.


b. Apply normalization until the 3rd NF. State reasons behind each normalization

Answer:

a. It's in 1 NF, because no multi valued/composite attribute and no nested relations.

b. It is not in 2NF as there is partial dependency due to FD IV. Therefore normalizing to 2NF:

Collection(Title,Author,Catalog_no)
Book(Title, Author, Catalog_no, Publisher, Year, Price, bookCoverType)
Author_Info(Author, ContractDate)

Now normalizing to 3NF as there is still transitive dependency in “Book” table due to Fd II and
III.

Collection(Title,Author,Catalog_no)
Author_Info(Author, ContractDate)
Book(Title, Author, Catalog_no)
Catalog(Catalog_no, Publisher, year, bookcovertype)
Price_info(Publisher, bookcovertype, price)

**Important Note: If any attribute is not mentioned in any FD, then by default they will be
dependent on the whole primary key and therefore they should be placed in the original
table.Example given below:

Project_Grade (Project_id, Student_id, student_name, project_title, grade, submission_date,


bonus)

FD1: student_id--> student_name


FD2: project_id-->project_title
FD3: submission_date--> bonus marks

So, it is not mentioned what submission_date or grade depends on, so by default they should
be considered to be fully dependent on entire primary key {project_id, student_id}

Solution:
a. In 1NF, not multivalued/composite attribute or nested relations.
b. FD1 and FD2 cause partial dependencies so not in 2NF. Normalizing to 2NF:

Project_Grade(Project_id, Student_id, grade, submission_date, bonus)


Student(Student_id ,student_name)
Project(Project_id, project_title)

c. FD3 causes transitive dependency, so normalizing to 3NF.


Student(Student_id ,student_name)
Project(Project_id, project_title)
Project_Grade(Project_id, Student_id, grade, submission_date)
Bonus_Info(submission_date, bonus)

You might also like