Can someone please clarify data normalization? Do you know the different levels? When must i "p-normalize"? Can One over normalize? I've got a table with countless records, but I over-stabilized it, but I am unsure.
For those who have million posts you most likely under-stabilized it.
What normalizing means is the fact that
every non-key attribute "must provide a well known fact concerning the key, the entire key, and absolutely nothing the answer.Inch
For those who have a column that is dependent on not the important thing, you need to normalize your table.
Added to resolve comment:
For those who have ProductID ProductType ProductTypeID, where ProdcutTypeID is dependent only on ProductType, you need to create a new table for your:
ProductID ProductTypeID and alternatively table: ProductTypeID ProductTypeName .
To answer your question, relating to Product is not accurate enough, during my example in the first situation, I had been relating towards the Product too. All posts should pertain only to ProductID (you might say you only describe product, although not explaining other things, even when it's associated with product - that's accurate).
Quantity of rows, in most cases is not relevent.
Normalization is all about reducing data duplication inside a relational database. Typically the most popular level is third normal form (it is the one referred to by "the important thing, the entire key, and absolutely nothing the answerInch), but you will find lot of different levels, see the Wikipedia entry for a listing from the primary ones. (Used people appear to consider they are succeeding to attain third normal form.) Denormalizing means accepting more data duplication, typically in return for better performance.
As others stated Database normalization is all about decrease in data duplication and much more generic data models (that may easily response to queries unpredicted at design time). Normalisation of the database is allow a proper enough process. When you're played around with you mostly follow data analysis techniques and obtain a stabilized database in the finish.
Normalizing database is generally a wise decision, but there's a catch. In lots of situation it involve development of new tables and JOIN associations between tables. JOIN may possess a (very) high end cost at runtime, henceforth for large volumes of information you might want to denormalize.
Another cost can also be the necessity to write more complicated demands to accessibility data you'll need which can generate problems for SQL beginners. The very best idea is most likely to stay with normalization anyway (Third Normal Form is generally enough, as there's several amounts of normalization as others stated) and also to are more skilled with SQL.