Is this in 1NF

database-designnormalization

I'm an A-level Computer Science student, and my teacher can't explain how to get me from UNF to 1NF. I've researched a little, but I'm not sure as to whether this table (below) is in 1NF or not. I've left the UNF format for you with what I think is the 1NF.

UNF format

UNF

What I think is 1NF

1NF

Best Answer

I think you need to reconsider whether the payment for the dates is done on the hire (or rather the transaction) or the customer.

When thinking about normalization you need to think in terms of properties of an entity rather than something abstract so I want you to think if day in and out, and the paid column are really a property of the customer rather than the transaction (I guess the price of the transaction is a giveaway).

I think, if you think about it that way (entities-properties) you will feel naturally that the price and the dates and the paid go together with the renting transaction rather than the customer. (possibly needing a date for the transaction in the case of returning customers, but that isn't included in your original table)

You might also want to reconsider storing the item name on the transaction instead of just the item number. Items could be a table in itself.

It's usually not abstract theory but what you feel as properties of an object that is right. It's not that much different from class/object design in programming.