P204, Chapter9: First Normal Form

  • Please log in to reply
1 reply to this topic

#1 Haavard


    New Member

  • Members
  • Pip
  • 6 posts
  • Gender:Male
  • Location:Norway

Posted 17 October 2011 - 12:31 PM

At the bottom of the line the author states that the third rule for 1N is satisfied, because the table in Table 9-1 as the column ISBN defined.
ISBN will uniquely identify a book, but it will not uniquely identfy a row in the table as it is constructed in table 9-1.
For starters, both "Emma Brown" and "Darren Ryder" has ordered the book "PHP Cookbook".

Am I missing something, or would we need to use an other Primary Key in Table 9-1?
Of course, I am totally overlooking the fact that the table in Table 9-1 is a useless piece of design:)

#2 a22w


    New Member

  • Members
  • Pip
  • 1 posts

Posted 15 December 2011 - 03:51 AM

Since normalization was one of the things in this book that I already knew, I didn't read the entire section on it. I did, however, read the First Normal Form part since I believe it is a rather hard topic to explain. More or less I wanted to see his approach. Needless to say, I was disappointed. I just felt he brushed over it too quickly and failed to go into great depth.

You are exactly right with your observation. I didn't even notice it. I'm guessing he didn't notice it either. I was more fascinated by his choice to put two authors into the one field. Why would he do this? It would make much more sense to make another column called 'Author 3' although that still isn't good. Furthermore, I see no mention of the space wasted on 'Author 2' in the second row (Dynamic HTML). He does mention in the introduction to normalization about how duplicated data makes the database unnecessarily larger and therefore affects efficiency, but having blank fields has the same effect.

What else really stood out to me was how the 'Cust.address' field fails 1NF rule #2. I do not believe an address can really be classified as a single value but instead a combination of values. Flicking through I see this gets fixed in 2NF but I believe it should have been addressed in 1NF.

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users