数据的完整性在数据库应用系统中的设计与实施_第1页
数据的完整性在数据库应用系统中的设计与实施_第2页
数据的完整性在数据库应用系统中的设计与实施_第3页
数据的完整性在数据库应用系统中的设计与实施_第4页
数据的完整性在数据库应用系统中的设计与实施_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据的完好性在数据库应用系统中的设计与施行摘要:本文主要介绍了在sqlserver数据库应用系统中,在效劳器端和客户端实现数据完好性的设计方法,并结合医院管理信息系统(简称jy-his),阐述了施行数据完好性的策略。关键词:数据完好性数据库事务处理前言数据完好性是指数据的正确性和一致性,它有两方面的含义:(1)数据取值的正确性,即字段列值必须符合数据的取值范围、类型和精度的规定;(2)相关数据的一致性,即相关表的联络字段的列值匹配。在数据库应用系统中,保证数据完好性是应用系统设计的根本要求;数据完好性施行的好坏,关系到数据系统的正确性、一致性和可靠性,关系到系统的成败。jy-his采用/s形式

2、体系构造,其数据库应用系统为:sqlserver7.0;客户端的开发工具为:perbuilder6.5。下面主要从效劳器端数据库管理系统及客户端的应用程序一,两个方面进展介绍。1效劳器端利用sqlserver7.0数据库实现数据的完好性在用insert、delete、update语句修改数据库内容时,数据的完好性可能遭到破坏,为了保证存放数据的正确性和一致性,sqlserver对数据施加了一个或多个数据完好性约束。这些约束限制了对数据库的数据值,或者限制了数据库修改所产生的数据值,或限制了对数据库中某些值的修改。在sqlserver关系数据库中,主要有以下3类数据完好性:实体完好性(保证表中所

3、有行唯一);参照完好性(主健和外健关系维护,它涉及两个或两个以上的表的数据的一致性维护);域完好性(某列有效性的集合,是对业务管理或是对数据库数据的限制)。在报务器端有两种方法实现数据完好性:定义reattable完好性约束及定义规那么、缺盛索引和触发器。1.1定义reatetable完好性约束此方法是在创立数据库表的命令语句中,参加表级约束或列级来实现数据完好性。如在建表语句中参加非空(ntnull)约束、缺省(default)约束、唯一码(unique)约束、主键码(priarykey)约束、外键码(freignkey)约束、校验(hek)约束等。它的主要特点是:定义简单、平安可靠、维护方

4、便。非空约束限定了列值不能为空值;缺省约束指定当向数据库插入数据时,假设用户没有明确给出某列的值时,sqlserver自动输入预定值;校验约束那么用来限定列的值域范围。例如,在创立图书登记表中,限定登记日期、图书类别编码、登记号、中文名等列值不允许为空值;页数的缺省值为1;单价的缺省值为0;图书状态只能为:“在馆、“借出、“丧失之一。主键约束和唯一约束,均为指定的列建立唯一性索引,即不允许唯一索引的列上有一样的值。主键约束更严格,不但不允许有重复值,而且也不允许有空值。例如,在科室编码表,对列ksb创立主键约束,对ks创立唯一约束。外键约束又称参照完好性约束,用来限定本表外键码列值与相关表主键

5、码字段列值的匹配,即保证相关数据的一致性。例如,在创立医师编码表中,医生所属科室ssks为外键码,限定它与科室编码表中的科室编码ksb列值一致。1.2定义规那么、缺盛索引和触发器在数据库表的创立命令语句中定义约束的方法,虽然具有简单、方便、平安等特点,但它只对特定的表有效,不能应用到其他表,并且只能使用altertable命令修改或删除约束,缺乏一定的灵敏性。与此相反,在数据库中创立与表相对独立的规那么、索引和触发器对象,也能实现数据完好性,而且能施行更复杂、更完善的数据完好性约束。它的主要特点是功能强、效率高、维护方便。规那么类似于表定义中的校验约束,用来限定列的值域范围。但它不限定于特定表

6、,可以绑定到其他表的列或用户自定义的数据类型中使用。例如,在定义药品的编码规那么rul-ypb,可绑定到其他表中。缺省类似于表定义中的缺省约束,用来设置列的缺省值输入。它也不限定于特定表,可以绑定到其他表的列或用户自定义数据类型中使用。索引类似于表定义中的唯一约束,用来保证列值的唯一性。此外,它还能使用聚簇索引和非聚簇索引选项,来增强数据检索的性能。例如,对于门诊收费明细帐表,分别建立了按收费日期和收费序号的非聚簇索引,大大进步了数据的查询速度,在未建立索引前,要在20多万条记录中查询满足条件的记录,大约需要5分钟左右,建立索引后,只需要4秒钟左右。触发器是一种施行复杂的完好性约束的有效方法,

7、当对它所保护的数据进展修改时自动激活,防止对数据进展不正确、未授权或不一致的修改。类似于表定义中参照完好性约束;触发器也可用来保证相关数据的一致性。它还能完成一些表定义参照完好性的约束不能完成的任务。2客户端利用pb开发的应用程序实现数据的完好性2.1用pb的控件来确保数据的完好性在以pb开发工具编写的应用程序中,可使用数据窗口对象的列校验属性来检查输入数据的正确性;在窗口输入界面中还可以采用下拉列表、复选框、单项选择按钮等控件,实现固定值选取输入来确保数据的正确;另外,应用程序本身也可以对输入数据进展有效检查来确保数据的完好性。2.2利用事务的特点来保证数据的一致性因pb的每一操作都是基于控

8、件中的事件,所以一个完好的事务处理要集中在一个事件或一个操作单元中。例如,门诊划价收费中的付款处理;同一个收费序号下的数据,经过处理后要记入明细帐、一级明细帐、总帐,同时还要更新收费序号登记表等;所有这些处理算是一个完好的任务,必须等所有的语句都执行成功后,才能对数据库进展提交;假设有一条语句未执行成功,就要撤消该事务的一切操作,回退到事务开始的状态,这样才能保证数据的一致。利用客户端应用程序实现数据完好性的方法,其主要特点是:交互性好、功能强,但编程偏大、维护困难、可靠性差。3实现数据完好性的策略由上述可见,在sqlserver数据库应用系统中,实现数据完好性的方法各有其特点。对详细应用系统

9、,可根据需要采用其中一种或多种方法来建立数据完好性的机制,其策略为:(1)对于通过窗口操作输入的数据,一般采用客户端应用程序来确保数据的完好性。这样,一方面可把非法数据在提交到数据库之前就拒之门外,另一方面可使用户及时得到操作反响信息,做出正确的选择。(2)对于通过其他途径转入的数据,一般需要效劳器端数据库管理系统来实现数据的完好性。(3)对于数据一致性的维护,宜于由效劳器端数据库的触发器或表定义的约束来实现。这样可降低客户端应用程序的开发量,进步应用系统的运行效率、可维护性及可靠性。(4)对于数据完好性和平安性要求较高的系统,那么需要采用多层保护屏障来确保数据的完好性和平安性。如:既在客户端应用系统程序检查输入数据的有效性,同时又在效劳器端数据库中建立表的约束、规那么、缺省和触发器等进展数据完好性约束。这样可以进

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论