我想構建一個相當簡單的應用程序,它將嚴重依賴通過多個表查詢數據並返回最相關信息的能力。SQL多個問題以查找最相關的數據
我最近在關係數據庫中做了一個簡短的課程,但是我希望實現的是低於我們所涵蓋的範圍。我有點迷失在從哪裏開始,並尋找一些關於如何處理數據功能和查詢的一般信息。顯然,我不是在尋找某人回覆很多代碼,而是更多地指向正確的方向。
我想這樣做:
- 我想爲一組測試用戶的挑選自己頂5個興趣或消遣。
- 我想他們回答10個關於他們個性的簡單問題。
- 我想要一個新的最終用戶回答與測試用戶相同的10個問題。
- 我想根據測試組給出的答案與答案的接近程度,以降序向最終用戶返回最相關的興趣或消遣,即如果他們具有相似的個性,他們可能會享受相同的興趣或消遣。
我想這可能很像約會網站可能的工作方式。
從我在球場上,我想我會要求下表瞭解到但有可能是一個更好的辦法:
User (UserID, Fname, Lname, Age)
Question (QuestionID, Question, Answer1, Answer2, Answer3, Answer4, Answer5)...user would pick 1 answer here only
User/Question (UserID/QuestionID, AnswerGiven)
Pastime (PastimeID, PastimeName, Description)
User/Pastime (UserID/PastimeID)
我要補充的是,問題的答案是選擇題和不文本由用戶輸入,因此只需要數字,即。用戶選擇了答案編號4.
任何人都可以指出我正確的方向:a)處理問題/答案,b)如何將所有答案分組在一起而不是多次查詢數據庫, c)如何根據最終用戶向測試用戶回答問題的方式來查詢數據庫以返回最相關的消遣時間。
任何幫助都非常感謝。
謝謝
我會把答案變成他們自己的小表:答案表:AnswerID,AnswerText。然後,用戶/問題將包含用戶ID,問題ID,答案ID。 – dcoli
謝謝你的建議dcoli。此外,我剛剛編輯我的原始問題,說問題是多項選擇,所以,答案將只是數字(沒有答案文字) – Sio
你的意思是答案的價值將是一個數字(如解決數學問題),或將有是分配給每個多選選項的ID號碼,還是複選框旁邊的文字答案?如果是後者,我的桌子仍然會有幫助。 – dcoli