Veröffentlicht 9. Oktober 200717 j 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
9. Oktober 200717 j 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
9. Oktober 200717 j 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
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.