我正在设计一个用户可以制作列表的数据库。棘手的部分(对我来说)是每个用户都可以制作一个具有相同标题的列表,并在其上有类似的项目。我的解决方案是创建3个表:
User-
ID/
name/
email
Title-
ID/
name/
date/
userID [FK]
List-
ID/
userID [FK]/
titleID [FK]/
text
我能想到获取列表信息的最佳方式是使用user ID
查询title ID
以获取该标题的特定列表(文本)。现在它不允许我将titleID
添加为FK,因为它无法添加或更新子行,因此提出问题,是否有更好的方法来设置它以使查询更容易获得清单?
答案 0 :(得分:2)
“标题”是一个非常模糊的实体名称。我推荐User,List,ListItems。另外,请考虑将您的PK字段更改为UserID,ListID。它将使您的sql语句更具可读性。
你说“现在它不会让我将titleID添加为FK,因为它无法添加或更新子行”,这是db尖叫还是应用程序? MS访问或类似?