2017-01-30 3 views
0

verweisen möchte ich ein Data-Warehouse erstellen, und ich beschlossen, einige Feld in mehr als einer Tabelle zu verwenden, um die Geschwindigkeit zu erhöhen!Wie mehrere Fremdschlüssel zu einer Tabelle in SQL

Aber ich habe ein Problem: Wie kann ich in SQL mehr als einen Fremdschlüssel zu einer Tabelle verweisen?

Zum Beispiel: Wenn ich habe eine Tabelle für Kalender wie folgt aus:

calendar(c_id, year, month, day) 

und einer anderen Tabelle für tägliche Schnappschüsse wie folgt aus:

snapshot(id, c_id, year, ...) 

Wie ich beide verweisen können 'C_Id' und 'Jahr' von Snapshot-Tabelle zum Kalender?

Vielen Dank.

+0

Welche Sie verwenden DBMS? –

+0

Es ist möglich, mehr als eine Spalte bezieht sie, wenn die übergeordnete Tabelle zusammengesetzte Primärschlüssel zumindest in sql Server' –

+0

I verwendet Microsoft SQL-Server hat. Ist es möglich, dies in Microsoft SQL Server zu tun? – sali

Antwort

0

versuchen, etwas wie folgt aus:

ALTER TABLE calendar ADD CONSTRAINT UQ_calendar_c_id_year UNIQUE (c_id, year) 

ALTER TABLE snapshot ADD CONSTRAINT FK_snapshot_c_id_year 
    FOREIGN KEY (c_id, year) REFERENCES calendar (c_id, YEAR) 
+0

Danke. Ich denke, muss das tun! – sali

Verwandte Themen