我正在設計一個關係數據庫 - 在下面的MySQL中 - 在DBDesigner 4。數據庫模式中的外鍵過多(多餘?)
我有3個表格:module
,page
和lang
。每個模塊屬於一個頁面,每個頁面都有特定的語言:
是否有外鍵page_lang_tag
被自動添加到module
表特別的原因?我看到的方式應該可以確定任何給定模塊的語言,而不需要module.page_lang_tag
。
據我所知,它可以用於更優化的查詢,但我正在處理的完整方案具有更復雜的關係,並且外鍵的數量快速增加非常。
也就是說,如果我要添加一個名爲widget
新表,與其每個行屬於一個模塊,那麼widget.module_id
,widget.module_page_id
,並widget.module_page_lang_tag
都將被自動創建。
事實證明,我的問題的根源在於關係都是可以識別的,這就是爲什麼外鍵是主鍵的一部分。 – 2014-12-03 17:12:08