我正在爲調查Web應用程序設計數據庫。這項調查應該每年進行一次,人們可以從下拉菜單中選擇一年來調查過去幾年。如何在數據庫中存儲調查年份
數據庫結構是這樣的
大學表 - >學院(子表) - >場(子表)
我需要發出類似「找不到的課程,爲特定的調查年度」查詢。
我是否需要將調查年限存儲在所有數據庫表(50+表)中,儘管看起來很直觀,但我覺得這不是一個正確的設計(因爲數據重複)。請分享你的想法。
感謝
我正在爲調查Web應用程序設計數據庫。這項調查應該每年進行一次,人們可以從下拉菜單中選擇一年來調查過去幾年。如何在數據庫中存儲調查年份
數據庫結構是這樣的
大學表 - >學院(子表) - >場(子表)
我需要發出類似「找不到的課程,爲特定的調查年度」查詢。
我是否需要將調查年限存儲在所有數據庫表(50+表)中,儘管看起來很直觀,但我覺得這不是一個正確的設計(因爲數據重複)。請分享你的想法。
感謝
去閱讀這篇文章: http://en.wikipedia.org/wiki/Database_normalization。你應該瞄準的正常形式是第三範式(3NF)。這將消除重複的數據。你應該能夠從所有「孩子」表中排除調查年份。但是,如果調查年份是父表上主鍵的一部分,則無法從子表中刪除該字段。而是使用一個int字段作爲主鍵,而不是使用其中包含調查年份的複合主鍵。
你可以包含表結構嗎?調查數據存儲在哪裏? – StevieG
表格包含有關大學,學院(擁有大學的外國關鍵),課程(擁有大學的外國關鍵)的信息。數據存儲在Postgres數據庫中。 – Sunny
我很抱歉,但你的問題真的不清楚。表格是什麼樣的?有調查表嗎?調查與大學/學院/課程等有什麼關係等。 – StevieG