常见的字段类型选择
1.字符类型建议采用varchar/nvarchar数据类型 2.金额货币建议采用money数据类型 3.科学计数建议采用numeric数据类型 4.自增长标识建议采用bigint数据类型 (数据量一大,用int类型就装不下,那以后改造就麻烦了) 5.时间类型建议采用为datetime数据类型 6.禁止使用text、ntext、image老的数据类型 7.禁止使用xml数据类型、varchar(max)、nvarchar(max)
约束与索引
每张表必须有主键
每张表必须有主键,用于强制实体完整性
单表只能有一个主键(不允许为空及重复数据)
尽量使用单字段主键
不允许使用外键
外键增加了表结构变更及数据迁移的复杂性
外键对插入,更新的性能有影响,需要检查主外键约束
数据完整性由程序控制
NULL属性
新加的表,所有字段禁止NULL
(新表为什么不允许NULL? 允许NULL值,会增加应用程序的复杂性。你必须得增加特定的逻辑代码,以防止出现各种意外的bug 三值逻辑,所有等号(“=”)的查询都必须增加isnull的判断。 Null=Null、Null!=Null、not(Null=Null)、not(Null!=Null)都为unknown,不为true)
举例来说明一下:
如果表里面的数据如图所示:
你想来找查找除了name等于aa的所有数据,然后你就不经意间用了SELECT * FROM NULLTEST WHERE NAME |