2017-01-30 81 views
0

我想創建一個數據倉庫,並且我決定在多個表中使用一些字段來提高速度!如何在SQL中引用多個外鍵到一個表中

但我有一個問題:如何將多個外鍵引用到SQL中的一個表中?

例如:如果我有一個表日曆這樣的:

calendar(c_id, year, month, day) 

,另一臺用於每日快照這樣的:

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

如何可以引用'c_id' and 'year'從快照到日曆表?

謝謝。

+0

您正在使用的數據庫管理系統? –

+0

當父表至少在'Sql Server'中擁有複合主鍵時,可以引用多個列 –

+0

我使用microsoft sql server。是否有可能在Microsoft SQL Server中做到這一點? – sali

回答

0

嘗試這樣:

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

謝謝。我想,必須這樣做! – sali

相關問題