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

Antwort per Email an