php - 数据库中具有共同属性和独立属性的元素

标签 php mysql database database-design

我有一个带有表post的数据库,用户可以提交多种类型的帖子,并且所有这些类型共享属性,并具有自己的属性。例如:视频和标准帖子都有描述,但只有视频帖子才有视频链接/文件属性。

我所做的是创建一个包含常见属性的表帖子,例如creationDatedescription

我创建了其他表,包含其他属性,随着帖子类型数量的增长,我想我将不得不添加更多表。

当然,这种设计的问题在于,当我想要检索一篇帖子时,我必须从 posts 表中检索其数据,然后使用其 IDType 从类型表(例如:视频表)检索数据。当我想在一页中检索不同类型的数据时,我必须处理许多表。

这似乎不实用,因为我在 Apache 服务器中使用 PHP/MySQL。

我可以实现其他更好的想法来获得相同的结果吗?

最佳答案

您的设计遵循 中描述的技术。信息选项卡中有该技术的概述。

您可能想使用 进行探索作为一种加快速度的方法,并且作为一种使用 post-id 作为 FK 的方法,而不必为每个帖子类型使用不同的 FK 类型。它还可以加快连接速度。

缺点是,每当您发现新的帖子类型时,都必须添加新表格。但是,如果您正在构建对象模型,则必须在同一发现中添加新的子类。

关于php - 数据库中具有共同属性和独立属性的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16374380/

相关文章:

mysql - Drupal 字段值和长文本

java - 找到重复的主键时替换行

php - 使用 wp_insert_post() 时如何在 post_content 中插入古腾堡 block ?

php DOM 获取属性

php - MySQL 查询 : right syntax to use for `SELECT users.(foo, bar)`

javascript - Jquery 将最后的输出作为值

mysql - Hibernate 创建模式中的 UTF-8 问题

Excel - 如何连接到另一个 Excel 文件?

php不显示数据库结果

PHP 密码更新表单未写入数据库