Normalization

我的數據庫設計是否違反了任何 NF 規則?

  • January 17, 2012

我是創建數據庫的新手……我需要為我的招聘網路應用程序創建它。

我的申請需要安排申請人的篩選、考試和麵試,並將結果保存在數據庫中。

我的數據庫架構如下:

在此處輸入圖像描述

我的問題是我包括applicant_id在其他表…例如考試,面試,考試類型。

我是否違反了任何規範化規則?如果我這樣做,你有什麼建議來改進我的設計?

除了標準化之外,幾乎沒有什麼需要考慮的。例如,您有一個 AGE 列。你打算每年更新嗎?你怎麼知道什麼時候這樣做?多年的經驗也是如此。

對於每個申請人,有些列可能會有多個值:學校、課程等。

您可能還想檢查您對這些關係的選擇性。現在申請者必須有一個相關的考試,但一個考試不一定有一個與之相關的申請者。我猜這是倒退到現實生活中的事情如何運作。您對所有其他關係都有類似的問題。

如果您在創建關係後讀出關係,這會有所幫助。

我想您實際上需要在您的申請人表和其他主表(主要是篩选和考試)之間建立多對多的關係。如果您的篩選包含多個申請人(其他表格的情況類似)。

我會看到與單個候選人的面試,但與不止一個候選人的考試或篩選會議。在這種情況下,您將需要一個將篩選與申請人連結的關係表。

請參閱此處了解多對多關係。

引用自:https://dba.stackexchange.com/questions/3126