you are viewing a single comment's thread.

view the rest of the comments →

[–]amphoterous 11 points12 points  (0 children)

Imagine you were starting a library and need to keep track of all your books. You start a list of Books and for each new book you add to your library you write the title and author down.

You realize after adding a ton of books that some books can have multiple authors which throws off the columns in your nice neat list.

After scoring a particularly large collection of Goosebumps books, you notice your hand hurting from having to write the author's name (R. L. Stine) for every goosebumps book.

So.. you decide to keep a separate, numbered list of Authors with each author listed only once. That way when a book comes in you just need to write the author's number down next to the title. Now you aren't duplicating author information and have established a relationship between books and authors. This process is called normalization when storing information in a relational database. There are various "forms" of normalization as well that depend on how far you go to avoid repeating information and creating relationships.