Welches Attribut wäre hier jeweils ein geeigneter Primärschlüssel?

5 Antworten

Bei der ersten keiner. Du hast ja wohl mehrere von einem Artikel, mit dem selben Preis und Namen im selben Regel.

Bei der zweiten die laufende Nummer, wahrscheinlich.

Die erste Tabelle ist unpassend benannt. Entweder heißt sie "Lagerbestand", dann würde man erwarten, dass dort eingetragen ist, welcher Artikel wie oft vorhanden ist und natürlich wäre dann die Artikelnummer der PK.

Alternativ könnte in der Tabelle auch eingetragen sein, in welchen Regalen der Artikel überall rumliegt. Dann bräuchtest Du natürlich mehrere Zeilen für jeden Artikel, dann hätten aber Bezeichnung und Preis in der Tabelle nichts zu suchen (Normalisierung und so), dafür wäre der PK dann Artikelnummer und Regal und es würde ein Feld für die Menge pro Regal fehlen (denn jeder Artikel kann ja mehrfach im selben Regal liegen).

Oder Du nennst sie "Artikelstamm", dann hat dort die Regalnummer eigentlich nichts zu suchen (außer es gibt für Artikel feste Lagerplätze). Dann wäre natürlich ebenfalls die Artikelnummer der PK.

So wie die Tabelle jetzt heißt und mit diesen Feldern würde es möglich sein, dass derselbe Artikel (gleiche Artikelnummer) mit unterschiedlichen Preisen und Bezeichnungen in unterschiedlichen Lagerfächern liegt. Das ist ja Blödsinn.

Generell gilt: Für Artikel ist immer die Artikelnummer der Schlüssel, anhand dessen der Artikel identifiziert wird. Es gibt in der Lagerhaltung (außer bei Leuten, die wirklich gar keine Ahnung haben, was sie tun) eigentlich niemals unterschiedliche Artikel mit derselben Artikelnummer.

Bei der zweiten Tabelle ist natürlich die laufende Nummer der PK, denn das ist das einzige Feld, welches einen Kunden eindeutig identifiziert (es kann mehrere Peter Müllers geben und auch mehrere Leute, die am 12.02.1980 geboren sind).

Wenn du kurz darüber nachdenkst wirst du schnell draufkommen.

Ein Primärschlüssel muss eindeutig sein und darf nicht mehr verändert. Da wäre z.B. die Regalnummer ungeeignet, denn dann dürfte in jedem Regal nur ein einziger Artikel liegen und nachdem der Artikel verkauft wurde muss das Regal neu nummeriert werden...

Der Preis wohl ebenfalls, denn dann kann man nicht zwei Artikel mitdem selben Preis haben und darf den Preis auch nie ändern.

Ich denke du weißt jetzt wie man einen passenden Schlüssel auswählt..

Da ein Primärschlüssel in einer Datenbank einmalig sein muss (und, meine ich, eine Zahl?), kommt bei a nur Artikelnr. und bei b lfde Nr. in Frage.


ohwehohach  12.02.2021, 12:04

Nein, er muss keine Zahl sein.

0
Blindi56  12.02.2021, 12:05
@ohwehohach

Na ja, muss auf jeden Fall unverändert bleiben und für jeden Datensatz einmalig

1

a.) Artikelnummer

b.) LaufendeNummer

Woher ich das weiß:eigene Erfahrung

ohwehohach  12.02.2021, 12:04

Was soll denn mit der ersten Tabelle überhaupt abgebildet werden?

0