我想构建一个相当简单的应用程序,它将严重依赖通过多个表查询数据并返回最相关信息的能力。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