三个小数列 [Number(1)] >>
OptionA | 0/1
OptionB | 0/1
OptionC | 0/1
或更大的字符串列 [Varchar2(29)] >>
Options | OptionA=0/1|OptionB=0/1|OptionC=0/1
我不确定数据库处理表的方式,但我认为将三列保持为 Number(1) 比将一列保持为 Varchar2(29) 更好!
-编辑-
让我再解释一下情况:
我正在开发一个通用框架,在该框架中跟踪所有传入/传出的请求/响应,这些交互可以引导到 DB/File/JMS;现在所有配置都从一个表中加载,该表有一列对应于输出类型,目前我使用“DB=1|FILE=1|JMS=0”作为该列的值,以便稍后如果任何人都想为他们的模块添加这个,他们可以很容易地理解发生了什么,在我的代码中,我编写了一个简单的逻辑,用“|”分割字符串 然后我使用独占或运算符使用开关盒在选择之间切换..
一切都已经完成,但我不喜欢一个大列优于三个小列的想法 + 它会删除我正在做的拆分字符串。
-编辑-
我终于明白了,可能存在我们必须添加更多选项的情况;在这种情况下,如果我们明智地添加数据列,它将导致修改表+更改实体+添加更多 if's n all;另一方面,我最终以简单的位逻辑从它中提取了一个枚举,以在选项之间切换;这样,我需要修改枚举并为新选项添加一个新的处理程序,然后我们就可以开始了。