想象一下,我有兩個表格:經理人,玩家。這是一個橄欖球隊,一個球員只能爲一名經理打球,一個經理可以管理幾個(11)球員。查詢Sql Server管理工作室界面中的設計關係
當在Sql Server中設計關係時,在彈出窗口出現關係的屬性時,表格的哪一邊是否重要?
換句話說,從播放器到管理器或從管理器到播放器的連接有什麼不同?
如何將關係指定爲1:n或自動決定爲1:n還是1:1?
謝謝
想象一下,我有兩個表格:經理人,玩家。這是一個橄欖球隊,一個球員只能爲一名經理打球,一個經理可以管理幾個(11)球員。查詢Sql Server管理工作室界面中的設計關係
當在Sql Server中設計關係時,在彈出窗口出現關係的屬性時,表格的哪一邊是否重要?
換句話說,從播放器到管理器或從管理器到播放器的連接有什麼不同?
如何將關係指定爲1:n或自動決定爲1:n還是1:1?
謝謝
有差別。 播放器需要有一個引用管理器主鍵(或另一個唯一鍵)的外鍵約束。
主鍵約束必須到位之前,你可以創建一個外鍵(約束)。它自動爲1:n(或者如果您的外鍵可爲空,即有沒有經理的球員,則爲0:n)。
您連接到Player
Manager
,這將創建一個FOREIGN KEY Player (manager_id) REFERENCES Manager (id)
的關係將是1:n
除非有上manager_id
一個UNIQUE CONSTRAINT
在Player
表,這是不是你的情況。
通常,1:1
關係存儲在一個表中。
所以要設計1:1的關係,我是否添加了一個約束來簡單地說一個經理不能屬於兩個玩家? – dotnetdev 2009-02-26 15:10:39
請參閱對其他答案的評論。你有0:n或1:n的情況,而不是1:1。經理可以有零個/一個或多個玩家。如果一名經理擁有1名球員並且只有1名球員,這是非常罕見的,並且您只需將該球員存儲在經理表中,那麼就是1:1。 – cdonner 2009-02-26 20:37:27