mysql - 如何对关系数据库中的子部分进行建模?

标签 mysql sql database relational-database data-modeling

我想以某种方式对游戏类型进行建模,使类型可以有子部分,例如
类型 |子流派
Action > Action 冒险
Action > 射击
模拟 > 车辆模拟

正如你可以想象的那样,我不知道射击游戏是模拟的子部分,等等。

我正在考虑这样做,但有更好的方法吗:
流派(流派{PK}、子流派{FK})
子流派(子流派{PK}、流派{FK})

最佳答案

我可能会创建 Genres 和 SubGenres 表,例如:

流派(流派ID{PK}、流派名称)

子流派(子流派ID{PK}、流派ID{FK}、子流派名称)

没有理由在您的流派表中将子流派作为 FK。这限制了每个子流派只能使用一种流派。

关于mysql - 如何对关系数据库中的子部分进行建模?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9594411/

相关文章:

mysql - 如何在 laravel 中最大化行大小 | mysql

mysql - 通过连接表满足多个 WHERE 条件

MySQL获取每列记录中的子串匹配计数

mysql - 随机排序 MySQL - 如果元素被更改/删除,顺序相同吗?

database - 如果它不会在实践中使用,那么在 ER 图上映射关系?

php - Laravel 4 高级在哪里 - 未知专栏

php - 如何通过将最后一行值和插入值相加来将值插入到sql数据库中

没有上限的 SQL Server 子字符串

mysql - 连接 innodb 中另一个表的第一个有效行

mysql - Google Cloud SQL 连接问题 (C#)