sql server数据库数据完整性毕业论文怎么写?

数据库完整性是指数据库中数据的正确性和兼容性。数据库完整性是由各种完整性约束来保证的,所以可以说数据库完整性设计就是数据库完整性约束的设计。数据库完整性约束可以通过DBMS或应用程序来实现,基于DBMS的完整性约束作为模式的一部分存储在数据库中。DBMS实现的数据库完整性是按照数据库设计步骤设计的,而应用软件实现的数据库完整性则包含在应用软件设计中(本文主要讨论前者)。数据库完整性对于数据库应用系统非常重要,其作用主要体现在以下几个方面:

1.数据库完整性约束可以防止合法用户在使用数据库时向数据库添加语义数据。

2.使用基于DBMS的完整性控制机制实现业务规则,易于定义和理解,可以降低应用程序的复杂度,提高应用程序的运行效率。同时,基于DBMS的完整性控制机制是集中管理,所以数据库比应用程序更容易实现完整性。

3.合理的数据库完整性设计可以兼顾数据库完整性和系统效率。比如在加载大量数据时,只要在加载前暂时使基于DBMS的数据库完整性约束失效,然后生效,就可以在不影响数据库完整性的情况下保证数据加载的效率。

4.在应用软件的功能测试中,完善的数据库完整性有助于尽早发现应用软件的错误。

数据库完整性约束可以分为六类:列级静态约束、元组级静态约束、关系级静态约束、列级动态约束、元组级动态约束和关系级动态约束。动态约束通常由应用软件实现。不同DBMS支持的数据库完整性基本相同,Oracle支持的基于DBMS的完整性约束如下表所示:

数据库完整性设计示例

一个好的数据库完整性设计首先需要在需求分析阶段通过数据库完整性约束来确定要实现的业务规则,然后在充分了解一个具体的DBMS所提供的完整性控制机制的基础上,根据整个系统的架构和性能要求,遵循数据库设计方法和应用软件设计方法,合理选择每个业务规则的实现方法;最后,仔细测试以消除隐藏的约束冲突和性能问题。基于DBMS的数据库完整性设计大致可以分为以下几个阶段:

1.需求分析阶段

通过系统分析人员、数据库分析人员和用户的共同努力,确定了系统模型中应包含的对象,如人事薪酬管理系统中的部门、员工、经理以及各种业务规则。

找到业务规则后,确定要作为数据库完整性的业务规则,并对业务规则进行分类。其中,作为数据库模式一部分的完整性设计是按照以下流程进行的。应用软件实现的数据库完整性设计将按照软件工程的方法进行。

2.概念结构设计阶段

在概念结构设计阶段,将需求分析的结果转化为独立于具体DBMS的概念模型,即实体关系图(ERD)。在概念结构设计阶段,将开始数据库完整性设计的实质性阶段,因为这一阶段的实体关系在逻辑结构设计阶段将转化为实体完整性约束和引用完整性约束,设计的主要工作将在逻辑结构设计阶段完成。

3.逻辑结构设计阶段

这个阶段是将概念结构转换成DBMS支持的数据模型,并对其进行优化,包括标准化关系模型。此时,根据DBMS提供的完整性约束机制,通过选择适当的方式,将未添加到逻辑结构中的完整性约束列表逐一实现。

在逻辑结构设计阶段结束时,作为数据库模式一部分的完整性设计基本完成。每个业务规则可能有多种实现方式,应该选择对数据库性能影响最小的方式,有时需要通过实际测试来决定。

数据库完整性设计的原则

在实现数据库完整性设计时,需要掌握一些基本原则:

1.根据数据库完整性约束的类型,确定其实现的系统级别和模式,并提前考虑对系统性能的影响。一般来说,静态约束应该尽可能包含在数据库模式中,而动态约束由应用程序实现。

2.实体完整性约束和参照完整性约束是关系数据库中最重要的完整性约束,在不影响系统关键性能的情况下,应尽可能应用。用一定的时间和空间换取系统的可用性是值得的。

3.我们应该谨慎使用主流数据库管理系统支持的触发函数。一方面,触发器的性能开销大;另一方面,触发器的多级触发难以控制,容易出错。必要时,最好使用Before语句级触发器。

4.在需求分析阶段,需要制定完整性约束的命名规范,尽量使用有意义的英文单词、缩写、表名、列名和下划线,使其易于识别和记忆,如CKC _雇员_真实_收入_雇员、PK _雇员、CKT _雇员等。如果使用CASE工具,一般都有默认的规则,可以在此基础上修改使用。

5.根据业务规则,应该仔细测试数据库的完整性,以便尽快消除隐式完整性约束和对性能的影响之间的冲突。

6.应该有一个专职的数据库设计团队,自始至终负责数据库的分析、设计、测试、实现和前期维护。数据库设计人员不仅要负责基于DBMS的数据库完整性约束的设计和实现,还要负责对应用软件实现的数据库完整性约束的审核。

7.应采用合适的CASE工具,减少数据库设计各阶段的工作量。一个好的CASE工具可以支持整个数据库生命周期,这将大大提高数据库设计人员的工作效率,方便与用户交流。

可以围绕相关内容发表自己的看法。