Diskussion:Schlüssel (Datenbank)

message: Der Artikel muss auch dringend integriert werden. Vielleicht reicht hier einfach ein Redirect und eine kurze Notiz bei Verbundschluessel. Aber vielleicht moechte jemand noch mehr dazu schreiben? Gruss -- sparti 12:28, 23. Aug 2005 (CEST)
thread_title:  Weitere Schluesselbegriff: [[Abgleichcode]] 

message: Die ISBN ist tatsächlich als Primärschlüssel nur begrenzt verwendbar.
Sie ist zwar eindeutig und wird über die Lebenszeit der zugehörigen Entität nicht verändert, ist aber nicht für jedes Buch vorhanden (Kleinstverlage, Selbstverlage).
Innerhalb eines Verlages der ISBN verwendet also nutzbar, ebenso für Grossisten, die nur etablierte Verlage im Programm haben. Nicht aber für Bibliotheken.
Viele Grüße von Buttgereit
:Danke für den Hinweis. War aber das einfachste Beispiel, was aufzutreiben war. ;-) Natürlich sind Beispiele wie Sozialversicherungsnummern oder Personalausweisnummern formal exakter. --Thetawave 18:12, 30. Aug 2005 (CEST)
replies: text:  Gut, dann nehmen wir einfach ein ISBN-Verzeichnis als Beispiel, dann stimmts wieder :-) -- sparti 19:38, 30. Aug 2005 (CEST)
thread_title:  ISBN als Primärschlüssel 

message: sorry, aber was hat den der Sekundärschlüssel mit Indizes zu tun? Geht es dabei nicht um die Verknüpfung von Relationen (Erklärung weiter oben) und, dass man dadurch nur das in eine Relation eintragen kann, was bereits in einer anderen steht?
: Ich bin mehr und mehr überzeugt, dass ein Sekundärschlüssel im Allgemeinen zur Beschreibung, aber nicht zur Identifizierung von Datensätzen herangezogen werden kann. (Siehe Diskussion direkt oberhalb) Das würde für die Implementierung einfach einen Index bedeuten. Das ergäbe jedenfalls ein schlüssiges Bild, und dürfte auch den gesuchten Zusammenhang liefern. BG phaidros 22:01, 11. Mai 2007 (CEST)
thread_title:  Nochmal in anderen Worten: Was ist ein Primär- und was ein Sekundärschlüssel? FALSCH? 

message: Salu
Ich finde die Veranschaulichung super. Nur frage ich mich, ob die zweite Tabelle (IstChefVon) nicht gegen die erste Normalform verstösst. 
Oder ist es die Tabelle von? Dann würde ich diese nach links ziehen, denn es ist einfacher nachzuvollziehen, wenn die Primärschlüssel
immer am selben Rand stehen.
Grüsse
:1NF verlangt nur atomare Feldinhalte und keine Wiederholungsgruppen. Ist bei dieser Tabelle gegeben, obwohl hier 2 Personalnummern auftauchen: es sind zwei unterschiedliche Verwendungen (Vorgesetzter, Untergebener), und es kann keine dritte dazu kommen. Das unterscheidet sie von der Wiederholungsgruppe. Eine andere Formulierung für die 1NF habe ich einmal gelesen, die im Grunde intuitiver ist: atomare Inhalte und die Tabelle eine feste Breite hat - es also niemals nötig werden wird, Spalten dazuzupimpern. Das ist hier der Fall, und damit lautet die Antwort klipp und klar: die Tabelle ist in 1NF. -- bg phaidros 21:39, 12. Mai 2007 (CEST)
thread_title:  Bild Fremdschlüssel 

message: Artikel:
; Minimalität: Keine echte Teilmenge von S erfüllt bereits die Bedingung der Eindeutigkeit.
Das ist für einen Schlüssel wünschenswert, aber nicht notwendig.
Aus z.B. fachlichen Gründen kann man als (Primär-)Schlüssel durchaus auch etwas wählen, was neben den (zur eindeutigen Unterscheidung) notwendigen Spalten auch (zur Unterscheidung) nicht-notwendige Spalten hinzu nimmt.
Im Artikel wird so getan, als sei die Minimalität eine Notwendigkeit. Bitte korrigieren.
--arilou (Diskussion) 12:02, 16. Nov. 2015 (CET)
thread_title:  "Minimal" 

message: Meinem Verständnis nach sind Kandidatschlüssel die Kombination aus Primärschlüssel und Alternativschlüssel, da eine Alternative ja ein Subjekt haben muss, zu dem es eine Alternative ist. Das widerspricht der Formulierung "Schlüsselkandidat (auch Kandidatenschlüssel oder Alternativschlüssel genannt)"
Weiterhin steht beim Primärschlüssel: "Die Werte dieses Schlüssels werden in referenzierenden Tabellen als Fremdschlüssel verwendet."
Ich denke, es ist irreführend, dies unter Primärschlüssel zu zeigen, wenn Fremdschlüssel auf beliebige Kandidatschlüssel zeigen können. So steht es z. B. auch auf der englischen Seite: "a foreign key is a set of attributes that references a candidate key" 
:In meiner Ausbildung war da allerdings noch ein -hm- zeitlicher Aspekt mit dabei:
:Wenn ich eine neue Datenbank anlegen will, um einen ("wilden") Datenbestand aufzunehmen, dann muss ich diese Daten erst einmal "in Ordnung" bringen (Redundanzen finden, entfernen, die Daten in Tabellen aufteilen, Spaltennamen finden/ausdenken, ...). Und dabei stellt sich dann irgendwann das Problem, dass für die Tabellen ja auch Schlüssel benötigt werden. Möglicherweise gibt es verschiedene Spalten(kombinationen), die sich theoretisch als Schlüssel eignen würden - sie sind Kandidaten für meine "Wahl" eines Primärschlüssels (die ich ja erst noch treffen muss). Dann wäge ich ab, welcher Kandidatschlüssel mir am geeignetsten erscheint, und küre ihn zum Primärschlüssel. Evtl. ist für manche Aufgaben aber ein anderer Kandidat doch besser geeignet, dann bestimme ich diesen zum Alternativschlüssel. Die restlichen Kandidatschlüssel landen in Ablage-Rund.
:Natürlich waren (und sind für alle Zeiten) Primärschlüssel und Alternativschlüssel auch immer 'Kandidaten' - aber die Wahl ist inzwischen passée.
:Möglicherweise gibt's aber noch Tabellen (aus früheren Zeiten), die (als "Fremdschlüssel") eine andere Spaltenkombination beinhalten, um auf meine neue Tabelle zu verlinken. Das ist dann einer von den alten 'Kandidaten', sollte eigentlich auf den mittlerweile festgelegten Primärschlüssel geändert werden, muss aber nicht zwingend.
:Ein Kandidatschlüssel heißt 'Kandidat', weil er bei der (noch ausstehenden Wahl des Primärschlüssels) als Wahl-Kandidat zur Verfügung steht.
:Sobald die Wahl gelaufen ist, ist 'Kandidatschlüssel' (nur noch) die Menge aller (ehemals) möglichen verschiedenen Schlüssel für eine Tabelle. (Zu dieser Menge gehören natürlich - auch nach der Wahl immernoch - Primärschlüssel und alle gewählten Alternativschlüssel.)
:--arilou (Diskussion) 09:34, 9. Jun. 2020 (CEST)
thread_title:  Primärschlüssel, Alternativschlüssel, Kandidatschlüssel...