Guenter Wallnig schrieb:
Hallo Volker,
Volker Heggemann schrieb:
Andreas Borutta schrieb:
Zu Primärschlüsseln:
Du verwendest auch in Tabellen mit nur einem Datenfeld (Beispiel
Tabelle Form) zusätzlich einen Primärschlüssel.
Jeder Datensatz enthält dort jedoch einen anderen Wert.
Dubletten kommen nicht vor.
http://borumat.de/+screenshots/sc-052.png
Kann daher das Datenfeld Form nicht selbst als Primärschlüssel dienen?
Andreas
Jain :)
Dazu folgender Denkansatz (ohne das ich jetzt wüsste was in dem
Datenfeld Form gespeichert wird)
...
prinzipiell würde das schon gehen, solange die Werte hier EINDEUTIG
sind. Mit anderen Worten: jeder Wert darf nur EINMAL vorkommen.
Dafür brauchst du je nach Betriebssystem und Datenbank eine gewisse
größe an Speicherplatz. Sagen wir mal 6 Byte.
Wenn du nun diese Zahl als Primärschlüssel verwendest, mit dem du
auch Relationen herstellen willst, dann findest du eben diese Zahl
auch in den zugeordneten Felder aller anderen Tabellen. Jedes mal mit
6 Byte Platz.
Führst du aber einen (sinnvollen) Primärschlüssel auf Basis einer
Ganzzahl in der Tabelle die vielleicht nur 4 Byte belegt, dann sparst
du neben Speicher auch eine Menge Rechenzeit ein.
Das ganze wird natürlich noch extremer, wenn du anstelle eines 6 Byte
Datumsfeldes, einen 50 Byte [Var{Char}] Wert nehmen würdest.
...
cu
volker
ist es nicht so, daß aus dem Primärschlüssel ein Index gebildet wird
und NUR dieser in Relationen verwendet wird? Relativ sicher bin ich
mir, das dies in PostgreSQL so ist.
Mir ist zumindest so, als wenn z.B. eine BLZ, die für die man als ZAHL
ja schon ein LONG INT braucht, sehr gut als PK verwenden kann.
Ähnliches gilt für PLZ als Zahl.
Ja, klar kann man das machen.
Aber dann muß man auch darauf achten, das der User dort nur Zahlen
eingibt. Was wenn einer bei BLZ eine Internationale IBAN speichern will?
Oder auf einmal vor die PLZ noch das Land schreibt?
Sprich - dann muß die Datenbankoberfläche auch eine Eingabeprüfung machen.
Und ich schrieb ja auch, das ich keine Kenntnis des Inhaltes des Feldes
Form habe. Was ich meine gelesen zu haben ist, das dieses Feld per 1:n
Relation mit weiteren Tabelle verknüpft ist.
mfg
Volker
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org
For additional commands, e-mail: users-h...@de.openoffice.org