实现数据完整性分析.ppt

  1. 1、本文档共98页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 实现数据完整性 7.1 数据完整性概述 7.1.1 数据完整性的定义 数据完整性是指存放在数据库中的数据要满足的业务规则,是确保数据库的数据一致、正确以及符合企业规则的一种思想。如年龄0~150,性别{男,女},成绩表中学号必须在学生基本信息表中存在等。这样可以保证有效的有意义的数据存放到数据库中。 7.1.2 完整性类型 数据完整性有四种类型:实体完整性、域完整性、引用完整性、用户自定义完整性。 1.实体完整性 实体完整性也可称为表的完整性,是指表中必须有一个主关键字,用来惟一地标识表中的每一行,且不允许为空值(NULL)。实体完整性强制表的标识符列或主键的完整性(通过索引、UNIQUE约束、PRIMARY KEY约束或IDENTITY属性实现)。 2. 域完整性 域完整性也可称为列的完整性,是指给定列的输入有效性,用于限制向表中输入的值的范围。强制域有效性的方法有:限制类型(通过类型)、格式(通过CHECK约束和规则)或可能值的范围(通过FOREIGN KEY约束、CHECK约束、DEFAULT定义、NOT NULL定义和规则)。 引用完整性确保键值在所有表中一致。这样的一致性要求不能引用不存在的值,如果键值更改了,那么在整个数据库中,对该键值的所有引用要进行一致的更改 。 7.2 使用约束实现数据完整性 7.2.1 PRIMARY KEY约束 表中经常有一个列或列的组合,其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键(PK),通过它可强制表的实体完整性。当创建或更改表时可通过定义PRIMARY KEY约束来创建主键。注意,每个表有且只有一个PRIMARY KEY约束,PRIMARY KEY约束中的列不能接受空值,系统在定义PK的列上自动建立唯一索引,主键可以是多列的组合。 【例7-1】为数据库XSCJ中“学生基本信息表”的“学号”列上创建PRIMARY KEY约束。 方法一、使用企业管理器创建主键约束。可以按以下步骤操作: ①展开服务器,单击【数据库】,在展开数据库XSCJ后,单击【表】,显示XSCJ数据库所属的表信息。 ②右击【学生基本信息表】,在弹出的快捷菜单中单击【设计表】,打开如图7-1所示对话框。 ③单击【列名】下的【学号】列。 ④单击工具栏中的【设置主键】按钮,单击【保存】按钮即可。 方法二、用ALTER TABLE命令来创建一个主键约束。 其语法为: ALTER TABLE table_name ADD [CONSTAINT Constraint_name] PRIMARY KEY {(Column[,…n]) l column[,...n]:新约束所用的一列或多列(置于括号中)的列名。 l 在查询分析器中执行以下语句可以完成【例7-1】的任务。 运行结果如图7-2所示,成功地在“学生基本信息表”上创建了PRIMARY KEY约束 7.2.2 UNIQUE 约束 使用UNIQUE约束可以确保表中在非主键列中不输入重复值。尽管UNIQUE约束和PRIMARY KEY约束都强制惟一性,但在强制下面的唯一性时应使用UNIQUE约束而不是PRIMARY KEY约束: l 非主键的一列或组合。 l 一个表可以定义多个UNIQUE约束,而只能定义一个PRIMARY KEY约束。 l 允许空值的列。 l 允许空值的列上可以定义UNIQUE约束,但不能定义PRIMARY KEY约束。FOREIGN KEY约束也可以引用UNIQUE约束。 ①展开服务器,单击【数据库】,在展开数据库XSCJ后,单击【表】。 ②右击【系部表】,在弹出的快捷菜单中单击【设计表】,打开如图7-3所示的设计表对话框。 ③单击【管理约束】按钮,弹出如图7-4所示的【管理约束属性】对话框,选择【索引/键】标签。如图7-4所示。 ④单击【新建】按钮,在列名下选择【系部名称】,再在【创建UNIQUE(U)】复选框上打√,单击【约束】。如图7-5所示。 ⑤单击【关闭】按钮,在设计窗口单击【保存】按钮后,关闭设计表对话框即可。 图7-5管理约束界面 方法二、在SQL Server 2000中,也可用ALTER TABLE命令来创建一个UNIQUE约束。其语法为: ALTER TABLE table_name ADD [CONSTAINT Constraint_name] UNIQUE {(Column[,…n]) 其中: 在查询分析器中通过执行以下语句可以实现【例7-2】的任务。 USE XSCJ GO ALTER TABLE 系部表

文档评论(0)

奇缘之旅 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档