Gast viewz Geschrieben 9. Oktober 2007 Geschrieben 9. Oktober 2007 Hallo, wie der Titel schon sagt, habe ich ein paar allgemeine Fragen zum Thema Primärschlüsseln. Ich weiss, dass der Primärschlüssel innerhalb einer Relation immer eindeutig sein muss d.h. er darf nur einmal vorkommen und er muss minimal sein ... hierbei stellt sich jedoch bei mir die Frage, wie das mit dem minimal sein gemeint ist? Wir hier nach der Anzahl der Zeichen in den jeweiligen Datensätzen geschaut oder nach der Anzahl der Zeichen bei den Attributen? In der Schule hatten wir auserdem ein Beispiel, wo innerhalb einer Tabelle der Spaltenname Artikelnummer vorhanden war. In dieser Spalte standen jedoch mehrere Werte doppelt. Das bedeutet Artikelnummer wäre als Primärschlüssel ungültig, weil er ja nicht eindeutig ist. Wir haben ihn jedoch dann mit der Spalte Lieferantennummer kombiniert und siehe da, jetzt wäre er plötzlich gültig... da setzt es bei mir aus.. ich hoffe einer von euch kann mir helfen danke
flashpixx Geschrieben 9. Oktober 2007 Geschrieben 9. Oktober 2007 Hi, der Schlüssel (Primär oder Unique) ist nur dafür da, um einen Datensatz eindeutig zu identifizieren. Ob der Schlüssel nun aus einem oder mehreren Feldern besteht ist da irrelevant. Man muss nur innerhalb der Relation Attribute finden, mit denen eine Eindeutigkeit erzeugt werden kann. Technisch sollte man natürlich überlegen, ob man intern mit ID, anstatt Stringfeldern arbeitet, dies kommt aber auch immer auf das eingesetzt DBMS an. HTH Phil
dr.dimitri Geschrieben 9. Oktober 2007 Geschrieben 9. Oktober 2007 Außerdem müssen PKs unveränderlich sein. Also ein Feld in den PK aufnehmen welches per UPDATE geändert wird ist sehr sehr unklug. Idealerweise ist in jede Tabelle ein extra Feld vorhanden, welches dann für den rein technischen Schlüssel verwendet wird (und auch wirklich nur dafür). der Schlüssel (Primär oder Unique) Ein PK ist implizit UNIQUE und NOT NULL hat mit einem Unique Constraint ansonsten aber nicht viel zu tun. Dim
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden