Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Database normalisation is, at its simplest, a way to minimise data redundancy. To achieve that, certain forms of normalisation exist.</p> <p>First normal form can be summarised as:</p> <ul> <li><em>no repeating groups in single tables.</em></li> <li><em>separate tables for related information.</em></li> <li><em>all items in a table related to the primary key.</em></li> </ul> <p>Second normal form adds another restriction, basically that <em>every column not part of a candidate key must be dependent on every candidate key</em> (a candidate key being defined as a minimal set of columns which cannot be duplicated in the table).</p> <p>And third normal form goes a little further, in that <em>every column not part of a candidate key must not be dependent on any other non-candidate-key column.</em> In other words, it can depend <em>only</em> on the candidate keys. This leads to the saying that 3NF depends on the key, the whole key and nothing but the key, so help me Codd<sup>1</sup>.</p> <p>Note that the above explanations are tailored toward your question rather than database theorists, so the descriptions are necessarily simplified (and I've used phrases like "summarised as" and "basically").</p> <p>The field of database theory is a complex one and, if you truly wish to understand it, you'll eventually have to get to the science behind it. But, in terms of your question, hopefully this will be adequate.</p> <p>Normalization is a valuable tool in ensuring we don't have redundant data (which becomes a real problem if the two redundant areas get out of sync). It doesn't generally increase performance.</p> <p>In fact, although all database should start in 3NF, it's sometimes acceptable to drop to 2NF for performance gains, provided you're aware of, and mitigate, the potential problems.</p> <p>And be aware that there are also "higher" levels of normalisation such as (obviously) fourth, fifth and sixth, but also Boyce-Codd and some others I can't remember off the top of my head. In the vast majority of cases, 3NF should be more than enough.</p> <hr> <p><sup>1</sup> If you don't know who Edgar Codd (or Christopher Date, for that matter) is, you should probably research them, they're the <em>fathers</em> of relational database theory.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload