四 其他设计
避免使用触发器
触发器的功能通常可以用其他方式实现在调试程序时触发器可能成为干扰假如确实需要采用触发器
要集中对它文档化
使用常用英语(或者其他任何语言)而不要使用编码
在创建下拉菜单列表报表时最好按照英语名排序假如需要编码可以在编码旁附上用户知道的英语
包含版本机制
在数据库中引入版本控制机制来确定使用中的数据库的版本时间一长用户的需求总是会改变的最终可能会要求修改数据库结构把版本信息直接存放到数据库中更为方便
编制文档
对所有的快捷方式命名规范限制和函数都要编制文档
采用给表列触发器等加注释的数据库工具对开发支持和跟蹤修改非常有用
反复测试
建立或者修订数据库之后必须用用户新输入的数据测试数据字段最重要的是让用户进行测试并且同用户一道保证选择的数据类型满足商业要求测试需要在把新数据库投入实际服务之前完成
检查设计
在开发期间检查数据库设计的常用技术是通过其所支持的应用程序原型检查数据库换句话说针对每一种最终表达数据的原型应用保证你检查了数据模型并且查看如何取出数据
五数据库命名规范
表的命名
表以汉语拼音缩写命名即以表示此表信息的名称的汉语拼音缩写命名表命名中多用_以使表名更易懂表的别名定义采用表名的前四个字母
所有的存储值列表的表前面加上前缀Z目的是将这些值列表类排序在数据库最后
所有的冗余类的命名(主要是累计表)前面加上前缀X冗余类是为了提高数据库效率非规范化数据库的时候加入的字段或者表关联类通过用下划线连接两个基本类之后再加前缀R的方式命名后面按照字母顺序罗列两个表名或者表名的缩写
列的命名
采用有意义的列名表内的列要针对键采用一整套设计规则
每一个表都将有一个自动ID作为主健逻辑上的主健作为第一组候选主健来定义如果是数据库自动生成的编码统一命名为CZID如果是自定义的逻辑上的编码则用缩写加ID的方法命名
如果键是数字类型你可以用_NO 作为后缀如果是字符类型则可以采用_CODE 后缀对列名应该采用标准的前缀和后缀
所有的列名加上有关类型的后缀如果还需要其它的后缀都放在类型后缀之前
注: 数据类型是文本的字段类型后缀TX可以不写有些类型比较明显的字段可以不写类型后缀
采用前缀命名
给每个表的列名都采用统一的前缀那么在编写SQL表达式的时候会得到大大的简化这样做也确实有缺点比如破坏了自动表连接工具的作用后者把公共列名同某些数据库联系起来
视图的命名
视图以V作为前缀其他命名规则和表的命名类似命名应尽量体现各视图的功能
触发器的命名
触发器以TR作为前缀触发器名为相应的表名加上后缀Insert触发器加_InsDelete触发器加_DelUpdate触发器加_Up
存储过程名
存储过程应以UP_开头和系统的存储过程区分后续部分主要以动宾形式构成并用下划线分割各个组成部分
查询加_Qry更新加_Up
变量名
变量名采用小写若属于词组形式用下划线分隔每个单词
命名中其他注意事项
) 以上命名都不得超过个字符的系统限制变量名的长度限制为(不包括标识字符@)
) 数据对象变量的命名都采用拼音字符禁止使用中文命名绝对不要在对象名的字符之间留空格
) 小心保留词要保证你的字段名没有和保留词数据库系统或者常用访问方法沖突
) 保持字段名和类型的一致性在命名字段并为其指定数据类型的时候一定要保证一致性假如数据类型在一个表里是整数那在另一个表里可就别变成字符型了
[] [] []