2013-06-01 130 views
1

我有一個情況,帳戶可以有很多電話號碼,但電話號碼只能分配給一個帳戶。這通常被認爲是一對多的關係,但應用程序中的電話號碼可能會在一段時間內保持未分配狀態(這意味着在分配到不同的帳戶之前,賬戶外鍵將不存在)。外鍵可以爲空嗎?

我覺得應該通過連接表來管理關係,只是因爲在一段時間內電話號碼可能不會分配給某個帳戶。

連接表是正確的選項,還是可以使外鍵空白?

編輯:本質上,我有一個電話號碼和一個帳戶表的表。帳戶可以有許多電話號碼,但電話號碼只能在任何特定時間分配給一個帳戶。有時候電話號碼不會被分配到一個帳戶。

+0

如果您的電話號碼列表/銀行電話號碼只能分配給一個賬戶,或者電話號碼可以是電信公司提供的任何有效號碼,那麼您的問題還不清楚。如果你能澄清這將有助於提供一個好的答案。 – armitage

+0

@armitage我有一個電話號碼列表/銀行只能分配給一個帳戶。對不起,我沒有澄清! – Dre

回答

4

除非關係是多對多,否則不需要爲用戶/電話設置另一個間接表。當沒有用戶使用它並且號碼本身是唯一的時,將電話表上的用戶密鑰設置爲null會更好。

+0

這是我的第一個想法,但我不知道是否認爲有一個'null'外鍵是不好的做法。謝謝您的幫助! – Dre