《讲数据完整性》PPT课件.ppt
《《讲数据完整性》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《讲数据完整性》PPT课件.ppt(61页珍藏版)》请在三一办公上搜索。
1、第九讲 数据完整性,引入,数据完整性(Data Integrity)是指存储在数据库中的数据,应该保持一致性和可靠性。在输入数据时,由于不可避免的种种原因,会发生输入无效或错误信息。如何保持输入的数据符合规定,是数据库系统,尤其是多用户的关系数据库系统首要关注的问题。,安徽新华电脑专修学院,学习目标,默认(Default)规则(Rull)约束(Constraint),学习完本课程,您应该能够:,安徽新华电脑专修学院,知识重、难点分析,重点:默认(Default)规则(Rull)和结构的修改难点:约束(Constraint),安徽新华电脑专修学院,数据完整性 数据完整性是用来确保数据库中的数据的
2、正确性和可靠性。实体完整性:实体完整性是为了保证表中的数据唯一,实体完整性可由主键来实现。表中的主键在所有记录上的取值必须唯一。域完整性:域完整性可以保证数据的取值在有效的范围内。参照完整性:参照完整性用于确保相关联的表间的数据应保持一致,避免因一个表的记录修改,造成另一个表的内容变为无效的值。一般来说,参照完整性是通过外键和主键来维护的。自定义完整性:由用户自行定义的,不同于前面种的完整性,也可以说一种强制数据定义。,默认是一种数据库对象,它与默认值约束的功能一样。若用户输入记录时,在没有给出具体的数据的字段中,系统会自动插入一个数据。默认值用来向无值的列(字段)提供一个预先指定的值。和规则
3、一样,默认在创建后,必须和某一列绑定才能生效。,任务一 默认,1.1 创建默认1、使用企业管理器创建默认,1、使用企业管理器创建默认,1.1 创建默认2、使用create default语句创建默认 create default as 功能:创建称为默认值的对象。默认值定义是限制列数据的首选,也是标准的方法,因为定义和表存储在一起,当除去表时,将自动除去默认值定义。常量表达式只包含常量值的表达式,不能包含任何或其他数据库对象的名称。可以使用任何常量、内建函数或数学表达式。例:演示创建默认的使用。use 学生管理数据库 go create default time_default as getd
4、ate(),查看缺省值,查看缺省值,用存储过程Sp_helptext 查看缺省值,例:查看缺省值todayexec sp_helptext today运行结果如下-Text-create default dp_date as getdate(),1.2 绑定默认1、使用企业管理器绑定默认,绑定列,1.2 绑定默认2、使用sp_bindefault语句绑定默认 sp_bindefault,例:演示绑定默认的使用。use 学生管理数据库 go sp_bindefault time_default,学生表.入学年份,1.3 解除绑定 使用企业管理器解除绑定 使用sp_unbindefault解除绑定
5、 sp_unbindefault 例:演示解除绑定的使用 use 学生课程数据库 go sp_unbindefault 学生表.入学年份,1.4 删除默认 使用企业管理器删除默认 使用drop default删除默认 drop default 例:演示删除默认的使用。use 学生课程数据库 go drop default time_default,注:默认的使用限制 通过default子句为列(字段)定义默认值或通过sp_unbindefault绑定默认,两者只能选择一种方式。默认只能用来设置常量或者SQL Server 函数值。每列(字段)只能与一个默认绑定。确保默认的数据类型与其绑定列的数
6、据类型一致。确保默认值与该列的规则一致。如果默认已经与某列绑定,那么就不能删除它,除非在删除之前,已解除默认和列或数据类型的所有绑定关系。,规则就是数据库中,对存储在数据库中表的列(字段)的规定和限制。规则是单独存储的独立的数据库对象,规则与作用的表是相互独立的,即表的删除修改,不会对与之相连的规则产生影响。规则和约束可以同时使用表的列,可以有一个规则及多个(check)约束规则。规则提供了一种加强列(字段)域约束的机制。规则要在insert和update语句之前给出。,任务二 规则,2.1 创建规则1、使用企业管理器创建规则,2、使用create rule语句创建规则 格式:create r
7、ule rule_name as condition_expression 说明:rule_name:新规则的名称。condition_expression:定义规则的条件。规则可以是where子句中任何有效的表达式,并且可以包含诸如算术运算符,关系运算符和in、like、between之类的元素。规则不能引用列或其他数据库对象.可以包含不引用数据库对象的内置函数。condition_expression包含一个变量,每个局部变量的前面都有一个符号,该表达式引用通过update或insert语句输入的值。在创建规则时,可使用任何名称或符号表示值,但第一个字符必须是符号。,例:创建考试成绩规则s
8、core_rule。use 学生课程数据库 go create rule cj_scope as cj_scope between 0 and 100例:创建雇佣日期规则hire_date_rule。create rule hire_date_rule as hire_date=1980-01-01 and hire_date=getdate(),查看规则,用存储过程Sp_helptext 查看规则,使用Sp_helptext 存储过程可以查看规则的细节:sp_helptext objname=name,例:查看规则hire_date_ruleexec sp_helptext hire_dat
9、e_rule运行结果如下Text-create rule hire_date_ruleas hire_date=1980-01-01 and hire_date=getdate(),2.2 绑定规则 使用企业管理器绑定规则 使用sp_bindrule绑定规则 sp_bindrule,将规则绑定到列(字段)。绑定规则时,必须使用引号作为分隔符,参数中的圆点(.)将传递给sp_bindrule。例:演示绑定规则的使用。use 学生管理数据库 go sp_bindrule score_rule,成绩表.成绩 go insert 成绩表 values(200203002,c801,125),规则绑定到
10、用户的自定义类型,规则绑定到表的列,2.3 解除绑定 使用企业管理器解除绑定 使用sp_unbindrule解除绑定 sp_unbindrule 例:演示解除绑定的使用。use 学生课程数据库 go sp_unbindrule 成绩表.成绩,2.4删除规则 使用企业管理器删除规则 使用drop rule删除规则 drop rule 例:演示删除规则的使用。use 学生课程数据库 go drop rule score_rule,注:使用规则的限制条件 规则只能处理常量、函数,不能用来查找表,也不能用来比较表中的列。表中的每列只能与一条规则绑定。如果某列已经绑定了一条规则,而又为该列绑定了一条新规
11、则,那么旧规则将被新规则代替。如果规则与某列绑定,那么规则不能被直接删除,须先解除规则与所有的列和数据库类型绑定关系,然后才能用drop rule命令删除。向系统中大量拷贝数据时,规则不起作用。在使用规则时,要确保规则中的值与其绑定列的数据类型相一致。,任务三 约束,约束限制了用户可能输入到表或字段中的值。,3.1 约束的定义 在SQL Server系统中,约束的定义主要是通过create table语句或alter table语句来实现的。使用create table语句,是在建立新表的同时定义了约束。使用alter table语句,是向已经存在的表中添加约束。约束可以是字段级约束,也可以是
12、表级约束。字段级约束是把约束放在某个字段列上的,且约束仅对该字段列起作用,表级约束是把约束放在表中的多个字段列上。,1、使用create table语句创建约束 create table table_name(column_name data_type default constraint_expression:=constraint constraint_name null|not null|primary key|unique clustered|nonclustered|foreign key references ref_table(ref_column)|check not for
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 讲数据完整性 数据 完整性 PPT 课件
链接地址:https://www.31ppt.com/p-5605033.html