我正在建立一个数据库来存储与游戏相关的属性,例如它是否支持多人游戏、它是什么类型、发布日期等。
似乎为每个类别类型创建两个额外的表(例如,genres、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
在这种情况下,您有六种左右类型的数据与一行相关,但每个类别中有大量类别和支持属性,那么实际的方法是什么?为每种属性类型或类别(对我而言)制作表格似乎效率不高。