admin 管理员组

文章数量: 887018


2024年1月23日发(作者:颜色的含义)

求助数据库结构设计评审范围和标准!

大家好,有没有哪位做过有关数据库结构设计的评审工作的,评审的范围和标准如何定义,请热心人帮帮忙?

我整理了一份,不知道是否可行,拿出来大家讨论一下,欢迎提意见!

1.设计数据库前(需求分析阶段)

1) 理解客户需求,询问用户如何看待未来需求变化;

2) 了解企业业务;

3) 重视输入输出;

4) 创建数据字典和ER 图表;

5) 定义标准的对象命名规范:数据库各种对象的命名必须规范;

2. 表和字段的设计(数据库逻辑设计)

表设计原则

1)标准化和规范化

2) 数据驱动

3)考虑各种变化

字段设计原则

1)每个表中都应该添加的几个有用的字段:用于准确说明记录中出现null 数据或者丢失数据的原因;

2) 对地址和电话采用多个字段:描述街道地址就短短一行记录是不够的;还有,电话号码和邮件地址最好拥有自己的数据表,其间具有自身的类型和标记类别。

3) 使用角色实体定义属于某类别的列:在需要对属于特定类别或者具有特定角色的事物做定义时,可以用角色实体来创建特定的时间关联关系,从而可以实现自我文档化。

4) 选择数字类型和文本类型尽量充足

5) 增加删除标记字段

3. 选择键和索引(数据库逻辑设计)

键选择原则

1)键设计4 原则:为关联字段创建外键、所有的键都必须唯一、避免使用复合键、外键总是关联唯一的键字段;

2)使用系统生成的主键:设计数据库的时候采用系统生成的键作为主键,那么实际控制了数据库的索引完整性;

3)不要用用户的键(不让主键具有可更新性);

4)可选键有时可做主键:把可选键进一步用做主键,可以拥有建立强大索引的能力。

索引使用原则

1) 逻辑主键使用唯一的成组索引,对系统键(作为存储过程)采用唯一的非成组索引

2) 大多数数据库都索引自动创建的主键字段,但是可别忘了索引外键

3) 不要索引memo/note 字段

4) 不要索引常用的小型表:不要为小型数据表设置任何键,假如它们经常有插入和删

除操作就更别这样作了。

4. 数据完整性设计(数据库逻辑设计)

1) 完整性实现机制:实体完整性、参照完整性、用户定义完整性

2) 用约束而非商务规则强制数据完整性

3) 强制指示完整性

4) 使用查找控制数据完整性

5) 采用视图

4. 其他

1)避免使用触发器

触发器的功能通常可以用其他方式实现,在调试程序时触发器可能成为干扰;假如你确实需要采用触发器,你最好集中对它文档化。

2)使用常用英语(或者其他任何语言)而不要使用编码

在创建下拉菜单、列表、报表时最好按照英语名排序;假如需要编码,可以在编码旁附上用户知道的英语。

3)保存常用信息

4)包含版本机制

5)编制文档:对所有的快捷方式、命名规范、限制和函数都要编制文档。采用给表、列、触发器等加注释的数据库工具,对开发、支持和跟踪修改非常有用。对数据库文档化,或者在数据库自身的内部或者单独建立文档;这样,当过了一年多时间后再回过头来做第2 个版本,犯错的机会将大大减少。


本文标签: 数据库 主键 使用 完整性 采用