Überführung einer DB in erste Normalform

Hallo liebe Datenbankexperten,
In einem Buch zum Thema Datenbanken stieß ich auf folgendes Beispiel:
Details zu einer CD-Sammlung sollen in einer Datenbank gespeichert werden. Statt für jeden Datensatz pro CD eine Spalte Songs mit den Titeln mehrere Stücke anzulegen (das hieße eine Verletzung der 1. Normalform) erstellt man besser eine neue Tabelle, die den Identifier der CD erste Tabelle enthält, die Nummer des Titels auf der CD und schließlich den Titel des Songs.
Ist es nicht einfacher, in der ersten Tabelle eine beliebige Anzahl weiterer Spalten „Song1“, „Song2“ bis „SongX“ anzulegen und dort die Titel einzutragen? Damit wäre die Tabelle doch wieder in der ersten Normalform. Falls eine CD nur zwei Stücke enthält, wären die Felder ab „Song3“ eben leer.
Vielen Dank bereits im Voraus für eure Antworten.

Moin, andy_c,

  1. Normalform heißt: keine Wiederholgruppen. Nicht mehr, nicht weniger.

Wenn Du Coverversionen (gleicher Titel, anderer Interpret) suchst, bist Du bei Deinem Entwurf aufgeschmissen. Genau das vermeidet die 1. NF.

Gruß Ralf

Danke für anschauliches Beispiel
Hallo drambeldier,
Danke für dein Beispiel - es macht das Problem meiner Lösung sofort deutlich:
Wenn ich einen beliebigen Songtitel suchen müsste, wäre eine äußerst umständliche Abfrage über mehrer Felder hinweg nötig:

SELECT artist FROM cd\_collection WHERE song1 = 'liedtitel' OR song2 = 'liedtitel' ...

Damit ist mir der Sinn einer zweiten Tabelle für die 1. NF klar.