Mil*_*les 5 sql sql-server database-design
Joe Celko(sql guru)说我们不应该使用专有数据类型,特别是因为SQL-Server使用高级语言,所以不要使用像bit或byte这样的机器级数据.基本上,数据建模的原理是数据抽象.因此,对于像"IsActive"等字段一样辨别上述建议,数据类型的正确选择是什么,一个是非常便携的,一个是由前端层清楚地解密的?谢谢!
在 SQL Server 中,我会选择BIT数据类型,因为它符合您描述的抽象要求:它可以有 2 个值(通过广泛使用的约定 Yes = 1 和 No = 0 映射到 Yes 和 No)。如果需要,它可以有一个附加的 NULL 值。
如果可能的话,使用本机数据类型可以为其他人带来性能、清晰度和可理解性方面的所有好处。更不用说在可以保持简单的情况下不要使事情过于复杂的原则。