我正在开发一个游戏SDK,它以故事情节,角色,练级等的建立和持久性为中心。
我从一个不同类的思维导图开始,现在正在将这些简单的表示带入UML。由于游戏的持久化将使用SQLite完成,我将类表示为数据库记录类型。其中一种记录类型RangedProperty用于多个表:派系,特征,状态等。
CREATE TABLE [RangedProperty] (
[UID] INTEGER NOT NULL ON CONFLICT FAIL,
[OID] INTEGER NOT NULL,
[Name] TEXT,
[Description] TEXT,
[Tag] TEXT,
[Min] INTEGER DEFAULT 1,
[Max] INTEGER DEFAULT 100,
[Current] INTEGER DEFAULT 50);

由于这些表都使用相同的记录类型,将Tag字段留在原位是否合理,而不是为Factions,Traits等使用单独的表 - 只需为它们使用相同的表?这似乎有助于提高可靠性,因为只需要对一个表进行记录类型的更改,从而减少出错的可能性。
谢谢!
注意:我已经考虑过将INTEGER用于字段类型,因为它可以实现更快的比较,但如果没有使用Tag字段,请考虑一个没有实际意义的点。