知识大全 数据库完整性设计

Posted 数据库

篇首语:旦旦而学之,久而不怠焉,迄乎成。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 数据库完整性设计相关的知识,希望对你有一定的参考价值。

  在充分了解数据库完整性各种控制机制的基础上 确定要通过数据库完整性约束实现的业务规则 然后依据整个系统的体系结构和性能要求 合理选择各个业务规则的实现方式 最后进行测试 解决约束冲突和性能瓶颈 这是数据库完整性设计的一个完整流程       随着计算机技术的发展和普及 数据库系统的应用越来越广泛 数据库在计算机系统中的地位日益凸显出来 一个好的数据库应用系统需要一个好的数据库设计 而数据库完整性设计作为数据库设计的一个重要组成部分 直接影响到数据库系统能否真实地反映现实世界 因此设计 实施和维护数据库完整性的重要性不言而喻       数据库总体上可分为网状数据库 层次数据库和关系数据库 其中以关系数据库最为成熟 关系数据库不仅具有管理大型数据的能力 良好的性能和稳定性 还有较为完备的数据完整性 在实际应用中最为广泛 本文以关系数据库为例说明数据库完整性设计问题 下文中的数据库均指关系数据库       数据库完整性概述       数据库完整性是指数据库中数据的正确性和相容性 数据库完整性由各种各样的完整性约束来保证 因此可以说数据库完整性设计就是数据库完整性约束的设计 数据库完整性约束可以通过DBMS或应用程序来实现 基于DBMS的完整性约束作为模式的一部分存入数据库中 通过DBMS实现的数据库完整性按照数据库设计步骤进行设计 而由应用软件实现的数据库完整性则纳入应用软件设计(本文主要讨论前者) 数据库完整性对于数据库应用系统非常关键 其作用主要体现在以下几个方面        .数据库完整性约束能够防止合法用户使用数据库时向数据库中添加不合语义的数据        .利用基于DBMS的完整性控制机制来实现业务规则 易于定义 容易理解 而且可以降低应用程序的复杂性 提高应用程序的运行效率 同时 基于DBMS的完整性控制机制是集中管理的 因此比应用程序更容易实现数据库的完整性        .合理的数据库完整性设计 能够同时兼顾数据库的完整性和系统的效能 比如装载大量数据时 只要在装载之前临时使基于DBMS的数据库完整性约束失效 此后再使其生效 就能保证既不影响数据装载的效率又能保证数据库的完整性        .在应用软件的功能测试中 完善的数据库完整性有助于尽早发现应用软件的错误       数据库完整性约束可分为 类 列级静态约束 元组级静态约束 关系级静态约束 列级动态约束 元组级动态约束 关系级动态约束 动态约束通常由应用软件来实现 不同DBMS支持的数据库完整性基本相同 Oracle支持的基于DBMS的完整性约束如下表所示      数据库完整性设计示例     一个好的数据库完整性设计首先需要在需求分析阶段确定要通过数据库完整性约束实现的业务规则 然后在充分了解特定DBMS提供的完整性控制机制的基础上 依据整个系统的体系结构和性能要求 遵照数据库设计方法和应用软件设计方法 合理选择每个业务规则的实现方式 最后 认真测试 排除隐含的约束冲突和性能问题 基于DBMS的数据库完整性设计大体分为以下几个阶段        .需求分析阶段       经过系统分析员 数据库分析员 用户的共同努力 确定系统模型中应该包含的对象 如人事及工资管理系统中的部门 员工 经理等 以及各种业务规则       在完成寻找业务规则的工作之后 确定要作为数据库完整性的业务规则 并对业务规则进行分类 其中作为数据库模式一部分的完整性设计按下面的过程进行 而由应用软件来实现的数据库完整性设计将按照软件工程的方法进行        .概念结构设计阶段       概念结构设计阶段是将依据需求分析的结果转换成一个独立于具体DBMS的概念模型 即实体关系图(ERD) 在概念结构设计阶段就要开始数据库完整性设计的实质阶段 因为此阶段的实体关系将在逻辑结构设计阶段转化为实体完整性约束和参照完整性约束 到逻辑结构设计阶段将完成设计的主要工作        .逻辑结构设计阶段       此阶段就是将概念结构转换为某个DBMS所支持的数据模型 并对其进行优化 包括对关系模型的规范化 此时 依据DBMS提供的完整性约束机制 对尚未加入逻辑结构中的完整性约束列表 逐条选择合适的方式加以实现       在逻辑结构设计阶段结束时 作为数据库模式一部分的完整性设计也就基本完成了 每种业务规则都可能有好几种实现方式 应该选择对数据库性能影响最小的一种 有时需通过实际测试来决定       数据库完整性设计原则       在实施数据库完整性设计的时候 有一些基本的原则需要把握        .根据数据库完整性约束的类型确定其实现的系统层次和方式 并提前考虑对系统性能的影响 一般情况下 静态约束应尽量包含在数据库模式中 而动态约束由应用程序实现        .实体完整性约束 参照完整性约束是关系数据库最重要的完整性约束 在不影响系统关键性能的前提下需尽量应用 用一定的时间和空间来换取系统的易用性是值得的        .要慎用目前主流DBMS都支持的触发器功能 一方面由于触发器的性能开销较大 另一方面 触发器的多级触发不好控制 容易发生错误 非用不可时 最好使用Before型语句级触发器        .在需求分析阶段就必须制定完整性约束的命名规范 尽量使用有意义的英文单词 缩写词 表名 列名及下划线等组合 使其易于识别和记忆 如 CKC_EMP_REAL_INE_EMPLOYEE PK_EMPLOYEE CKT_EMPLOYEE 如果使用CASE工具 一般有缺省的规则 可在此基础上修改使用        .要根据业务规则对数据库完整性进行细致的测试 以尽早排除隐含的完整性约束间的冲突和对性能的影响        .要有专职的数据库设计小组 自始至终负责数据库的分析 设计 测试 实施及早期维护 数据库设计人员不仅负责基于DBMS的数据库完整性约束的设计实现 还要负责对应用软件实现的数据库完整性约束进行审核        .应采用合适的CASE工具来降低数据库设计各阶段的工作量 好的CASE工具能够支持整个数据库的生命周期 这将使数据库设计人员的工作效率得到很大提高 同时也容易与用户沟通    cha138/Article/program/Oracle/201311/18093

