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 Zitieren
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 Zitieren
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 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.