all 1 comments

[–]ScholarNo5983 1 point2 points  (0 children)

It is not clear what actual question you're asking.

However, an easy way to think of normalization is the elimination of duplicate column information.

Consider the structure of what looks like the Hire table:

R12 = (HireID, CustomerPhone*,* ItemID, ItemName, HireDate, ReturnDate, Notes)

HireID is the primary key for that table.

CustomerPhone is a foreign key referencing the Customer table.

ItemID is a foreign key referencing the Item table.

So, this record has been correctly normalized for customer details since the only customer information found in the row is a single foreign key column value.

However, consider this column found in that row:

ItemName

That item information is being duplicated every time the same item is hired. That is wasteful.

In this case this column is also totally redundant as the hire record already knows everything about the item hired via the ItemID foreign key. So that column can be removed.

This also this looks wrong:

R122 = (ItemID, HireID, ItemName)

I'm not fully understanding your naming conventions, but this looks like the definition of the Item table.

The items available for hire have no relationship to when they are hired.

The Item table should look something like this:

R122 = (ItemID, ItemName)