专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »数据库 » 数据库技巧:数据库设计窍门技巧奉送了 »正文

数据库技巧:数据库设计窍门技巧奉送了

来源: 发布时间:星期二, 2008年12月23日 浏览:103次 评论:0
1. 设计数据库的前(需求分析阶段)
1) 理解客户需求询问用户如何看待未来需求变化让客户解释其需求而且随着开发继续还要经常询问客户保证其需求仍然在开发的中
2) 了解企业业务可以在以后开发阶段节约大量时间
3) 重视输入输出
在定义数据库表和字段需求(输入)时首先应检查现有或者已经设计出报表、查询和视图(输出)以决定为了支持这些输出哪些是必要表和字段
举例:假如客户需要个报表按照邮政编码排序、分段和求和你要保证其中包括了单独邮政编码字段而不要把邮政编码糅进地址字段里
4) 创建数据字典和ER 图表
ER 图表和数据字典可以让任何了解数据库人都明确如何从数据库中获得数据ER图对表明表的间关系很有用而数据字典则介绍说明了每个字段用途以及任何可能存在别名对SQL 表达式文档化来说这是完全必要
5) 定义标准对象命名规范标准
数据库各种对象命名必须规范标准
2. 表和字段设计(数据库逻辑设计)
表设计原则
1) 标准化和规范标准化
数据标准化有助于消除数据库中数据冗余标准化有好几种形式但Third Normal Form(3NF)通常被认为在性能、扩展性和数据完整性方面达到了最好平衡简单来说遵守3NF 标准数据库表设计原则是:“One Fact in _disibledevent=red>Access)、关联设计文档名称、客户等信息这样可以实现种简单机制跟踪数据库当客户抱怨他们数据库没有达到希望要求而和你联系时这样做对非客户机/服务器环境特别有用
4) 包含版本机制
在数据库中引入版本控制机制来确定使用中数据库版本时间用户需求总是会改变最终可能会要求修改数据库结构把版本信息直接存放到数据库中更为方便
5) 编制文档
对所有快捷方式、命名规范标准、限制和都要编制文档
采用给表、列、触发器等加注释数据库工具对开发、支持和跟踪修改非常有用
对数据库文档化或者在数据库自身内部或者单独建立文档这样当过了年多时间后再回过头来做第2 个版本犯错机会将大大减少
6) 测试、测试、反复测试
建立或者修订数据库的后必须用用户新输入数据测试数据字段最重要让用户进行测试并且同用户道保证选择数据类型满足商业要求测试需要在把新数据库投入实际服务的前完成
7) 检查设计
在开发期间检查数据库设计常用技术是通过其所支持应用原型检查数据库换句话说针对每种最终表达数据原型应用保证你检查了数据模型并且查看如何取出数据
3、数据库命名规范标准
1. 实体(表)命名
1) 表以名词或名词短语命名确定表名是采用复数还是单数形式此外给表别名定义简单规则(比方说如果表名是个单词别名就取单词前4 个字母;如果表名是两个单词就各取两个单词前两个字母组成4 个字母长别名;如果表名字由3 个单词组成从头两个单词中各取个然后从最后个单词中再取出两个字母结果还是组成4 字母长别名其余依次类推)
对工作用表来说表名可以加上前缀WORK_ 后面附上采用该表应用名字在命名过程当中根据语义拼凑缩写即可注意由于ORCLE会将字段名称统成大写或者小写中所以要求加上下划线
举例:
定义缩写 Sales: Sal 销售;
Order: Ord 订单;
Detail: Dtl 明细;
则销售订单明细表命名为:Sal_Ord_Dtl;
2) 如果表或者是字段名称仅有个单词那么建议不使用缩写而是用完整单词
举例:
定义缩写 Material Ma 物品;
物品表名为:Material, 而不是 Ma.
但是字段物品编码则是:Ma_ID;而不是Material_ID
3) 所有存储值列表表前面加上前缀Z
是将这些值列表类排序在数据库最后
4) 所有冗余类命名(主要是累计表)前面加上前缀X
冗余类是为了提高数据库效率非规范标准化数据库时候加入字段或者表
5) 关联类通过用下划线连接两个基本类的后再加前缀R方式命名,后面按照字母顺序罗列两个表名或者表名缩写
关联表用于保存多对多关系
如果被关联表名大于10个字母必须将原来表名进行缩写如果没有其他原因建议都使用缩写
举例:表Object和自身存在多对多关系,则保存多对多关系表命名为:R_Object;
表 Depart和Employee;存在多对多关系;则关联表命名为R_Dept_Emp
2. 属性(列)命名
1) 采用有意义列名表内列要针对键采用整套设计规则个表都将有个自动ID作为主健,逻辑上主健作为第组候选主健来定义,如果是数据库自动生成编码命名为:ID;如果是自定义逻辑上编码则用缩写加“ID”思路方法命名如果键是数字类型你可以用_NO 作为后缀;如果是类型则可以采用_CODE 后缀对列名应该采用标准前缀和后缀
举例:销售订单编号字段命名:Sal_Ord_ID;如果还存在个数据库生成自动编号则命名为:ID
2) 所有属性加上有关类型后缀注意如果还需要其它后缀都放在类型后缀的前
注: 数据类型是文本字段类型后缀TX可以不写有些类型比较明显字段可以不写类型后缀
3) 采用前缀命名
给每个表列名都采用统前缀那么在编写SQL表达式时候会得到大大简化这样做也确实有缺点比如破坏了自动表连接工具作用后者把公共列名同某些数据库联系起来
3. 视图命名
1) 视图以V作为前缀其他命名规则和表命名类似;
2) 命名应尽量体现各视图功能
4. 触发器命名
触发器以TR作为前缀触发器名为相应表名加上后缀Insert触发器加"_I"Delete触发器加"_D"Update触发器加"_U"如: TR_Customer_ITR_Customer_DTR_Customer_U
5. 存储过程名
存储过程应以"UP_"开头和系统存储过程区分后续部分主要以动宾形式构成并用下划线分割各个组成部分如增加代理商帐户存储过程为"UP_Ins_Agent_Account"
6. 变量名
变量名采用小写若属于词组形式用下划线分隔每个单词如@my_err_no
7. 命名中其他注意事项
1) 以上命名都不得超过30个系统限制变量名长度限制为29(不包括标识@)
2) 数据对象、变量命名都采用英文禁止使用中文命名绝对不要在对象名的间留空格
3) 小心保留词要保证你字段名没有和保留词、数据库系统或者常用访问思路方法冲突
5) 保持字段名和类型致性在命名字段并为其指定数据类型时候定要保证致性假如数据类型在个表里是整数那在另个表里可就别变成型了
0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: