我想以某种方式对游戏类型进行建模,使得类型可以包含子节,例如
类型|子类型
行动>动作冒险
行动>射手
模拟>车辆模拟
你可以想象我不会将Shooter作为Simulation的子部分,等等。
我想这样做,但有更好的方法:
类型(类型{PK},SubGenre {FK})
SubGenre (SubGenre {PK},类型{FK})
答案 0 :(得分:2)
我可能会创建类型的Genres和SubGenres表:
类型(GenreID {PK},GenreName)
SubGenre (SubGenreID {PK},GenreID {FK},SubGenreName)
没有理由在您的Genres表中将SubGenre作为FK。这限制了每个子类型的一种类型。
答案 1 :(得分:1)
我认为你需要:
Genres
------
Genre PK
SubGenres
---------
SubGenre PK
Genre FK
或者这个(如果2种类型的机会有同名的子类型),例如:
行动>空间
模拟>空间
Genres
------
Genre PK
SubGenres
---------
Genre PK FK
SubGenre PK