2016-05-20 48 views
3

我試圖破譯我的老師幫助我製作的數據庫ER圖。我主要想弄清楚如何構建所需的表格並將它們正確地結合起來。解密調查問卷的數據庫ER圖

問題ER圖是針對在線調查問卷,其中每個問題都基於前一個問題的答案,最終導致解決方案/結束。

每個問題都可以有多個答案,同一個問題可以有多個不同的答案,這取決於給出的答案。

組合表顯示哪個答案與哪個問題相關聯,以及下一個問題應該是什麼,如果給出具體答案,最終導致解決方案。

ER圖如下所示:

enter image description here

我不明白:

解決方案/問題表將舉行這兩個問題和解決方案,它可以有不同的實體,但我不明白這是如何完成的? D是什麼?

導致是一個結合表,因爲它是許多人回答問題/解決方案,但爲什麼之間有許多連接?他們沒有連接在組合表中嗎? - 如果選擇了特定的答案,該表格是否不包含知道哪些答案與哪個問題相關以及下一個問題將需要的所有信息?

我很難搞清楚如何建立這個數據庫,所以它會按需要工作。

回答

5

你的圖不是一個合適的ER圖。特別是,這裏的「具體解決方案實體」和「具體問題實體在這裏」的橢圓不會分別表示SolutionQuestion的屬性。這意味着Question,SolutionQuestion/Solution沒有任何屬性。另外,Combination實體具有Answer IDQuestion/Solution ID作爲屬性而不是與相關實體相關。

讓我們快速回顧ER圖的元素。

  • 矩形表示實體,橢圓表示屬性。
  • 帶下劃線的橢圓形標籤指示屬性是標識實體的主鍵的一部分。
  • 鑽石表示關係。
  • 關係通過它們相關實體的關鍵屬性進行標識。
  • 關係也可以具有屬性。
  • 包含do的圓圈表示不相交或重疊的子類型關係。

根據您的要求,我想出了以下功能和多值依賴:

  • QuestionID - > QuestionText
  • AnswerID - > AnswerText
  • AnswerID - > QuestionID(可能的答案)
  • DecisionID - >問題ID
  • DecisionID - >> AnswerID(可選答案)
  • DecisionID,AnswerID - > NextDecisionID

在此基礎上,我建議如下ER圖:

Decision tree ER diagram

轉換爲表格模型(我反規範化使用相同的決定關係,這也就是爲什麼有一個爲PossibleAnswers和DecisionQuestion沒有表):

Decision tree database diagram

使用這種方法,您可以描述任意數量的問題路徑,併爲每個決策提供一組可用的答案,並引用下一個問題。解決方案沒有明確建模,而沒有NextDecisionID的AvailableAnswer表明解決方案。

+0

這是非常棒的輝煌,我衷心感謝你的工作,並認爲你已經投入了這一點。非常感謝你!儘管我有兩個問題,但您如何區分可用的答案和可能的答案?這是否意味着一個問題只能使用一次?如果是這樣,有沒有辦法輕易改變這種情況,所以問題可以多次使用?我沒有詳細說明應該可以多次使用它們,我只是確認。 – user2304993

+1

問題的所有可能答案都顯示在答案表中,而AvailableAnswers表在每個決策點都保留允許的答案。您可以根據需要在不同的決策點多次重複使用問題。你甚至可以創建循環的問題路徑。 – reaanb

+0

我正在通過你的解決方案,我仍然感到震驚。但我還有一個問題。在數據庫的表格表示形式中,您將AnswersID作爲Answers表中的外鍵。這不會限制答案與一個問題聯繫在一起嗎?因此,在兩個不同的問題中,我需要相同的答案來規範化表格嗎?我可能很容易誤解了一些東西,如果你能解釋,我會非常感激。提前致謝。 – user2304993