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.

MfG
Günter

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org
For additional commands, e-mail: users-h...@de.openoffice.org

Antwort per Email an