数据库原理数据库完整性.ppt
《数据库原理数据库完整性.ppt》由会员分享,可在线阅读,更多相关《数据库原理数据库完整性.ppt(63页珍藏版)》请在第壹文秘上搜索。
1、第五章第五章 数据库完整性数据库完整性数据库完整性数据库完整性v 数据是数据库的核心,数据的正确和完整与否将直接影响数据库的使用。v 数据的完整性完整性和安全性安全性是两个不同概念; 数据的安全性 保护数据库防止恶意的破坏和非法的存取 防范对象:非法用户和非法操作 数据的完整性 防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据 防范对象:不合语义的、不正确的数据本次课内容本次课内容一数据完整性概述二在SQL Server 2005中实现数据完整性三其他相关知识触发器v1、DBMS必须能够提供 提供定义完整性约束条件的机制提供定义完整性约束条件的机制 完整性约束条件 = =
2、完整性规则,由SQL的ddl语句来实现; 提供完整性检查的机制提供完整性检查的机制 检查数据是否满足完整性约束条件的机制; 违约处理违约处理 若用户操作违反完整性约束条件,采取一定的动作,如拒绝执行(NO ACTION)、级联执行或其他操作;一、数据库完整性概述一、数据库完整性概述v2、数据库完整性约束机制分类完整性约束条件作用的对象有关系、元组、列三种;可分为: 实体完整性实体完整性:实体完整性是为了保证表中的数据唯一; 参照完整性:参照完整性:参照完整性用于确保相关联的表间的数据应保持一致,避免因一个表的记录修改,造成另一个表的内容变为无效的值一般来说,参照完整性是通过外键和主键来维护的;
3、 域完整性:域完整性:域完整性可以保证数据的取值在有效的范围内; 用户定义完整性:用户定义完整性:由用户自行定义的,不同于前面种的完整性,也可以说一种强制数据定义;1)实体完整性)实体完整性v 实体(Entity):是数据逻辑模型中的一个概念。现实世界是一组实体的基本对象和这些对象的联系(Relation)构成的。在数据库中,我们可以理解一条记录就是一个实体。v 实体完整性:在现实世界中,任何一个实体都有区别于其他实任何一个实体都有区别于其他实体的特征体的特征,即在数据库中,所有的记录都应该有惟一的标识,这就是实体完整性的含义(规则2.1:实体完整性规则)。v 常见的实体完整性机制包括: 主键
4、(Primary Key);惟一码(Unique);2)参照完整性)参照完整性v 参照完整性是指在两个表的主键和外键之间数据的完整性,其含义包括: 参照完整性保证被参照表和参照表之间数据的一致性; 可以防止数据丢失或者无意义的数据; 可以禁止在从表中插入被参照表中不存在的关键字的记录。v 参照完整性的常见实现机制包括: 外键(Foreign Key)、检查(Check)、触发器(Trigger);存储过程(Stored Procedure)v 在输入或删除记录时,可以用来保持所有表之间定义的关系,以确保键值在所有表中一致。v 关系模型的参照完整性定义 在CREATE TABLE中用FOREIG
5、N KEY短语定义哪些列为外码 用REFERENCES短语指明这些外码参照哪些表的主码3)域完整性)域完整性v 域:指列(字段),所以域完整性就是指列的完整性;v 域完整性要求列(字段)的数据具有正确的数据类型、格式和有效的数值范围。v 域完整性的常见实现机制包括: 默认值(Default) 检查(Check) 数据类型(Data type) 规则(Rule)4)用户自定义完整性)用户自定义完整性v 用户定义的完整性就是针对某一具体应用的数据必须满足的语义要求;可直接由RDBMS提供,而不必由应用程序承担;系统将实现数据完整性的要求直接定义在表上或列上。v 常见的实现机制包括: 规则(Rule
6、)、创建数据表时的所有约束(Constraint)、触发器(Trigger)、存储过程(Stored Produre);二、在二、在SQL Server 2005中实现数据完整性中实现数据完整性vSQL Server 2005提供了完善的数据完整性机制,主要包括约束、默认值和规则3类; 创建及管理约束及约束对象 默认值约束及默认值对象 创建及管理规则对象1、创建及管理约束及约束对象、创建及管理约束及约束对象v 主键Primary key约束v 惟一值Unique约束v 外键Foreign key约束v 检查Check约束1)创建及删除主键约束及惟一值约束)创建及删除主键约束及惟一值约束v单属性
7、构成的码的两种说明方法单属性构成的码的两种说明方法 :定义为列级约束条件,定义为表级约束条件v多个属性构成的码只有一种说明方法多个属性构成的码只有一种说明方法:定义为表级约束条件创建约束方式:I.创建表时同时创建primary key约束或unique约束II.修改表时同时创建primary key约束或unique约束i)创建表时同时创建)创建表时同时创建primary key约束或约束或unique约束约束v 语法结构:CREATE TABLE table_name(column_name data_type (NULL| NOT NULL) CONSTRAINT constraint_n
8、ame PRIMARY KEY | unique, .n例例1:定义数据表:定义数据表student时,为学号时,为学号sno字段创建主键约束,对字段创建主键约束,对姓名姓名sname字段定义惟一值约束;字段定义惟一值约束;方法1:在列级定义主码Use stuCREATE TABLE student(Sno char(9) constraint sno_pk primary key,Sname char(8) constraint sname_uk unique,Ssex char(2) ,Sage smallint ,Sdept varchar(20))方法2:在表级定义主码CREATE T
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 原理 完整性