数据库设计缺陷?

时间:2012-01-05 00:22:11

标签: php mysql database

我正在设计一个用户可以制作列表的数据库。棘手的部分(对我来说)是每个用户都可以制作一个具有相同标题的列表,并在其上有类似的项目。我的解决方案是创建3个表:

User-
ID/
name/
email

Title-
ID/
name/ 
date/
userID [FK]

List-
ID/
userID [FK]/
titleID [FK]/
text

我能想到获取列表信息的最佳方式是使用user ID查询title ID以获取该标题的特定列表(文本)。现在它不允许我将titleID添加为FK,因为它无法添加或更新子行,因此提出问题,是否有更好的方法来设置它以使查询更容易获得清单?

1 个答案:

答案 0 :(得分:2)

“标题”是一个非常模糊的实体名称。我推荐User,List,ListItems。另外,请考虑将您的PK字段更改为UserID,ListID。它将使您的sql语句更具可读性。

你说“现在它不会让我将titleID添加为FK,因为它无法添加或更新子行”,这是db尖叫还是应用程序? MS访问或类似?