phpbar.de logo

Mailinglisten-Archive

[php] =?ISO-8859-2?Q?AW=3A_=5Bphp=5D_OT_Wozu_ist_denn_ein_Prim=E4rsc?= =?ISO-8859-2?Q?hl=FCssel_gut_=3F?= =?ISO-8859-2?Q?hl=FCssel_gut_=3F?=

[php] =?ISO-8859-2?Q?AW=3A_=5Bphp=5D_OT_Wozu_ist_denn_ein_Prim=E4rsc?= =?ISO-8859-2?Q?hl=FCssel_gut_=3F?= =?ISO-8859-2?Q?hl=FCssel_gut_=3F?=

Berger, Uwe 2282 FIS-PL6 Uwe.Berger_(at)_de.heidelberg.com
Fri, 26 Nov 1999 10:13:12 +0100


Hallo Stefan,

>Konkret hab ich hier eine MySQL Datenbank in der als eindeutiges Unter-
>scheidungsmerkmal der Datensätze eine Feld mit einer UID-Nummer
>vorkommt.
>Weshalb sollte ich dieses Feld als Primärschlüssel deklarieren ?

... aus genau zwei Gründen:
1) einen Primärschlüssel kann man nur als eineindeutig deklarieren -> damit
ist also auch gewährleistet, daß es nur einen Datensatz zu einer UID gibt.

2) der Primärschlüssel ist gleichzeitig auch das
Tabellenhauptsortierungskriterium (super Wort;-)), heißt, bei Querys wird
zuerst immer nach diesem Schlüssel sortiert, gesucht... -> eine Abfrage die
z.B. diesen Schlüssel ist besonders performant.

Nebenbei der Primärschlüssel wird in der Basistabelle(-File) der Tabelle in
der DB angelegt, wobei weitere Indizes meist in getrennten Files angelegt
werden -> (wenn dies nicht in der Basistabelle möglich ist) -> deshabl auch
die größere Performance -> es muß nur auf das Basisfile der Tabelle
zugegriffen werden!

Gruß Uwe


php::bar PHP Wiki   -   Listenarchive