文档详情

sql约束、默认和规则.ppt

发布:2019-03-28约5.19千字共27页下载文档
文本预览下载声明
大型数据库——SQL Server 2000程序设计 第4章 约束、默认和规则 数据完整性 约束【CONSTRAINT】 默认【DEFAULT】 规则【RULE】 4.1 数据完整性 数据完整性就是存储在数据库中的数据的一致性和正确性。 根据数据完整性措施所作用的数据库对象和范围不同,数据完整性分为: 实体完整性 又称为行完整性,即数据库中的所有行都具 有一个非空且没有重复的主键值。 域完整性 又叫列完整性,以保证列数据的输入具有正 确的数据类型、格式和有效的数据范围。 参照完整性 又叫引用完整性,旨在保证主表和从表数据 的一致性。 用户定义完整性 用户定义的不属于以上完整性的特定规 则。 4.1 数据完整性 在SQL SERVER2000里,我们可以采取许多方法保证各种完整性: 实体完整性 通过建立唯一索引、PRIMARY KEY约束、 UNIQUE约束、IDENTITY属性等来强制主键 的唯一性。 域完整性 强制域有效性可以通过限制数据类型、 CHECK 约束和规则、FOREIGN KEY、 DEFAULT、NOTNULL定义实现。 参照完整性 通过FOREIGN KEY和CHECK约束来实现。 4.2 约束【CONSTRAINT】 实质:强制实行的应用规则 功能:通过限制列中数据、行中数据和表之间数 据来保证数据的完整性 应用方法:在CREATE TABLE语句中声明 在ALTER TABLE语句中添加、删除 当表被删除时,所带的 约束定义也 随之被删除 4.2 约束【CONSTRAINT】 实现约束的五种方式: CHECK约束 PRIMARY KEY约束 FOREIGN KEY约束 UNIQUE约束 DEFAULT约束 4.2.1 CHECK 约束 CHECK约束用于限制输入到一列或多列的值的范围:用户想输入的数据值如果不满足CHECK约束中的条件(逻辑表达式)将无法正常输入。 使用企业管理器定义、删除CHECK约束 使用T-SQL语句创建CHECK约束(在创建或修改表时); 语法格式: [CONSTRAINT 约束名] CHECK(逻辑表达式) 使用T-SQL语句删除CHECK约束 语法格式: DROP CONSTRAINT 约束名 4.2.1 CHECK 约束 例:创建表成绩(学号,课程号,成绩)的同时定义CHECK约束要求 成绩的范围为0~100。T-SQL语句如下: CREATE TABLE 成绩   (学号 char(8) NOT NULL,   课程号 char(3) NOT NULL,   成绩 tinyint NULL CONSTRAINT ck_cj CHECK(成绩=0 and成绩=100)) 例:为存在的表成绩(学号,课程号,成绩)定义CHECK约束要求成 绩的范围为0~100。T-SQL语句如下: ALTER TABLE 成绩 ADD CONSTRAINT ck_cj CHECK(成绩=0 and成绩=100) 例:删除上例建立CHECK约束。T-SQL语句如下: ALTER TABLE 成绩 DROP CONSTRAINT ck_cj 4.2.2 PRIMARY KEY 约束 通过主键可以强制表的实体完整性。主键不允许空值,且不同两行的键值不能相同,即主键可以唯一标识单个行。 使用企业管理器定义、删除PRIMARY KEY约束 使用T-SQL语句创建PRIMARY KEY约束(创建/修改表时) 语法格式: [CONSTRAINT 约束名] PRIMARY KEY [CLUSTERED|NONCLUSTERED] 使用T-SQL语句删除PRIMARY KEY约束 语法格式: DROP CONSTRAINT 约束名 4.2.2 PRIMARY KEY 约束 例:创建表学生(学号,姓名,性别)的同时定义学号 为主键。T-SQL语句如下: CREATE TABLE 学生   (学号 char(8) NOT NULL CONSTRAINT pk_xs PRIMARY KEY CLUSTERED,   姓名 char(10) ,性别  char(2)
显示全部
相似文档