2017-08-01 34 views
0

我正在設計一個數據庫來存儲調查工具。每項調查都包含許多問題,這些問題又與翻譯成各種語言相關聯。我的數據庫模型看起來如何?

這裏是我到目前爲止(斜體PKS):

  • tblInstrumentInstrumentID,名稱,開始,結束
  • tblInstrumentQuestionsInstrumentIDQuestionID, FormID
  • tblQuestionQuestionID,提示,類型,重新編碼
  • tblDimensionLabelsDimensionID,QuestionID(FK),選項,COLUMNNAMES
  • tblTranslationTranslationID,QuestionID(FK),迅速
  • tblTranslationDimLabelsTransDimID,TranslationID(FK),Options,ColumnNames

讓我解釋一下我在這裏想要達到的目標。我們有儀器和問題之間的多對多關聯,所以我創建了一個橋表tblInstrumentQuestions處理這個問題。在此表中,FormID是在線託管的儀器源代碼中輸入元素的名稱。最後,由於這是橋樑之間的橋樑,因此橋樑的主鍵是這些表格的鍵的組合。

每個問題有一個提示,一個類型和一個recode(直方圖中的binning代碼)。由於大多數問題都有多個響應選項,其中一些可能類似於矩陣,因爲它們在行和列中都有標籤,所以我們有另一個表tblDimensionLabels它允許我們查找給定問題的選項和任何列名稱。此表包含QuestionID作爲執行此查找的外鍵。

最後,對於每個問題,我們都翻譯成各種語言。該tblTranslation表包含QuestionID作爲外鍵,並具有一個子表tblTranslationDimLabels其中有異曲同工之妙的tblTranslationtblDimensionLabels確實爲tblQuestion

我是數據庫設計的總新手,歡迎任何反饋!

回答

2

我認爲你在設計數據庫和思考方面做得很好,但我會建議使用一些數據庫設計工具,它可以幫助你找到缺失的連接並正確/可視化地思考。

入住這link這是你的問題的數據庫模型,如下圖所示,創建您的數據庫模型,我用我最喜歡的數據庫設計工具,稱爲[SqlDBM]一個:http://sqldbm.com/。它可以免費使用,並且只需很少的開始。

enter image description here