美文网首页
sqlserver 数据库设计规范

sqlserver 数据库设计规范

作者: Sunday_1024 | 来源:发表于2021-11-01 12:06 被阅读0次

    0 建议在ssms表设计器里增加说明和默认设置列,方便创建库。效果如下

    image.png

    设置方法参考 https://www.jianshu.com/p/d7d55a2f53d3

    1 每个表一定要有主键

    主键属于索引的一种,会提高查询效率。

    2 每个表都要写中文注释和默认值

    有中文注释(也就是数据库[说明]),方便业务理解,代码生成工具也会调用注释内容方便代码生成。

    图2
    2.1 表都要有默认值,除了个别的datetime类型

    有默认值,避免判断数据为null,判断null效率很低下。除了个别datetime类型可以允许为null,例如更新时间updatetime字段,如果给默认值业务上可能会有歧义,避免这种情况可以设置为null。而addtime不允许为null是业务上的规定。

    2.2 主键注释可以不写,要写可写表注释

    主键写表注释(说明),方便查看表备注。

    2.3 关联其他表字段,要在注释里写关联表

    如图2 newsTypeid 注释写法:字段说明+ 关联xxx表主键

    2.4 如果表的值含义是整数类型,C#程序可以用枚举来表示

    如图2 newsTypeEnum 注释写法:字段说明 (枚举)

    2.5 如果表的值含义是文字类型,要写上所有的值

    如图2 newsType2 注释写法:字段说明 [值1,值2,值3,值4,....] 。 注意值要以中括号表示

    2.6 如果表的值含义是其他规则,用小括号进行说明

    如图2 tags字段

    3 禁止使用ntext、text 和 image作为数据库字段类型

    请改用 nvarchar(max)、 varchar(max)和 varbinary(max) 。

    微软官方都不推荐使用ntext、text 和 image。
    https://docs.microsoft.com/zh-cn/sql/t-sql/data-types/ntext-text-and-image-transact-sql?redirectedfrom=MSDN&view=sql-server-ver15

    说明一点:nvarchar(4000) 跟 nvarchar(max) 不是一个东东,nvarchar(数值) 只能是1到4000 双字节长度,而nvarchar(max)是存储2GB长度

    https://docs.microsoft.com/zh-cn/sql/t-sql/data-types/nchar-and-nvarchar-transact-sql?view=sql-server-ver15

    相关文章

      网友评论

          本文标题:sqlserver 数据库设计规范

          本文链接:https://www.haomeiwen.com/subject/khjzaltx.html