verwendetes Datenbanksystem: SQL Server 2005
.. hatte da am Anfang etwas falsch verstanden und meine Tables immer mit mehreren Primary Keys ausgestattet wenn ich Fremdschlüssel gebraucht hab.
Habe also z.B. in einer Tabelle:
PK gID
PK UserID
PK KategorieID
Also alle 3 Felder makiert und dann "Set Primary Key" via SQL Management Tool.
Wenn ich das richtig verstanden habe hätte ich lieber nur gID zum PK gemacht und für UserID und KategorieID einen Index angelegt oder?
Was hat das nun für Folgen dass ich alle 3 als PK definiert habe?
Danke!
Du wirfst gerade ein paar Begriffe durcheinander. Ein PK wird über einen Fremdschlüssel referenziert. Pro Tabelle kann es nur einen PK geben. In deinem Fall ist er aus drei Elementen zusammengesetzt. Ein Index ist wieder eine etwas andere Angelegenheit.
Wie sieht deine Datenbank denn aus?
Beispiel:
Spiele Tabelle:
(PK) GameID
gName
(PK) gKategorie
gSpieler
gGenre
Kategorie Tabelle:
(PK) KategorieID
(PK) GameID
kName
Wie müsste ich das umstellen dass das korrekt ist? Eigentlich wäre gKategorie und GameID bei der Kat Tabelle die Fremdschlüssel. Im Moment sind es alles Primary Keys.. Hab im SQL Management Studio auch nichts zu "Fremdschlüssel" gefunden?!
Danke!
Die Tabellen sind IMHO etwas verkehrt aufgebaut.
Spiele
GameID (PK)
gName
gKategorieID (Fremdschlüssel)
gSpieler
gGenreKategorie
(PK) KategorieID
kName
Wie Fremdschlüsselbeziehungen übers SSMS definiert werdern weiß ich leider nicht. Per SQL funktioniert dies über das REFERENCES-Statement.