Vinzenz Mai: grundsätzliches zur Tabellengöße

Beitrag lesen

Hallo baccu

ich mache mir gerade Gedanken über die Tabellen meiner Datenbank und finde keine Hilfe zu einem grundsätzlichen Thema:
Ich baue eine Adresstabelle auf in der neben den Grunddaten (Name, Adresse, Tel. usw.) auch andere tiefgreifendere Eigenschaften (Hobbys, Lieblingsfilm usw.) gespeichert werden sollen (insgesammt 85 Spalten).

85 Spalten sind meiner Meinung nach zu viel :-)

Schauen wir uns Deine (leider spärlichen) Angaben etwas genauer an:

Name: mindestens zwei Spalten

  • Familienname
  • Vornamen

Adresse

  • kann eine Person mehr als eine Adresse haben und willst Du dies abbilden?
       Wenn ja, Tabelle für Adressen erforderlich (1:n-Beziehung oder sogar n:m)

Tel.

  • Hier gilt prinzipiell das gleiche wie für Adresse
       (n:m würd' ich aber weglassen)

Hobbys

  • kann man grundsätzlich mehrere haben.
  • Das gleiche Hobby haben oft verschiedene Personen
       n:m-Beziehung

Lieblingsfilm

  • Den gleichen Film können mehrere Personen als Lieblingsfilm haben
       Eigene Tabelle Filme und 1:n-Beziehung

Da ich nicht bei jeder Abfrage alle Infos benötige, ist es da sinnvoller die Daten in 2, miteinander in Beziehung stehender Tabellen abzuspeichern oder gibt es Vorteile alles in einer Tabelle zu speichern?

Das was Du hier nennst, kann man gar nicht vernünftig in einer einzigen Tabelle speichern. Hobby1, Hobby2, Hobby3 ist nicht sinnvoll, weil Du eine unnötige künstliche Begrenzung einführst. Gleiches gilt für Filme, ...

Hauptsächlich geht es bei meiner Überlegung um eine möglichst geringe Traffik (wie immer).

Die SELECT-Syntax erlaubt auch andere Abfragen als SELECT * FROM ...
Setze zusätzlich hier an.

Weiterhin gilt, dass verschiedene Datenbankmanagementsysteme auch Begrenzungen für die Größe eines Datensatzes haben. Welche für Dein System gilt, verrät Dir das Handbuch Deines DBMS, das Du vor uns bisher geheim gehalten hast.

Freundliche Grüße

Vinzenz