我在代码中有一个枚举
enum EventType
{
Run = 1,
Stop = 2,
}
我的数据库中有一个表
CREATE TABLE [Event] (
[Id] integer PRIMARY KEY AUTOINCREMENT,
[EventType] integer NOT NULL,
[Timestamp] text NOT NULL
);
如果我真的不需要,我应该吗?
CREATE TABLE [EventType] (
[EventTypeId] integer PRIMARY KEY AUTOINCREMENT,
[Name] text
);
INSERT INTO "EventType" VALUES(1, "Run");
INSERT INTO "EventType" VALUES(2, "Stop");
这很糟糕,因为它是代码重复。这很好,因为它是访问数据库并想知道这些EventType数字意味着什么的文档。我应该完全删除这些数字并使用字符串吗?
答案 0 :(得分:1)
我不会为了记录事情而创建额外的表。它增加了整体的复杂性,因此比用户想知道这些数字是多少会使其长期恶化。
我个人而言,就像在数据库中使用字符串枚举一样,因为它使它自我记录。不过,可能会有不同的意见。