Datenbankdesign zusammengesetzter Primärschlüssel

Juli

Grünschnabel
Hallo...
ich habe eine Datenbank auf einem MS SQL-Server erstellt und habe eine Frage zum Primärschlüssel einer Tabelle.
Die Tabellenstruktur habe ich als Screenshot angehängt.
Es geht mir um die Tabelle tblObjektLizenz.
Hier ist gespeichert, welche Lizenzen jedem Mitarbeiter zugeordnet sind, welche Lizenzen jedem PC zugeordnet sind und welche Lizenzen einer Firma zugeordnet sind. Es kann also passieren, dass ich nur im Feld FirmaID, LizenzID und LizAnzZugeordnet etwas stehen habe und die anderen Felder in der Zeile leer sind.
Ich weiß aber nicht, wie ich hier den Schlüssel setzen soll, damit ich die anderen Felder leer lassen kann ohne Protest...
Ich wäre sehr dankbar für einen Tip!!
Juli
 

Anhänge

  • tabellenstruktur.jpg
    tabellenstruktur.jpg
    52,7 KB · Aufrufe: 490
Erledigt

Ich werd wohl einfach einen künstlichen Primärschlüssel nehmen...
hätte ich auch gleich drauf kommen können....
Danke an alle, die sich mein Problem angeschaut haben...
Juli
 
Servus!

Mir fällt gerade auf, dass du Beispielsweise als Primärschlüssel in der Tabelle tblMitarbeiter den Mitarbeiter Namen gewählt hast ... sollte man da nicht besser ein eigenes MitarbeiterID Feld definieren und das dann als Primärschlüssel deklarieren ...?

Gruss Tom
 
Meinste?

ich nehme ja momentan den usernamen, mit dem sich alle Mitarbeiter im PC einloggen...der ist doch auch eindeutig,
oder hat ein künstlicher Schlüssel noch andere Vorteile?
Gruß Juli
 
Servus!

Das Datenbanksystem kommt eben besser mit Zahlen zurecht ...

Der Index 135 ist schneller aufzufinden, als "Meier" ... wobei jedoch zu erwähnen ist, dass in der internen Indexverwaltung aus "Meier" mittels einer Hashfunktion auch eine Zahl z.Bsp 12637834 gemacht wird ... wenn du von vornherein Zahlenwerte als Indexe verwendest sparst du Zeit ein ...

Noch was ...: Wenn du einen Komputer eindeutig Identifizieren willst nimmst du am besten die MAC-Adresse der Netzwerkkarte ...

Gruss Tom
 
Die MAC Adresse ist aber nicht so leicht ermittelbar wie der Name, der steht nämlich auf allen PCs.
Die Netzwerkkarte kann auch mal ausgetauscht werden..
aber ich werde dem Mitarbeiter einen künstlichen Schlüssel geben.
 

Neue Beiträge

Zurück