数据完整性的含义_第1页
数据完整性的含义_第2页
数据完整性的含义_第3页
数据完整性的含义_第4页
数据完整性的含义_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据完整性的含义一、数据完整性的含义 数据完整性是指存储在数据库中的数据,应该保持一致性和可靠性。在SQL SERVER中可以通过规则和默认等数据库对象及各种约束,来保证数据的完整性。它分为四类:实体完整性:表的每一行在表中是唯一的实体。要求所有行都具有唯一标识,可以通过建立唯一索引表、UNIQUE、PRIMARY KEY和IDENTITY约束等措施来审判庭实体完整性1域完整性:指列的完整性,要求域中指定的列(字段)的数据具有正确的数据类型、格式和有效的数值范围它通过默认值、foreign key和check等约束以及默认、规则等数据库对象来实现。参照完整性:是指两个表的主关键字和外关键字的数

2、据,应对应一致。用户定义的完整性:允许用户定义不属于其他任何一类完整的特定规则。主要有规则rule、缺省值default、约束constraint和触发器trigger2二、规则规则就是数据库中,对存储在数据库中表的列(字段)或用户自定义数据类型中的值的规定和限制。它具有独立性,它可以有一个规则及多个check约束规则。它必须在INSERT和UPDATE语句之前给出。创建:create rule rule_name as condition_expression说明:condition_expression是定义规则的条件,可以是WHERE子句中任何有效的表达式,并且可以包含诸如算术运算符、关

3、系运算符和IN、LIKE、BETWEEN之类的元素。它不能引用列或其他数据库对象,可以包含不引用数据库对象的内置函数。它包含一个变量,每个局部变量的前面都有一个符号民,该表达式引用通过UPDATE或INSERT语句输入的值。且规则的第一个字符必须是3create rule enter_university_date_ruleas enter_date=1953-01-01and enter_date=getdate()-创建入学日期规则,假定某大学是1953年建校。create rule age_rule as old_scope between 17 and 28-创建学生年龄必须在一定范围

4、的规则create rule sex_rule as xb_scope in(男,女)-创建学生性别只能是男、女create rule scope_rule as cj_scope between 0 and 100-创建学生的成绩规则4创建规则选中库新建规则绑定:Sp_bindrule,例:sp_bindrule enter_university_date_rule,学生表.入学年份解除:Sp_unbindrule 例:sp_unbindrule 学生表.入学年份删除:Drop rule 例:drop rule enter_university_date_rule5查看规则及属性选中库单击规

5、则选中规则右键单击属性绑定列选择表和列。使用规则的限制条件规则只能处理常量和函数,不能用来查找表和比较表中的列表中的每列只能与一条规则绑定,若再绑定则旧规则将被新规则代替若规则与某列或某个用户定义的数据类型绑定,则不能被直接删除须先解除后删除使用规则时,要确保规则的值与其绑定列的数据类型一致6三、默认(default)含义:是一种数据库的对象,与默认值约束的功能一样。它用来向无值的列(字段)提供一个预先指定的值。且在创建后,必须和某一列绑定才能生效。创建:create default as例:默认时间为当前系统时间create default time_default as getdate()

6、默认学生入学年龄为18create default age_limited as 187创建:绑定:sp_bindefault , 例:sp_bindefault age_limited ,学生表.年龄解除:sp_unbindefault 例:sp_unbindefault 学生表.年龄删除:drop default 例:drop default age_limited8声明create table 默认值语法:create table 表名(字段名 数据类型 default 常量表达式null|not null|identity,)说明:default定义可适用于除定义为timestamp或

7、带identity属性的列以外的任何列。例9create table default_example(pid int not null,names char(8),sex char(2) default男 not null,age int default 18)insert into default_example(pid,names,sex) values(101,苏晴,女)insert into default_example(pid,names,age) values(201,马山,20)select * from default_example10用alter table添加或删除默认值例:alter table default_exampleReplace age default 19alter table default_exampleadd pid1 int default 101默认和默认值的使用限制每列只能有一个默认绑定,且值与绑定的数据类型一致,与该列的规则一致解除绑定后才可删除。11在UPDATE中使用默认值Update default_exampleSet sex=defaultWhere age=18查看规则和默认select name from sysobjects where type in(r,d)列出某个数据库中的所有规则和默认查看与表中列有

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论