grundsätzliches zur Tabellengöße
baccu
- datenbank
0 Hans0 baccu
0 Vinzenz Mai0 Ludger
Hallo,
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).
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?
Hauptsächlich geht es bei meiner Überlegung um eine möglichst geringe Traffik (wie immer).
Gibt es da irgendwelche Erfahrungswerte?
danke
Baccu
Hallo Baccu,
erste Tabelle:
Personal_nr, Name, Vorname, Geburtsdatum
zweite Tabelle:
Personal_nr, Wohnort, PLZ, was_weiss_ich
Gruß
Hans
Danke,
aber wie ich 2 Tabellen in Beziehung bringe ist mir klar,
meine Frage war ist es sinnvoller 1 große Tabelle zu haben oder 5 kleine?
Baccu
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
Adresse
Tel.
Hobbys
Lieblingsfilm
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
Hi,
Gibt es da irgendwelche Erfahrungswerte?
durchaus. Es hat sich z.B. herausgestellt, dass es sinnvoll ist fuer verschiedene Entitaeten verschiedene Tabellen zu nutzen. Beispiel: Du willst Schauspieler und Spielfilme verwalten, da gibts dann zwischen beiden Entitaeten eine "many to many"-Beziehung. Mit einer Tabelle wirst Du totungluecklich. das Fachwort hier: entity relationship model (ERM)
In Deinem Beispiel (Addressen und so) koenntest Du andenken alles in eine einzige Tabelle zu pressen: "Personen"
Fuer den Hausgebrauch waere das m.E. OK. Performanceueberlegungen solltest Du erst einmal nicht anstellen (insbesonders keine Ueberlegungen aus Performancegruenden mehrere Tabellen zu nutzen, das waere wirklich funky).
Gruss,
Ludger