我正在設計一個數據庫來存儲調查工具。每項調查都包含許多問題,這些問題又與翻譯成各種語言相關聯。我的數據庫模型看起來如何?
這裏是我到目前爲止(斜體PKS):
- tblInstrument:InstrumentID,名稱,開始,結束
- tblInstrumentQuestions:InstrumentID,QuestionID, FormID
- tblQuestion: QuestionID,提示,類型,重新編碼
- tblDimensionLabels:DimensionID,QuestionID(FK),選項,COLUMNNAMES
- tblTranslation:TranslationID,QuestionID(FK),迅速
- tblTranslationDimLabels:TransDimID,TranslationID(FK),Options,ColumnNames
讓我解釋一下我在這裏想要達到的目標。我們有儀器和問題之間的多對多關聯,所以我創建了一個橋表tblInstrumentQuestions處理這個問題。在此表中,FormID
是在線託管的儀器源代碼中輸入元素的名稱。最後,由於這是橋樑之間的橋樑,因此橋樑的主鍵是這些表格的鍵的組合。
每個問題有一個提示,一個類型和一個recode(直方圖中的binning代碼)。由於大多數問題都有多個響應選項,其中一些可能類似於矩陣,因爲它們在行和列中都有標籤,所以我們有另一個表tblDimensionLabels它允許我們查找給定問題的選項和任何列名稱。此表包含QuestionID作爲執行此查找的外鍵。
最後,對於每個問題,我們都翻譯成各種語言。該tblTranslation表包含QuestionID作爲外鍵,並具有一個子表tblTranslationDimLabels其中有異曲同工之妙的tblTranslation爲tblDimensionLabels確實爲tblQuestion。
我是數據庫設計的總新手,歡迎任何反饋!