相关参考

家庭居室装饰设计怎样考虑其完整性?

家庭居室装饰设计怎样考虑其完整性?家庭居室装饰设计,首先要特别强调合理性、实用性,既要满足人们日常饮食起居的需要.又要兼顾读书学习及会客的需要,还要注意舒适性及家庭特有的温馨。其中色彩的选择、灯饰及照

知识大全 Oracle数据库为了数据的完整性的嵌套事务调用的研究

Oracle数据库为了数据的完整性的嵌套事务调用的研究  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 ORACLE培训教程(2)-数据库的安全性、完整性、并发控制和恢复

ORACLE培训教程(2)-数据库的安全性、完整性、并发控制和恢复  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一

知识大全 Oracle数据完整性和锁机制简析

Oracle数据完整性和锁机制简析  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  本课内容属于O

知识大全 Oracle数据完整性嵌套事务调用分析研究

Oracle数据完整性嵌套事务调用分析研究  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!本文分析一

知识大全 Oracle数据的完整性的嵌套事务调用的研究

Oracle数据的完整性的嵌套事务调用的研究  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  为了

知识大全 使用参照完整性来加强基本商业规则

  对于数据库系统来说拥有一套执行基本商业规则的方法是非常重要的如果一个事物元试图插入更新或者删除一个表格行那么它就违反了商业规则然后数据库必须拒绝这个事物元并在应用程序中做错误的标记虽然通过程序代码

知识大全 Transaction的完整性控制,实现仅COMMIT一部份数据

Transaction的完整性控制,实现仅COMMIT一部份数据  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起

知识大全 什么是信息完整性

什么是信息完整性?信息完整性是指信息在输入和传输的过程中,不被非法授权修改和破坏,保证数据的一致性。保证信息完整性需要防止数据的丢失、重复及保证传送秩序的一致。保证各种数据的完整性是电子商务应用的基础

知识大全 SQL Data Services将成为云中完整的数据库

SQLDataServices将成为云中完整的数据库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!