




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验4 完整性约束 数据库的完整性是指数据的正确性和相容性。例如,在性别字段中,只数据库的完整性是指数据的正确性和相容性。例如,在性别字段中,只能取能取“男男”或或“女女”两个值中的一个,没有第三个可取值;学生的学号必须两个值中的一个,没有第三个可取值;学生的学号必须唯一。在唯一。在SQL Server 2000SQL Server 2000中,系统提供多种强制数据完整性的机制,以便确中,系统提供多种强制数据完整性的机制,以便确保数据库中的数据质量。保数据库中的数据质量。 【知识要点【知识要点】1 1完整性约束作用的对象完整性约束作用的对象关系:若干元组间、关系集合上以及关系之间的联系的约束。
2、关系:若干元组间、关系集合上以及关系之间的联系的约束。元组:元组中各个字段间的联系的约束。元组:元组中各个字段间的联系的约束。列:列的类型、取值范围、精度、唯一性、为空性、缺省定义、列:列的类型、取值范围、精度、唯一性、为空性、缺省定义、CHECKCHECK约约束、主键约束、外键约束束、主键约束、外键约束2 2完整性约束类型完整性约束类型实体完整性;实体完整性;域完整性;域完整性;参照完整性;参照完整性;用户定义完整性。用户定义完整性。3 3实体完整性实体完整性 实体完整性将行定义为特定表的唯一实体。实体完整性作用的对象是列,实体完整性将行定义为特定表的唯一实体。实体完整性作用的对象是列,强制
3、表的标识符列或主键的完整性(通过强制表的标识符列或主键的完整性(通过UNIQUE UNIQUE 约束、约束、PRIMARY KEY PRIMARY KEY 约束或约束或 IDENTITY IDENTITY 属性)。属性)。实验4 完整性约束 4 4域完整性域完整性 域完整性作用的对象是列,是指给定列的输入有效性。强制域有效性的域完整性作用的对象是列,是指给定列的输入有效性。强制域有效性的方法有:限制类型(通过数据类型)、格式(通过方法有:限制类型(通过数据类型)、格式(通过 CHECK CHECK 约束和规则)或可约束和规则)或可能值的范围(通过能值的范围(通过 FOREIGN KEY FOR
4、EIGN KEY 约束、约束、CHECK CHECK 约束、约束、DEFAULT DEFAULT 定义、定义、NOT NOT NULL NULL 定义和规则)。定义和规则)。5 5引用完整性引用完整性 引用完整性作用的对象是关系。在输入或删除记录时,引用完整性保持引用完整性作用的对象是关系。在输入或删除记录时,引用完整性保持表之间已定义的关系。在表之间已定义的关系。在 MicrosoftMicrosoft SQL Server SQL Server 2000 2000 中,引用完整性中,引用完整性基于子表外键与主表主键之间或子表外键与主表唯一键之间的关系(通过基于子表外键与主表主键之间或子表外
5、键与主表唯一键之间的关系(通过 FOREIGN KEY FOREIGN KEY 和和 CHECK CHECK 约束)。引用完整性确保键值在所有表中一致。这样约束)。引用完整性确保键值在所有表中一致。这样的一致性要求不能引用不存在的值,如果键值更改了,那么在整个数据库中,的一致性要求不能引用不存在的值,如果键值更改了,那么在整个数据库中,对该键值的所有引用要进行一致的更改。对该键值的所有引用要进行一致的更改。6 6用户定义完整性用户定义完整性 用户定义完整性使您可以定义不属于其它任何完整性分类的特定业务规用户定义完整性使您可以定义不属于其它任何完整性分类的特定业务规则,作用的对象可以是列,也可以
6、是元组或关系。所有的完整性类型都支持则,作用的对象可以是列,也可以是元组或关系。所有的完整性类型都支持用户定义完整性,如:用户定义完整性,如:CREATE TABLE CREATE TABLE 中的所有列级和表级约束、存储过程和中的所有列级和表级约束、存储过程和触发器。触发器。实验4 完整性约束 7 7CHECKCHECK约束约束 CHECK 约束通过限制输入到列中的值来强制域的完整性。CHECK 约束从逻辑表达式返回结果是TRUE还是FALSE来判断。例如,通过创建 CHECK 约束可将本科生的Age列的取值范围限制在14岁至40岁之间,从而防止输入的年龄超出正常的本科生范围。其逻辑表达式为
7、: Age = 14 AND Age =14 AND AGE=14 AND =40DEAULT_AGECHECK_S_AGE实验4 完整性约束 用用SQLSQL删除表删除表T T中列中列PROFPROF和和COMMCOMM之间的之间的CHECKCHECK约束约束CHECK_TCHECK_T。用企业管理器删除表用企业管理器删除表TEST_STEST_S中列中列SEXSEX的的DEFAULTDEFAULT约束及约束及AGEAGE列的列的CHECKCHECK约束。约束。【实验步骤【实验步骤】 1.1.用企业管理器为现有表用企业管理器为现有表T T创建创建DEFAULTDEFAULT和和CHECKCH
8、ECK约束(要求约束(要求CHECKCHECK约约束对已有数据不做检查)束对已有数据不做检查)给表T的SEX列设置DEFAULT约束给表T设置约束实验4 完整性约束 2.2.用用SQLSQL给现有表给现有表S S中的年龄列中的年龄列AGEAGE创建取值范围在创建取值范围在1414至至4040岁之间的岁之间的CHECKCHECK约约束,并检查表中的现有数据是否符合此束,并检查表中的现有数据是否符合此CHECKCHECK约束约束创建CHECK约束窗口新创建的CHECK对象实验4 完整性约束 3 3用用SQLSQL创建一新表创建一新表TEST_STEST_S,包含,包含DEFAULTDEFAULT和
9、和CHECKCHECK约束。约束。为TEST_S创建DEFAULT和CHECK约束 表TEST_S中的对象实验4 完整性约束 4 4用用SQLSQL删除表删除表T T中的中的PROFPROF和和COMMCOMM之间的之间的CHECKCHECK约束约束表T中约束对象的变化 删除表T中的CHECK约束实验4 完整性约束 5 5用企业管理器删除表用企业管理器删除表TEST_STEST_S中列中列SEXSEX的的DEFAULTDEFAULT约束和约束和AGEAGE列的列的CHECKCHECK约束约束 表TEST_S的结构定义SEX列的DEFAULT约束被清除表TEST_T的属性窗口实验4 完整性约束
10、实验实验4.3 4.3 引用完整性约束引用完整性约束 【实验目的【实验目的】掌握创建主表和子表关联关系的方法;掌握创建主表和子表关联关系的方法;掌握通过外键实现引用完整性约束;掌握通过外键实现引用完整性约束;掌握修改、删除引用完整性约束的方法。掌握修改、删除引用完整性约束的方法。【实验内容【实验内容】用企业管理器创建表用企业管理器创建表S S与表与表SCSC之间的引用关系。表之间的引用关系。表S S与表与表SCSC通过外键通过外键SNOSNO实现引用完整性约束(约束名采用系统默认):子表实现引用完整性约束(约束名采用系统默认):子表SCSC中中SNOSNO的取值,要参的取值,要参照主表照主表S
11、 S中中SNOSNO的取值。并要求:取消的取值。并要求:取消“创建中检查现有数据创建中检查现有数据”;选择;选择“级联级联更新相关字段更新相关字段”。用用SQLSQL创建表创建表T T与表与表TCTC之间的引用关系。表之间的引用关系。表T T与表与表TCTC通过外键通过外键TNOTNO实现引实现引用完整性约束用完整性约束FK_T_TCFK_T_TC:子表:子表TCTC中中TNOTNO的取值,要参照主表的取值,要参照主表T T中中TNOTNO的取值。并的取值。并要求:取消要求:取消“创建中检查现有数据创建中检查现有数据”;选择;选择“级联删除相关记录级联删除相关记录”。实验4 完整性约束 创建数
12、据库jxsk中5个表之间的关联关系图。5个表中存在的关联关系,如下表所示。 数据库jxsk中各表之间关联关系关联关系的表联系类型主表子表外键(FOREINGE KEY)表S与表SC1:nSSCSNO表C与表SC1:nCSCCNO表T与表TC1:nTTCTNO表C与表TC1:nCTCCNO用企业管理器删除表C和表TC之间的引用关系。【实验步骤【实验步骤】创建关系1 1用企业管理器创建表用企业管理器创建表S S与表与表SCSC之间之间的引用关系的引用关系实验4 完整性约束 验证验证S S表与表与SCSC表之间的引用完整性约束,即表之间的引用完整性约束,即“级联更新相关的字段级联更新相关的字段”。
13、(a)数据表S中原记录(b)数据表SC中原记录(c)修改表S中学号后的变化(d)修改表S中学号后表SC的变化实验4 完整性约束 2 2用用SQLSQL创建表创建表T T与表与表TCTC之间的引用关系之间的引用关系创建表T和TC的引用关系表TC中的外键约束实验4 完整性约束 (a)数据表T(b)数据表TC验证表验证表T T和和TCTC之间的引用关系:级联删除相关记录。之间的引用关系:级联删除相关记录。 (6)数据表TC(a)数据表T数据表数据表T T、TCTC中的数据如下表所示:中的数据如下表所示: 删除删除T T表中表中T1T1记录后数据表记录后数据表T T、TCTC中的数据如下表所示:中的数
14、据如下表所示: 实验4 完整性约束 3 3创建数据库创建数据库jxskjxsk中中5 5个表之间的关联关系图个表之间的关联关系图数据库jxsk中的关系图数据库jxsk中表之间的关联关系图实验4 完整性约束 4 4用企业管理器删除表用企业管理器删除表C C和表和表TCTC之间的引用关系之间的引用关系表C的关系属性窗口实验4 习题 【实验报告【实验报告】实验内容与要求实验内容与要求 针对针对“实验实验2”2”中的中的“实验题实验题”中创建的数据库中创建的数据库jiaoxuedbjiaoxuedb进行下面实验:进行下面实验:1.1.对各表创建实体完整性;对各表创建实体完整性;2.2.创建表之间的参照完整性;创建表之间的参照完整性;3.3.用不同的方法创建下面约束:用不同的方法创建下面约束:(1 1)“姓名姓名”字段取值唯一;字段取值唯一;(2 2)“性别性别”字段取值为:字段取值为:男男或或女女;缺省值:;缺省值:男男;(3 3)“年龄年龄”和和“分数分数”字段取值限定为:字段取值限定为:0 0到到100100之间。之间。4 4用实例验证上面创建的各完整性。用实例验证上面创建的各完整性。【思考题【思考题】1 1“
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖北省汉川市金益高级中学2025-2026学年高二上学期9月月考考试历史试卷
- 统编版2025-2026学年三年级语文上册期末测试卷(含答案)
- 分布式能源网络-洞察及研究
- 黑龙江省大庆市肇州县(五四制)2026届九年级上学期开学考试历史试卷(含答案)
- 安徽省亳州市利辛县2024-2025学年九年级上学期第三次月考生物试题(含答案)
- 部门安全培训的意义
- 跨境数据合规分析-洞察及研究
- 2023学年八年级(下)期中学情调查语文试题及答案
- 基于区块链的脱皮仁全生命周期溯源体系构建与数据安全挑战
- 基于人工智能的甲基氯苯胺类化合物生产过程多目标动态优化模型构建
- 车辆赠与协议模板
- 中国移动通信网运行维护规程(修订版)
- 烧结岗位安全操作培训-PPT课件
- 【课件】1.2 点线传情——造型元素之点线面 课件-2021-2022学年高中美术人美版(2019)选修绘画
- Q∕GDW 11445-2015 国家电网公司管理信息系统安全基线要求
- 运动处方(课堂PPT)
- 物资储备与物流方案
- 财务报销流程培训PPT模板课件
- 关于加强铁路企业年金管理的指导意见
- 幼儿园体检结果分析评价表
- 资金筹集业务核算培训教材(共39页).ppt
评论
0/150
提交评论