php - 数据库设计缺陷?

标签 php mysql database

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

User-
ID/
name/
email

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

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

我能想到的获取列表信息的最佳方法是使用标题 ID 查询用户 ID 以获取其特定列表(文本)标题。现在它不允许我添加 titleID 作为 FK,因为它无法添加或更新子行,所以这就引出了一个问题,是否有更好的方法来设置它来进行查询更容易获得列表吗?

最佳答案

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

你是说“现在它不允许我添加 titleID 作为 FK,因为它无法添加或更新子行”,这是数据库尖叫还是应用程序? MS-access 或类似的?

关于php - 数据库设计缺陷?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8736033/

相关文章:

c# - MySQL与C#的连接

MySQL 从数据库分组

php - SQL 查询在 PHP 中没有给出任何结果

php - codeigniter身份验证: redirecting to home page

mysql - 如果插入记录时mysql中的int数据类型达到限制怎么办?

php - 编写这个 mysql join 与 google map 地理编码的正确方法是什么?

php - Android json php mysql 仅返回单行

PHP Magic __invoke 对类的对象属性

mysql - 选择另一个 RDBMS

sql-server - 如何避免由于非聚集非唯一索引导致的 Insert/Delete 语句之间的死锁!