数据的完整性在数据库应用系统中的设计与实施

数据的完整性在数据库应用系统中的设计与实施

ID:23307224

大小:56.00 KB

页数:6页

时间:2018-11-06

数据的完整性在数据库应用系统中的设计与实施 _第1页
数据的完整性在数据库应用系统中的设计与实施 _第2页
数据的完整性在数据库应用系统中的设计与实施 _第3页
数据的完整性在数据库应用系统中的设计与实施 _第4页
数据的完整性在数据库应用系统中的设计与实施 _第5页
资源描述:

《数据的完整性在数据库应用系统中的设计与实施 》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

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

2、据系统的正确性、一致性和可靠性,关系到系统的成败。JY-HMIS采用C/S模式体系结构,其数据库应用系统为:SQLServer7.0;客户端的开发工具为:Poarykey)约束、外键码(foreignkey)约束、校验(check)约束等。它的主要特点是:定义简单、安全可靠、维护方便。  1.1.1非空约束、缺省约束和校验约束  非空约束限定了列值不能为空值;缺省约束指定当向数据库插入数据时,若用户没有明确给出某列的值时,SQLServer自动输入预定值;校验约束则用来限定列的值域范围。  例如,在创建图书登记表中,限定登记日期、图书类别编码

3、、登记号、中文名等列值不允许为空值;页数的缺省值为1;单价的缺省值为0;图书状态只能为:“在馆”、“借出”、“丢失”之一。  1.1.2主键约束和唯一约束  主键约束和唯一约束,均为指定的列建立唯一性索引,即不允许唯一索引的列上有相同的值。主键约束更严格,不但不允许有重复值,而且也不允许有空值。  例如,在科室编码表,对列ksbm创建主键约束,对ksmc创建唯一约束。  1.1.3外键约束  外键约束又称参照完整性约束,用来限定本表外键码列值与相关表主键码字段列值的匹配,即保证相关数据的一致性。  例如,在创建医师编码表中,医生所属科室ssk

4、s为外键码,限定它与科室编码表中的科室编码ksbm列值一致。  1.2定义规则、缺省、索引和触发器  在数据库表的创建命令语句中定义约束的方法,虽然具有简单、方便、安全等特点,但它只对特定的表有效,不能应用到其他表,并且只能使用altertable命令修改或删除约束,缺乏一定的灵活性。与此相反,在数据库中创建与表相对独立的规则、索引和触发器对象,也能实现数据完整性,而且能实施更复杂、更完善的数据完整性约束。它的主要特点是功能强、效率高、维护方便。  1.2.1定义规则  规则类似于表定义中的校验约束,用来限定列的值域范围。但它不限定于特定表,

5、可以绑定到其他表的列或用户自定义的数据类型中使用。  例如,在定义药品的编码规则Rul-ypbm,可绑定到其他表中。  1.2.2定义缺省  缺省类似于表定义中的缺省约束,用来设置列的缺省值输入。它也不限定于特定表,可以绑定到其他表的列或用户自定义数据类型中使用。  1.2.3定义索引  索引类似于表定义中的唯一约束,用来保证列值的唯一性。此外,它还能使用聚簇索引和非聚簇索引选项,来增强数据检索的性能。  例如,对于门诊收费明细帐表,分别建立了按收费日期和收费序号的非聚簇索引,大大提高了数据的查询速度,在未建立索引前,要在20多万条记录中查询

6、满足条件的记录,大约需要5分钟左右,建立索引后,只需要4秒钟左右。  1.2.4定义触发器  触发器是一种实施复杂的完整性约束的有效方法,当对它所保护的数据进行修改时自动激活,防止对数据进行不正确、未授权或不一致的修改。类似于表定义中参照完整性约束;触发器也可用来保证相关数据的一致性。它还能完成一些表定义参照完整性的约束不能完成的任务。    2客户端利用PB开发的应用程序实现数据的完整性  2.1用PB的控件来确保数据的完整性  在以PB开发工具编写的应用程序中,可使用数据窗口对象的列校验属性来检查输入数据的正确性;在窗口输入界面中还可以采

7、用下拉列表、复选框、单选按钮等控件,实现固定值选取输入来确保数据的正确;另外,应用程序本身也可以对输入数据进行有效检查来确保数据的完整性。  2.2利用事务的特点来保证数据的一致性  因PB的每一操作都是基于控件中的事件,所以一个完整的事务处理要集中在一个事件或一个操作单元中。例如,门诊划价收费中的付款处理;同一个收费序号下的数据,经过处理后要记入明细帐、一级明细帐、总帐,同时还要更新收费序号登记表等;所有这些处理算是一个完整的任务,必须等所有的语句都执行成功后,才能对数据库进行提交;如果有一条语句未执行成功,就要撤消该事务的一切操作,回退到

8、事务开始的状态,这样才能保证数据的一致。利用客户端应用程序实现数据完整性的方法,其主要特点是:交互性好、功能强,但编程偏大、维护困难、可靠性差。    3实现数据完

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。