我必須爲我的大學建立一個應用程序,這個應用程序將被視爲持續1個月的課程的課程學分。在這個應用程序中,我必須讓用戶有一種方法來保存教師課後續評估,這是一個人去教室,檢查老師並在某些欄目中打勾。這是數據庫設計的不好方法嗎?
一個例子是:
教學方面:
顯示順序,並遵循類序列:是否觀測
給出清楚的例子:YES NO觀測
涉及到學生討論:YES NO觀測
如果用戶(評估者)選擇「是」,那麼觀察結果中不會寫入任何內容,但如果他選擇否,他必須寫出觀察結果。
我怎麼能在我的數據庫中處理這個?我懷疑過度正常化。 :x在繼續這個項目之前,任何建議都會受到歡迎。
我現在的計劃是隻需要一個名爲Followup的大表,它具有Microsoft SQL中的BIT數據類型的所有'方面',並且每個可以爲空的方面都有一個ShowOrderSequenceObservation字段。 O_O我覺得骯髒,所以我轉向你們的開發人員。謝謝!
你有什麼技術可用?只是MSQL? – Caladain 2010-07-21 22:37:02
是的,只是Microsoft SQL Server 2008.我打算將ASP.Net MVC2用作用戶界面,並將Linq-to-SQL用於我的ORM。 – 2010-07-21 22:37:36
我對於「過度規範化」的擔心大部分在SQL中往往很愚蠢。 SQL喜歡以規範化的方式工作(即使沒有對分佈式鍵的支持...) - 非規範化數據可以自動生成,從正常化的數據中自動生成,但往往不太容易。如果「數組」中使用了可變數量的列或列,那麼很可能存在*不夠*規範化。如果需要,從3NF或BCNF開始,然後*向後工作。 – 2010-07-21 22:38:51