mysql - 数据库设计对象略有不同

标签 mysql database-design

设计一个数据库的最佳方法是什么,该数据库的对象类型共享一些列,但也有一些自己的列?

共享数据有1个表,让每个类型都有自己的表

[objects] o_id | o_name | object_type

[object_type_1] o_t_id | o_id | option1 | option 2

[object_type_2] o_t_id | o_id | option3 | option 4

或 有 1 个表中的所有列并且有很多 NULL 的

[objects] o_id | o_name | object_type | option1 | option 2 | option3 | option 4

最佳答案

这是一个常见问题。不存在单一的最佳解决方案。您必须始终根据您的模型权衡每一项的利弊。

看看你的选择:

对于您的额外属性,另一种方法是 EAV。这有一些严重的好处,但也有一些巨大的缺点,所以在认为它是“银弹”之前要小心:

关于mysql - 数据库设计对象略有不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8233999/

相关文章:

mysql - Workbench Mysql 导入错误 1050 (42S01)

javascript - AJAX JQuery 从 html 中删除但不从 mysql 数据库中删除

mysql - 我应该在 MySQL 表中放置索引

mysql - 我应该索引哈希吗?

java - MySql 出现 JAVA 错误。上一个成功发送到服务器的数据包是 0 毫秒前

MySQL存储过程解析select语句中使用的日期参数

mysql - 数据库设计问题-空外键

mysql - 权限系统最有效/最简单的方法?

php - MySql查询优化方法

php - 在MySql中切换两行的id号