相关疑难解决方法(0)

如何对可以具有不同属性集的实体类型进行建模?

我在重新创建UsersItems之间具有一对多(1:M)关系的数据库时遇到了一些麻烦。

这很简单,是的;但是,每个Item 都属于某个类别(例如,汽车飞机),并且每个类别都有特定数量的属性,例如:

Car 结构体:

+----+--------------+--------------+
| PK | Attribute #1 | Attribute #2 |
+----+--------------+--------------+
Run Code Online (Sandbox Code Playgroud)

Boat 结构体:

+----+--------------+--------------+--------------+
| PK | Attribute #1 | Attribute #2 | Attribute #3 |
+----+--------------+--------------+--------------+
Run Code Online (Sandbox Code Playgroud)

Plane 结构体:

+----+--------------+--------------+--------------+--------------+
| PK | Attribute #1 | Attribute #2 | Attribute #3 | Attribute #4 |
+----+--------------+--------------+--------------+--------------+
Run Code Online (Sandbox Code Playgroud)

由于属性(列)数量的这种多样性,我最初认为为每个Category创建一个单独的表是个好主意,因此我会避免多个NULL,从而更好地利用索引。

虽然一开始看起来不错,但我找不到通过数据库创建ItemsCategories之间关系的方法,因为至少以我作为数据库管理员的经验来看,在创建外键时,我明确地通知了数据库表名和列。

最后,我想要一个可靠的结构来存储所有数据,同时拥有所有方法来列出用户可能通过一个查询拥有的所有 …

mysql database-design subtypes

14
推荐指数
1
解决办法
1万
查看次数

标签 统计

database-design ×1

mysql ×1

subtypes ×1