2017-11-25 301 views
-2

我想爲學校管理系統創建一個數據庫。該數據庫有兩個表包含共享領域,如學生教師。 例如,學生表具有字段(ID,姓名,電話,班級),而教師表格具有字段(ID,姓名,電話,部門)。維護數據庫中的表之間共享字段的最佳方式是什麼?

是更好地做:一臺稱爲具有字段(ID,姓名,電話),學生表有字段(ID,爲person_id,類),以及教師表有字段(ID,爲person_id,部門)。

的兩種方法哪個好?

回答

1

直接回答這個問題可能是基於意見的。設計數據庫通常沒有最好的策略。

理論例如:如果你可能要考慮一下性能數據量大的:什麼以及如何搜索和連接。

如果您主要搜索StudentsTeachers您可能不會創建Person表,您可以輕鬆搜索它們。然後,如果你想搜索從DB你需要做兩個查詢所有Person S和那些之間與兩者共同類型的Person字段UNION

如果您還搜索Person S比頻繁,那麼你可能創建Person表和實施TeacherStudent有外鍵Person。然後,當搜索最後提到的兩個時,您需要將JOIN設置爲Person

在現實生活中,我不知道,如果在這種情況下使用真的是有很大的區別。更重要的是你選擇了一些策略,並在未來的決策中遵循它來保持清晰。

但是有可能出現情況,即需要還是改變選擇的策略。所以在理論上。

相關問題here

相關問題