我正在为我的游戏制作一个数据库,我需要存储很多c风格的结构。为T-SQL创建一个结构类型作为列值?
struct stats{
int strength, stamina, agility, intelligence, etc..;
}
我一直在寻找如何在T-SQL创建用户定义的数据类型和MSDN明确表示,用户定义的数据类型不能用作列类型:
有没有解决方法,或者其他方式来创建一个基于结构的系统?我也需要一个技能结构,并且我有大约120+技能需要存储在我的玩家表下。我所需的表会是这个样子:
CREATE TABLE [dbo].[Player](
player_name nvarchar (20),
gold int,
player_stats stats, // array of 4 ints
player_skills skills, // array of 120+ tinyints
player_location location, // array of 3 floats (x,y,z)
player_customization customization, // array of 20+ tinyints
player_equipment equipment, // array of 8 ints
etc....)
是否有这样做的一个简单的方法还是我只需要添加所有这些作为单独的列类型?谢谢您的帮助。
这是不是很规范化。你应该考虑把它分成不同的列。 –
通常,您需要为每个结构定义一个表,其中的列与结构中的每个字段对齐。 –