Как смоделировать подразделы в реляционной базе данных? - PullRequest
0 голосов
/ 07 марта 2012

Я бы хотел смоделировать жанры игр таким образом, чтобы у жанров были подразделы, например,
Жанр | Sub Genre
Экшн> Экшн Приключения
Действие> Стрелок
Моделирование> Моделирование автомобиля

Как вы можете себе представить, я не считаю, что Shooter является подразделом Simulation и т. Д.

Я думал об этом, но есть ли лучший способ:
Жанры (Жанр {PK}, SubGenre {FK})
SubGenre (SubGenre {PK}, Genre {FK}) *

Ответы [ 2 ]

2 голосов
/ 07 марта 2012

Вероятно, я бы создал таблицы Genres и SubGenres, например:

Жанры (GenreID {PK}, GenreName)

SubGenre (SubGenreID {PK}, GenreID {FK}, SubGenreName)

Нет причин указывать SubGenre в качестве FK в таблице жанров. Это ограничивает вас одним жанром на поджанр.

1 голос
/ 07 марта 2012

Я думаю, вам нужно:

Genres 
------
Genre PK 


SubGenres
---------
SubGenre  PK
Genre        FK

или это (если есть шанс, что 2 жанра имеют поджанры с одинаковыми именами), например:

Экшн> Космос
Симуляторы> Космос

Genres 
------
Genre PK 


SubGenres
---------
Genre     PK  FK
SubGenre  PK
...