第四章 数据库完整性的设计与实现.ppt.Convertor.doc

上传人:s9****2 文档编号:552720724 上传时间:2023-02-14 格式:DOC 页数:6 大小:43KB
返回 下载 相关 举报
第四章 数据库完整性的设计与实现.ppt.Convertor.doc_第1页
第1页 / 共6页
第四章 数据库完整性的设计与实现.ppt.Convertor.doc_第2页
第2页 / 共6页
第四章 数据库完整性的设计与实现.ppt.Convertor.doc_第3页
第3页 / 共6页
第四章 数据库完整性的设计与实现.ppt.Convertor.doc_第4页
第4页 / 共6页
第四章 数据库完整性的设计与实现.ppt.Convertor.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《第四章 数据库完整性的设计与实现.ppt.Convertor.doc》由会员分享,可在线阅读,更多相关《第四章 数据库完整性的设计与实现.ppt.Convertor.doc(6页珍藏版)》请在金锄头文库上搜索。

1、第四章 数据完整性的设计与实现掌握数据完整性的分类掌握如何利用企业管理器和T-SQL语言创建主建约束掌握设置唯一性约束的方法 掌握设置默认约束的方法掌握设置检查约束的方法 掌握设置外键约束的方法 本章要点:本章教学内容:4.1 概述4.2 实体完整性的设计与实现4.3 域完整性的设计与实现4.4 参照完整性的设计与实现4.1 概述为了保证在数据表中输入可靠的和有效的数据,可以对数据表中的数据设置完整性约束。数据完整性指数据的正确性与相容性。数据完整性包括:实体完整性域完整性参照完整性用户自定义的完整性1.实体完整性用来保证在同一个数据表中不会存在完全相同的两条记录。一般通过主键约束、IDENT

2、ITY属性、唯一性约束实现。2.域完整性用来保证对数据表中的字段输入有效的数值。可以通过定义字段的数据类型、设置字段非空、检查约束、默认约束、规则实现。3.参照完整性通过创建数据表间数据的参照关系,来保证键值在两个表中保持一致。可以通过外键约束实现。4.用户自定义的完整性用来定义用户需要的特殊的完整性要求。4.2 实体完整性的设计与实现4.2.1 主键约束4.2.2 IDENTITY属性4.2.3 唯一性约束4.2.1 主键约束是最重要的一种约束。能够唯一地确定表中的每一条记录。定义为主键的列不允许为空。image和text类型的列不能被指定为主键。可以将数据表中的一列或多列的组合定义为主键。

3、添加、修改、删除主键的方法:企业管理器使用T-SQL语言使用企业管理器“设计表” “设置主键”,可以设置或取消主键。如对多个列设置主键,按住ctrl选择列。对已设置好的主键,可以通过“属性” “索引/键”来删除主键(此种方法不能创建主键)。使用T-SQL语言创建主键约束(创建/修改表时)格式: CONSTRAINT constraint_name PRIMARY KEY CLUSTERED|NONCLUSTERED (column_name,n)例4.1在学生库中创建学生表(sno ,sname,ssex,sclass,sdept),并设置sno为主键。方法1:在建表的同时设置主键。方法2:在

4、已建好表的中添加主键约束。方法1:create table 学生表 ( sno char(10), sname char(10), ssex char(2), sclass char(2), sdept char(20), constraint PK_学生表 primary key (sno) )create table 学生表 ( sno char(10) primary key , sname char(10), ssex char(2), sclass char(2), sdept char(20), )create table 学生表 ( sno char(10) , sname ch

5、ar(10), ssex char(2), sclass char(2), sdept char(20), primary key(sno), )方法2:alter table 学生表 add constraint PK_学生表 primary key (sno)使用T-SQL语句删除PRIMARY KEY约束格式: DROP CONSTRAINT constraint_name例4.2删除选课表的主键(sno,cno)alter table 选课表 drop constraint PK_选课表4.2.2 IDENTITY属性使用标识列保证数据表中不会出现完全一样的两条记录。在数据表中创建一个

