知识大全 数据库开发规范详细介绍[1]
Posted 知
篇首语:千金一刻莫空度,老大无成空自伤。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 数据库开发规范详细介绍[1]相关的知识,希望对你有一定的参考价值。
一.数据表和字段的设计
表设计原则
标准化和规范化
数据的标准化有助于消除数据库中的数据冗余 标准化有好几种形式 我们在这里采用Third Normal Form( NF) 因为 NF在性能 扩展性和数据完整性方面达到了最好平衡 遵守 NF 标准的数据库某个表只包括其本身基本的属性 当不是它们本身所具有的属性时需进行分解 表之间的关系通过外键相连接 它具有以下特点 有一组表专门存放通过键连接起来的关联数据
考虑各种变化
在设计数据库的时候考虑到哪些数据字段将来可能会发生变更
字段设计原则 ) 每个表中都应该添加的 个有用的字段 即要求每张数据表中字段不得少于 个 ) 选择数字类型和文本类型尽量充足 在字段类型为数字或文本时 其长度最好比实际所需的大一些 ) 增加自动增长的操作ID字段(czid) ) 增加记录创建的日期字段(CreateDate) ) 增加删除标记字段(isvoid) 在表中包含一个 删除标记 字段 这样就可以把行标记为删除 在关系数据库里不单独删除某一行 一般采用清除数据程序而且要仔细维护索引整体性
二.键和索引的设计
键选择原则
)为关联字段创建外键 )所有的键都必须唯一 )避免使用复合键 )外键总是关联唯一的键字段
使用系统生成的主键 设计数据库的时候采用系统生成的键作为主键 那么实际控制了数据库的索引完整性 这样 数据库和非人工机制就有效地控制了对存储数据中每一行的访问 采用系统生成键作为主键还有一个优点 当拥有一致的键结构时 找到逻辑缺陷很容易 不要用用户的键(不让主键具有可更新性)在确定采用什么字段作为表的键的时候 小心用户将要编辑的字段 通常的情况下不要选择用户可编辑的字段作为键
可选键有时可做主键 把可选键进一步用做主键 可以拥有建立强大索引的能力
索引使用原则
索引是从数据库中获取数据的最高效方式之一 %的数据库性能问题都可以采用索引技术得到解决
索引外键 大多数数据库都索引自动创建的主键字段 但是可别忘了索引外键 它们也是经常使用的键 比如运行查询显示主表和所有关联表的某条记录就用得上 不要索引大型字段(有很多字符) 这样作会让索引占用太多的存储空间
不要索引常用的小型表 不要为小型数据表设置任何键 假如它们经常有插入和删除操作就更别这样作了 对这些插入和删除操作的索引维护可能比扫描表空间消耗更多的时间
三 数据完整性设计
完整性实现机制 实体完整性 主键
参照完整性 父表中删除数据 级联删除 受限删除 置空值 父表中插入数据 受限插入 递归插入 父表中更新数据 级联更新 受限更新 置空值
DBMS对参照完整性可以有两种方法实现 外键实现机制(约束规则)和触发器实现机制
用户定义完整性 NOT NULL CHECK 触发器
用约束而非商务规则强制数据完整性 采用数据库系统实现数据的完整性 这不但包括通过标准化实现的完整性而且还包括数据的功能性 在写数据的时候还可以增加触发器来保证数据的正确性 不要依赖于商务层保证数据完整性 它不能保证表之间(外键)的完整性所以不能强加于其他完整性规则之上
强制指示完整性 在有害数据进入数据库之前将其剔除 激活数据库系统的指示完整性特性 这样可以保持数据的清洁而能迫使开发人员投入更多的时间处理错误条件
使用查找控制数据完整性 控制数据完整性的最佳方式就是限制用户的选择 只要有可能都应该提供给用户一个清晰的价值列表供其选择 这样将减少键入代码的错误和误解同时提供数据的一致性
采用视图 为了在数据库和应用程序代码之间提供另一层抽象 可以为应用程序建立专门的视图而不必非要应用程序直接访问数据表 这样做还等于在处理数据库变更时给你提供了更多的自由
cha138/Article/program/SQL/201311/16258相关参考
四其他设计 避免使用触发器 触发器的功能通常可以用其他方式实现在调试程序时触发器可能成为干扰假如确实需要采用触发器 要集中对它文档化 使用常用英语(或者其他任何语言)而不要使用编码
做为一名开发DBA最重要的renweu是经常要检查开发人员或建模人员对数据库的命名规范是否严谨下文中将主要介绍一个检查数据库数据字段命名规范与合法性的脚本仅供大家参考 检查不符合数据库命名规范的
前期工作一定义标准的对象命名规范 一定要定义数据库对象的命名规范这是笔者一再坚持的一个观点在开发数据库项目之前项目开发团队要先讨论确定数据库对象的命名规范包括函数过程表视图字段等的命名规则因为我
一介绍 在数据库的开发过程中经常会遇到复杂的业务逻辑和对数据库的操作这个时候就会用SP来封装数据库操作如果项目的SP较多书写又没有一定的规范将会影响以
应用JSF技术详细介绍Web应用程序开发 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 与微软V
详细介绍Oracle数据库的聚簇技术 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 什么是聚簇
一什么是oracle字符集 Oracle字符集是一个字节数据的解释的符号集合有大小之分有相互的包容关系ORACLE支持国家语言的体系结构允许你使用本地化语言来存储处理检索数据它使数据库工具错误消
转摘请注明出处 作者:baggio 来源: 本文地址; 关键词DataSource(数据源)Tomcat连接池 前言 本文根据实例详细介绍了如何在tomcat中配置数据源网上此类文章很
详细介绍ADO.NET对象数据说明 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 学习ADONE
知识大全 编写Smarty插件在模板中直接加载数据的详细介绍
编写Smarty插件在模板中直接加载数据的详细介绍 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!