Joe Celko (SQL大师)表示,我们不应该使用专有的数据类型,特别是应该避免使用机器级别的东西,比如位或字节,因为SQL服务器使用高级语言。基本上,数据建模的原则是数据抽象。所以对于像“IsActive”等字段的区分建议,什么样的数据类型才是正确选择?一个非常便携的并且可以被前端层清晰解析的数据类型。
Joe Celko (SQL大师)表示,我们不应该使用专有的数据类型,特别是应该避免使用机器级别的东西,比如位或字节,因为SQL服务器使用高级语言。基本上,数据建模的原则是数据抽象。所以对于像“IsActive”等字段的区分建议,什么样的数据类型才是正确选择?一个非常便携的并且可以被前端层清晰解析的数据类型。
BIT数据类型,因为它符合您描述的抽象要求:它可以有2个值(根据广泛使用的约定,映射为Yes = 1和No = 0)。如果需要,它还可以具有附加的NULL值。
如果可能,使用本机数据类型具有性能、清晰度和易于理解的所有好处。更不用说保持简单而不过分复杂化事物的原则了。