首页 > 技术文章 > MSSQL数据库设计心得

lzppcc 2014-11-17 15:56 原文

  1. 统一库名命名规则。 格式:公司简称_库名 如:Supesoft_Member  会员库
  2. 建库时,最好将初始大小设置为你认为可允许的最大容量。避免因为库太小,而出现系统自增加。在系统运行中,自动增加空间会影响数据库性能。另外,增加的空间可能和原来的空间不是在磁盘的连续存放位置,从而增加数据的访问时间。
  3. 建库时,有一个排规则。会对影响数据的存储格式。mssql默认的排序规则是不区分大小写和假名。像帐号系统中的用户名字段,区分和不区分就影响很大。排序规则在建库时可以选择。建好库后,建表时会默认使用建库的排序规则,你可以按字段来更改排序规则。
  4. 建表时统一命名规则。格式:系统简称_表名 如:FW_User 用户表
  5. 为表中的字段增加统一前辍。
  6. 表中最好包括以下字段:
    IDX 自增加字段 int类型
    STATUS 状态 0正常
    ROWTIME 记录时间
    ROWTIMEUPDATE 记录修改时间

  7. 表名和字段名都大写。方便以后移到其它数据库。如oracle库,如果字段名不为大写,则要用单引号包括走来才能用。
  8. 字段名不要允许空值。如果搜索有空值的字段是不走索引的。 
  9. 字段名不要设置默认值。统一通过程序来初始化值。
  10. 字符类型字段,如果不存中文请用varchar,如果有可能要存中文请用nvarchar。
  11. 字符类型字段长度尽可能50以上。曾经有个系统用户名字段是20位,后来数据量增加。需要支持邮箱当用户名增加到50位。数据库要修改,程序也要修改,如果外围有用“用户名”当唯一标识也要修改。
  12. 为表名及字段增加说明。好处是,可用生成工具生成对应的表说明文档。另外一些代码生成工具可以根据备注生成对应实体类说明。
    表名说明:
    execute sp_addextendedproperty 'MS_Description',
    '用户表',
    'user', 'dbo', 'table', 'FW_User'
    go

    字段说明:
    execute sp_addextendedproperty 'MS_Description',
    '更新用户id',
    'user', 'dbo', 'table', 'SYS_GROUP', 'column', 'ROWUSERID_U'
    go
    数据库文档生成工具
    RedGate数据库工具.rar
    http://115.com/lb/5lbdnl0tx0n1 115网盘礼包码:5lbdnl0tx0n1
    DDBuildTools http://ddbuildtools.codeplex.com/

  13. 聚合索引速度最快,建立在查询条件上。索引不要建的太多,会对插入数据速度有影响。
  14. 在设计树型分类结表时,增加一个排序字段.varchar(50) 一级为01二级为0101 三级为010101。每二位算一级。如果是varchar(50)最多可以支持25级。每级最多可以有99分类。这样设计好处是可以直对此字段排序就可以出现树型结构。

推荐阅读