Normalisation for database ER diagram

1.1k Views Asked by At

Currently im trying to do an assignment question which is assigned to me which is asking me the normalization process. im aware of the 3 normal form. but im stuck with the 3rd normalisation form because i feel that im going to get the similar answer. if i did a mistake in my 1NF and 2NF please let me know. Can someone guide me with my 3NF form?

UNF:

Employee_Id, Employee_Gender, Employee_Position, Employee_Name, Employee_First, Employee_Last, Member_Id, Member_ Name, Member_ First, Member_ Last, Member_ Feedback, Location_Branch_Id, Dvd_Branch_Stock, Branch_Location, Location_Area, DVD_Id, DVD_Title, DVD_Quantity, DVD_Genres, DVD_Released_Date, Rental_ID, Rental_Borrowed_Date, Rental_Due_Date, Rental_Overdue, Rental_Dvd_Title,Rental_Status

1NF:

Employee_Id Employee_Gender Employee_Position

Employee_Id Employee_Name Employee_First Employee_Last

Member_Id Member_ Feedback

Member_Id Member_ Name Member_ First Member_ Last

Location_Branch_Id Location_Area

Location_Branch_Id Dvd_Branch_Stock Branch_Location

DVD_Id, DVD_Quantity

DVD_Id DVD_Title DVD_Genres DVD_Released_Date

Rental_ID Rental_Dvd_Title

Rental_ID Rental_Borrowed_Date Rental_Due_Date Rental_Overdue Rental_Status

2NF:

Employee_Id Employee_Gender Employee_Position

Employee_Id Employee_Name

Employee_Name Employee_First Employee_Last

Member_Id Member_ Feedback

Member_Id Member_ Name

Member_ Name Member_ First Member_ Last

Location_Branch_Id Location_Area

Location_Branch_Id Dvd_Branch_Stock

Dvd_Branch_Stock Branch_Location

DVD_Id, DVD_Quantity

DVD_Id DVD_Title

DVD_Title DVD_Genres DVD_Released_Date

Rental_ID Rental_Dvd_Title

Rental_ID Rental_Borrowed_Date

Rental_Borrowed_Date Rental_Due_Date Rental_Overdue Rental_Status

1

There are 1 best solutions below

0
On

I see an issue with the current form of Employee and Member tables.

Those tables still have duplicate data as the field Employee_Last and Employee_First and Employee_Name will likely contain the same data as Member_Last, Member_First and Member_Name 'names which are dependent on the person and not on being a member or employee.

What I can see directly is that you should create a Table Person with ID, Name, First, Last, Gender

PERSON(ID,Name,First,Last,Gender)
EMPLOYEE(ID,Position,Person_ID)
MEMBER(ID,Feedback,Person_ID)

// If a regular member should not give you the gender, you should save the gender in 
the employee table as it is not necessary to know for a regular Person. 

Otherwise, this has to into the Person Table. -->Normally the gender is Dependant on the Person and not if the person is a member or employee.

For the other tables, I don't know the direct "dependencies" but you could check if the data is in a "useful" state for the solution. Check the other tables so you have the relations right and don't save data as a duplicate. 'Location <-1:N-> Branch <-1:N-> DVD<-1:N->Rental.

Other sources regarding the 3rd normalization form. https://www.1keydata.com/database-normalization/third-normal-form-3nf.php

Hope this helps,

Georg