2013-02-13 60 views
1

剛剛在這裏提出了關於數據庫表的問題。如果表只有一個主鍵(標識)和一列有用數據,可以將它作爲自己的表嗎?還是應該將它作爲數據在父表中?應該只有一個有效數據字段的表是它自己的表

該表存儲安全問題,用戶將使用他們的帳戶設置安全問題,並在需要更改密碼或忘記密碼的情況下重置密碼。我有問題的ID和這個表中的問題字符串。

我在自己的表中使用它的原因是,許多用戶可能會使用同一個問題,所以爲什麼多次在父表中存儲問題。這就是我的想法,只是想要一些其他人的意見。

編輯:安全問題將由我的團隊輸入,而不是用戶自己。用戶將選擇要使用的問題之一。

回答

0

我會用網橋表中表明該樣品設計: enter image description here

你可以有獨特的用戶以及他們的回答多個問題。而且,對於多個用戶來說,這些問題可以是相同的

+0

我喜歡你的想法,從用戶表中分離出來。但是,如果我們只爲每個用戶使用1個問題/答案集,將UserQuestions表從用戶表中分離出來有什麼好處? – 2013-02-13 20:04:55

+0

@安迪鏈接:在這種情況下,你應該去**一對一的關係。問題表應該分開,因爲多個用戶可以有相同的問題,他們將從問題列表中選擇。只需將用戶表中的引用密鑰添加到問題表中即可。 – 2013-02-13 20:10:36

+0

好吧,那麼通過這個邏輯,我應該對數據庫中的幾個表中使用的所有狀態縮寫做同樣的想法嗎? – 2013-02-13 20:25:51

0

您必須始終嘗試防止重複,這就是爲什麼您的解決方案是最好的。它也將保持你的數據庫更小。具有int值的外鍵小於字符串。