Я работаю над настройкой базы данных для размещения свойств, связанных с игрой, например, поддерживает ли она многопользовательскую игру, какие это жанры, даты выхода и т. Д.
Похоже на создание двухдополнительные таблицы (например, genres_data) для каждого типа категории не так динамичны, как могли бы быть.Первоначально я думал настроить его одним из двух способов ...
Иметь таблицу игр со скелетной информацией, затем таблицу свойств, в которой перечислены все свойства, и третью таблицу, содержащую все данные, относящиеся кигра, в которой по существу используются только столбцы, связанные с каждым свойством:
games
-----------
game_id
... relevant data
properties
-----------
property_id
title
type
category
properties_data
---------------
game_id
property_id
bool
min
max
date
text(max255)
longtext
Или, чтобы таблица игр была одинаковой, а свойства содержали имя столбца, а затем использовали столбцы в третьей таблице:
properties
--------------
property_id
title
type
category
column_name
properties_data
----------------
game_id
title
description
release_date_au
release_date_jp
genre_rpg
genre_fps
platform_360
platform_ps3
platform_pc
has_leaderboards
has_downloadable_content
... etc
Каков практический подход в сценарии такого рода, когда у вас есть около полудюжины типов данных, связанных со строкой, но большое количество категорий и вспомогательных свойств в каждой категории?Мне кажется неэффективным составлять таблицу для каждого типа свойства или категории (для меня).