# Datenbankdesign zusammengesetzter Primärschlüssel



## Juli (21. Juli 2003)

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


----------



## Juli (22. Juli 2003)

*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


----------



## Thomas Darimont (22. Juli 2003)

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


----------



## Juli (22. Juli 2003)

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


----------



## Thomas Darimont (22. Juli 2003)

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


----------



## Juli (22. Juli 2003)

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.


----------

