- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据完整性约束应用
数据完整性约束应用
[摘 要] 在数据库系统中,数据完整性问题会影响数据库正常使用。因此必须建立完整性约束机制。本文探讨数据完整性约束及其如何实现,并以SQL Server和PowerBuilder为平台,介绍了数据完整性约束的应用技术。
[关键词] 数据库;SQL Server;PowerBuilder;完整性约束
[中图分类号] TP311.132 [文献标识码] A [文章编号] 1008-4738(2008)05-0108-03??
0 引言
数据库的完整性是影响数据库应用系统正常运行的重要因素。维护数据库的完整性不仅是数据库设计人员的任务,也需要客户端开发人员的积极参与。不在数据库设计时进行完整性约束,一般会引起ODBC错误,导致数据库操作失败,程序异常中断。更为严重的是在某些情况下会突破数据库系统的约束机制,破坏后台数据库的完整性。因此,只有完善数据库约束机制,才能开发出完整、可靠的数据库系统。下面以SQL Server和PowerBuilder为例,对数据库应用开发中的数据库完整性约束问题进行讨论。
1 数据完整性约束的实现方法
实际的数据库系统中,一般将数据完整性约束分为标准的数据完整性约束和定制的数据完整性约束。标准的数据完整性约束是DBS已经实现的内部规则,包括域完整性、实体完整性和引用完整性。
由于每个公司的数据库都有自己独特的业务规则集,所以系统必须有一种方式来实现定制的业务规则即定制的数据完整性约束。定制的数据完整性约束可由如下几种方法实施。
一种方法是将每一个完整性约束编入要访问数据库的每个应用程序中,缺点是在每个相关的数据库应用程序中,开发者都要对相同的完整性规则进行编码、测试和排错。若某一规则变动,所有相关的应用程序都得改动。应用程序需要向DBServer请求大量的数据,以执行该应用程序内部的数据完整性规则检查,这将阻塞网络。因而这是一种耗时、低性能的方法。
状态约束用于限制列的值域,在数据类型限制的基础上对输入的数据进一步进行限制。通过逻辑表达式来定义列的有效值。数据库的任何一个状态都必须满足状态约束。当数据库被修改时,数据库管理系统都要进行状态约束的检查,以保证状态约束始终被满足[1]89。
触发器是一个存储过程,该过程在插入、修改和删除等操作事前或事后由DBS自动激发(执行)。经常用于实现逻辑上相关的数据表之间的数据完整性和一致性。一个触发器用来定义一个条件以及在该条件为真时需要执行的动作。通常,触发器的条件以断言的形式定义,动作以过程的形式定义[1]91。
??2 数据完整性在 SQL Server 环境下的实现
一个好的数据库完整性设计首先需要在需求分析阶段确定要通过数据库完整性约束实现的业务规则,然后在充分了解特定DBMS提供的完整性控制机制的基础上, 依据整个系统的体系结构和性能要求,遵照数据库设计方法和应用软件设计方法,合理选择每个业务规则的实现方式;最后,认真测试,排除隐含的约束冲突问题。
SQL Server 是微软公司高效的数据库产品。用户通过 SQL Server 提供的各种管理和维护工具, 可以方便、灵活、快捷地实现对数据的管理、分析和维护。在 SQL Server 环境下,既可以利用系统所提供的交互工具设置数据完整性, 也可以使用 SQL 语言描述数据完整性。在 SQL Server 环境下可以通过使用企业管理器工具以交互方式完成规则与约束设置, 从而实现数据完整性控制。 SQL可以设置 4 种约束:主关键字约束、外关键字约束、唯一约束、检验约束。主关键字约束可以保证数据的实体完整性; 外关键字约束可以保证数据的参照完整性; 唯一约束保证数据值的唯一性; 检验约束可以设置用户自定义完整性。
下面仅举例说明在 SQL Server 环境下通过使用企业管理器设置主关键字约束,其步骤为:
(1)启动 SQL Server 企业管理器。
(2)选定数据库。
(3)右击需要添加主关键字的约束的表 , 然后执行“设计表”命令。
(4)在设计器窗口中单击要设置为主键的字段 , 然后在工具栏上单击“设置主键”按钮。
(5)该字段前面将出现一个钥匙标记,单击“确定”按钮完成设置。
通过上面的操作可以看到,利用数据库管理系统提供的工具可以方便完成数据完整性控制设置。除了用交互方式设置数据完整性控制外,更为通用的方式是通过标准的 SQL 语句在定义表结构的同时描述数据的完整性控制。我们以定义一个员工档案表 pageruser 和员工类型表 pagertype 为例,说明如何使用使用 SQL 语言描述数据完整性控制和定
文档评论(0)