6、标识列,其中的数据由系统自动生成,并且不会重复。使用方法:企业管理器使用T-SQL语言使用T-SQL语言格式: IDENTITY(种子,递增量)种子是初始值,递增量是每次增加的数据说明:种子和递增量必须同时使用,如果都不使用,则默认为(1,1)。例4.3新建表bianhao ,并将列bianhao设置成一个标识列,列中从2开始,每次增加3。create table bianhao(bianhao int identity(2,3),mingcheng char(4)4.2.3 唯一性约束UNIQUE约束用于确保非主键列的取值的唯一性,保证实体完整性。可以指定一个或多个列的组合值具有唯一性。每个

7、UNIQUE约束要建立一个唯一索引。一个表可有多个UNIQUE约束。可用于定义允许空值的列。使用方法:企业管理器使用T-SQL语言企业管理器“属性” “索引/键”,新建UNIQUE,列名选择框中可以选择两列。使用T-SQL语言使用T-SQL语句创建唯一约束(创建/修改表时) CONSTRAINT constraint_nameUNIQUE CLUSTERED|NONCLUSTERED(列名) 使用T-SQL语句删除UNIQUE约束 DROP CONSTRAINT constraint_name4.3 域完整性的设计与实现域完整性用来保证在数据表中输入有效的数据值。可以通过定义字段的数据类型、设

8、置字段非空、检查约束、默认约束和规则来实现。4.3.1 默认约束4.3.2 检查约束4.3.3 规则4.3.1 默认约束若将表中某列定义了DEFAULT约束后,用户在插入新的数据行时,如未指定该列值,系统自动将该列值赋为默认值(默认值可以是空值)。默认可以是常量、函数、空值。每个字段只能定义一个默认约束。不能为带有IDENTITY属性或数据类型为timestamp的字段设置默认值。使用方法:企业管理器使用T-SQL语言企业管理器在输入默认值时,对于数据值型数据,可以直接输入。对于字符型数据和日期型数据,在输入数据时两端要加上单引号。使用T-SQL语言创建DEFAULT约束(创建/修改表时)CO

9、NSTRAINT constraint_nameDEFAULT 默认约束值 FOR 列名 删除DEFAULT约束DROP CONSTRAINT constraint_name4.3.2 检查约束目的:是对输入的数据值进行检查,满足条件的数据可以保存在数据表中,对于不满足条件的数据则拒绝接受。使用方法:企业管理器使用T-SQL语言使用T-SQL语言创建CHECK约束(在创建或修改表时); CONSTRAINT constraint_name CHECKNOT FOR REPLICATION (逻辑表达式)删除CHECK约束 DROP CONSTRAINT constraint_name4.3.3

10、 规则创建规则 绑定规则 删除绑定 删除规则对象是对存储在数据表中的数据值的规定和限制。功能与CHECK约束的功能相似,但规则是作为一个独立的数据库对象存储在数据库中的。只创建一次,绑定到多个列上。一个列,只能应用一个规则。规则对象在功能上与CHECK约束是一样的,在使用上有所区别:CHECK约束是和表的定义联系在一起的,删除表的同时CHECK约束也被删除规则对象作为一种单独存储的数据库对象,独立于表之外(用CREATE RULE定义),删除表时并不删除规则对象(用DROP RULE删除)1. 创建规则使用企业管理器创建规则对象使用T-SQL语句CREATE RULE创建规则对象 CREATE

11、 RULE 规则名 AS 规则条件例:创建规则:设置学生的年龄在16岁和25岁之间。use 学生 GOCREATE RULE nlAS 年龄=16 and 年龄=252.绑定规则格式: Execute sp_bindrule 规则名 ,绑定的列名3.取消绑定格式: Execute sp_unbindrule 绑定的列名4. 删除规则使用企业管理器删除规则对象使用T-SQL语句DROP RULE删除规则对象 DROP RULE 规则对象名例:删除规则对象nl。use 学生 go DROP DEFAULT nl4.4 参照完整性的设计与实现通过外键可以建立和强制主表和从表的参照完整性,即从表的外键要么为空,要么等于主表中已存在的主键值。可实现以下功能:不能在从表中插入主表中不存在的数据值。如果从表中有对应的数据值,则不能修改主表中的对应值,除非设置成级联修改。如果从表中有对应的数据值,则不能删除主表中的对应值,除非设置成级联删除。使用方法:企业管理器使用T-SQL语言创建FOREIGN KEY约束(创建/修改表时) CONSTRAINT constraint_name FOREIGN KEY (从表外键) REFERENCES 主表(主表主键)删除FOREIGN KEY约束 DROP CONSTRAINT constraint_name使用T-SQL语言

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号