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 - 如何编写程序在mysql中动态添加where子句

php - 添加到不同表时删除一行

c# - 无法将类型为 'System.String' 的对象转换为类型 'System.Byte[]' 错误 MYSQL NET CORE 3.1

sql - 关系代数 - 自然连接 - 一些基础知识

MySQL 基于右表中的最新行进行连接

mysql - 这 2 个 JOIN 有什么区别?

php - SQL 注入(inject)演示失败 - 注释字符因换行而失败

java - 如何将多个JCombobox中的选定项插入数据库mysql? ( java )

database - 显示oracle数据库的所有 View

java - Ormlite 查询生成器条件