2013-02-06 150 views
0

我可以在我的數據庫中有三個表並將它們彼此鏈接,這是否正確? this表在數據庫中的關係

+5

除了「是」和「我們不知道您的要求,所以我們不能說它是否正確」,您在尋找什麼答案? –

+0

雖然我通常更傾向於「不」,但我完全同意@Damien_The_Unbeliever,要正確回答這個問題,必須知道您的要求。 但是,我想這將進入你正在尋找的方向:http://en.wikipedia.org/wiki/Database_normalization – Viehzeug

+0

IndexCards是一個地方存儲我的因素信息,我想指定哪個用戶支付了哪個因素和也得到這些信息,爲此,我關聯了IndexCards和Users表,但我想可能是我可以將IndexCards與訂單相關聯,並將訂單與用戶相關聯,然後使用視圖。 –

回答

3

是的,你可以用這種方式設置你的數據。

不,這可能不是一個好主意如果 orders.userId應該與orders.IndexCards.UserId相同。除非您有充分理由需要冗餘,否則最好只在一個地方建立鏈接。

當然,如果orders.userId與相應的IndexCards.userId無關,那麼您的數據模型就沒有問題。

+0

我同意一般意見。考慮到投入,這是一個很好的答案,可以提供。 –

+0

如果在兩個表中都出現了列的好理由(也許'idfromIndex'可以爲空,但是規則是如果它不爲空,用戶ID應該匹配),那麼Index中的超級鍵和外鍵引用在訂單中可以執行該限制。 –

+0

謝謝大家的幫助 –

0

你有一個異常在你的分貝。我發現的異常是在名爲訂單。由於IndexCard表有柱(idfromUsers),你應該從該表中刪除(訂單),除去其關係用戶表。

這意味着訂單具有相對於IndexCardsIndexCards具有相對於用戶