第章 设计数据库的完整性.ppt
文本预览下载声明
第9章 设计数据库的完整性 【本章导读】 数据库的完整性是指数据的正确性、有效性和相容性。正确性是指数据的合法性;有效性是指数据是否属于所定义的有效范围;相容性是指描述同一实体的数据应该一致。数据库的完整性关系到数据库系统中的数据是否正确、可信和一致。本章主要介绍了使用约束、规则、默认值和IDENTITY列实现SQL Server 2005数据库完整性的方法。 【本章要点】 完整性的定义、类型 使用约束实施数据库的完整性 使用规则实施数据库的完整性 使用默认值实施数据库的完整性 使用IDENTITY列实施数据库的完整性 第9章 设计数据库的完整性 9.1 完整性概述 9.2 使用约束实施数据库的完整性 9.3 使用规则 9.4 使用默认值 9.5 使用IDENTITY 列 本章小结 习题九 9.1 完整性概述 数据库的完整性指数据的正确性和相容性,防止不合语义的数据进入数据库。 SQL Server 2005中的数据完整性包括 域完整性、 实体完整性、 参照完整性三种。 9.1 完整性概述 9.1.1 域完整性 9.1.2 实体完整性 9.1.3 参照完整性 9.1.1 域完整性 域完整性是指给定列的输入有效性。 域完整性主要由用户定义的完整性组成。 控制域有效性的方法有: 限制数据类型(通过数据类型定义)、 格式(通过 CHECK 约束和规则)、 可能值的范围(通过 FOREIGN KEY 约束、 CHECK 约束、 DEFAULT 定义、 NOT NULL 定义和规则) 修改列值时必须满足的条件 9.1.2 实体完整性 实体完整性将行定义为特定表的惟一实体。 实体完整性强制表的标识符列或主键的完整性 通过索引、UNIQUE 约束、PRIMARY KEY 约束或 IDENTITY 属性。 9.1.3 参照完整性 参照完整性是基于外键与主键之间或外键与惟一键之间的关系。 通过 FOREIGN KEY 和 CHECK 约束。 参照完整性确保键值在所有表中一致。 9.2 使用约束实施数据库的完整性 主键约束(PRIMARY KEY)、 惟一键约束(UNIQUE)、 默认值约束(DEFAULT)、 检查约束(CHECK)、 外键约束(FOREIGN KEY) 9.2 使用约束实施数据库的完整性 9.2.1 PRIMARY KEY约束 9.2.2 UNIQUE约束 9.2.3 DEFAULT约束 9.2.4 CHECK约束 9.2.5 FOREIGN KEY 约束 9.2.1 PRIMARY KEY 约束 PRIMARY KEY 约束标识列或列集,使这些列或列集的值惟一标识表中的行。 在一个表中,不能有两行包含相同的主键值,不能在主键内的任何列中输入NULL值。 每个表都应有一个主键,且对于每个表只能创建一个 PRIMARY KEY 约束。 9.2.1 PRIMARY KEY 约束 【例9-1】在创建表的时候创建列级主键。 create table Student ( sno char(10) primary key, sname char(20), ssex char(10), sage tinyint, sbirthday smalldatetime, depart char(10), class char(10)) 9.2.1 PRIMARY KEY 约束 【例9-2】在创建表的时候创建表级主键。 create table Score ( sno char(10), cno char(10), degree tinyint, constraint pk_sno_cno primary key(sno,cno) ) 9.2.1 PRIMARY KEY 约束 【例9-3】当表已经创建时,可以为表添加主键约束。 alter table Score add constraint pk_sno_cno primary key(sno,cno) 或 alter table Score add primary
显示全部