欢迎来到天天文库
浏览记录
ID:41974454
大小:330.51 KB
页数:34页
时间:2019-09-05
《实验4完整性约束》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验4完整性约束数据库的完整性是指数据的正确性和相容性。例如,在性别字段中,只能取“男”或“女”两个值中的一个,没有第三个可取值;学生的学号必须唯一。在SQLServer2000中,系统提供多种强制数据完整性的机制,以便确保数据库中的数据质量。【知识要点】1.完整性约束作用的对象关系:若干元组间、关系集合上以及关系之间的联系的约束。元组:元组中各个字段间的联系的约束。列:列的类型、取值范围、精度、唯一性、为空性、缺省定义、CHECK约束、主键约束、外键约束2.完整性约束类型实体完整性;域完整性;参照完整性;用户定义完整性。3.实体完整性实体完整性将行定义为特定表的唯一实体。
2、实体完整性作用的对象是列,强制表的标识符列或主键的完整性(通过UNIQUE约束、PRIMARYKEY约束或IDENTITY属性)。实验4完整性约束4.域完整性域完整性作用的对象是列,是指给定列的输入有效性。强制域有效性的方法有:限制类型(通过数据类型)、格式(通过CHECK约束和规则)或可能值的范围(通过FOREIGNKEY约束、CHECK约束、DEFAULT定义、NOTNULL定义和规则)。5.引用完整性引用完整性作用的对象是关系。在输入或删除记录时,引用完整性保持表之间已定义的关系。在Microsoft®SQLServer™2000中,引用完整性基于子表外键与主表主键之
3、间或子表外键与主表唯一键之间的关系(通过FOREIGNKEY和CHECK约束)。引用完整性确保键值在所有表中一致。这样的一致性要求不能引用不存在的值,如果键值更改了,那么在整个数据库中,对该键值的所有引用要进行一致的更改。6.用户定义完整性用户定义完整性使您可以定义不属于其它任何完整性分类的特定业务规则,作用的对象可以是列,也可以是元组或关系。所有的完整性类型都支持用户定义完整性,如:CREATETABLE中的所有列级和表级约束、存储过程和触发器。实验4完整性约束7.CHECK约束CHECK约束通过限制输入到列中的值来强制域的完整性。CHECK约束从逻辑表达式返回结果是TR
4、UE还是FALSE来判断。例如,通过创建CHECK约束可将本科生的Age列的取值范围限制在14岁至40岁之间,从而防止输入的年龄超出正常的本科生范围。其逻辑表达式为:Age>=14ANDAge<=40(1)创建和修改CHECK约束作为表定义的一部分在创建表时创建;添加到现有表中。表和列可以包含多个CHECK约束。修改或删除现有的CHECK约束。例如,可以修改表中列的CHECK约束的表达式。(2)CHECK约束的设置在现有表中添加CHECK约束时,该约束可以仅作用于新数据也可以同时作用于现有的数据。默认设置为CHECK约束同时作用于现有数据和新数据。(3)禁用CHECK约束下
5、列情况可以禁用现有CHECK约束:INSERT和UPDATE语句,可以允许不经约束确认修改表中的数据。在执行INSERT和UPDATE语句时,如果新数据违反约束或约束应只适用于数据库中已有的数据,那么可禁用CHECK约束。复制处理。如果该约束为源数据库所特有,则在复制时请禁用CHECK约束。实验4完整性约束8.规则(Rule)所谓规则(Rule)是指当你对表做插入或更新操作时,输入值或新数据必须符合对应列预先设定的条件。如果不符合,SQLServer就不会让该输入值插入到表内或不允许用该新数据更新原有数据。当某个规则被创建后,有一个唯一的名字,并且成为数据库中的一个对象。用
6、户要使用规则时,需要把规则绑定至表中相应的一列或多列上或某个用户定义的数据类型上。不使用时再将绑定解除。9.缺省值(Default)所谓缺省值(Default)是指当你向表中插入数据时,如果某些列未明确给出插入值,那么SQLServer将用预先在这些列上定义的值作为插入值。当某个缺省值被创建后,有一个唯一的名字,并且成为数据库中的一个对象。用户要使用缺省值时,需要把缺省值对象绑定至表中相应的一列或多列上或某个用户定义的数据类型上。不使用时再将绑定解除。【实验目的】认识完整性约束对数据库的重要性;掌握实体完整性的创建、修改、维护;掌握域完整性的创建、修改、维护;掌握参照完整性
7、的创建、修改、维护;掌握用户定义的完整性的创建、修改、维护。实验4完整性约束实验4.1实体完整性约束【实验目的】掌握用企业管理器创建PRIMARYKEY约束;掌握用SQL创建PRIMARYKEY约束;掌握用企业管理器创建UNIQUE约束;掌握用SQL创建UNIQUE约束;掌握用SQL创建IDENTITY属性列。【实验内容】用企业管理器为数据表S创建PRIMARYKEY约束;用企业管理器创建新表TEST_SC,并创建PRIMARYKEY约束,TEST_SC表的结构定义如下:表名:TEST_SC包含的列如下:学号:SN
此文档下载收益归作者所有