Gewusst wie: hinzufügen Ersatzschlüssel zu entsprechenden Tabellen?
Muss ich hinzufügen, eine auto-inc Ersatzschlüssel zu drei Tabellen in meiner data warehouse:
Hinweis: Dies sind nicht die echten Tabellennamen
JakMaster (JakMasterId, Datum) (PK) Hinweis: JakMasterId ist vom Datentyp varchar(60)
JakToRoad (JakMasterId, Datum) (FK)
JakToBig (JakMasterId, Datum) (FK)
Welche Schritte sollte ich nehmen, um fügen Sie einen Ersatzschlüssel zu diesen drei Tabellen, so dass die neuen Schlüssel, die aufeinander verweisen, richtig?
Dank!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich nehme an, Sie wollen zu ersetzen JakMasterId mit einem auto-Inkrement-Feld, so dass die anderen zwei Tische brauchen nicht ein varchar(60) Bereich und zur Verbesserung der query-Zeiten, aber Sie halten JakMasterId Informationen.
Könnten Sie in der Lage sein, dies zu tun in drei Schritten innerhalb der DB zu erstellen, die surrogate PK
Ändern, die Tabelle zu erstellen, die den Surrogat-Schlüssel-Spalte. Außer, es muss null-Werte zulassen.
Schreiben Sie ein kleines Programm, um die key-Werte. Es ist eine Schleife UPDATEs.
Ändern Sie die Tabelle, um den Ersatzschlüssel Spalte nicht-null -, auto-Inkrement, indiziert, einzigartig, usw.
Nun müssen Sie zum erstellen von FK ist.
Ändern der Tabelle zum hinzufügen von FK-Spalte. Wieder, es muss null-Werte zulassen.
Schreiben Sie ein kleines Programm zum einstellen der FK-Spalte. Dies ist ein WÄHLEN Sie (, um die PK-Reihe basiert auf nicht-surrogate keys), und ein UPDATE auf die Tabelle verweisen.
Falls erforderlich, ändern Sie die Tabelle, um die FK von null Verschieden ist. Dies ist nicht immer notwendig, es kommt auf die definition der FK-Tabelle die Beziehung mit dem PK der Tabelle.
Wiederholen Sie den FK-Erstellung für alle anderen Tabellen.