1 / 26
文档名称:

4、第4章约束、默认和规则.ppt

格式:ppt   页数:26
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

4、第4章约束、默认和规则.ppt

上传人:中国课件站 2011/9/6 文件大小:0 KB

下载得到文件列表

4、第4章约束、默认和规则.ppt

文档介绍

文档介绍:第4章约束、默认和规则
数据完整性
约束
默认
规则
数据完整性
数据完整性就是存储在数据库中的数据的一致性和正确性。
根据数据完整性措施所作用的数据库对象和范围不同,数据完整性分为:
实体完整性又称为行完整性,即数据库中的所有行都具有一个非空且没有重复的主键值。
域完整性又叫列完整性,以保证列数据的输入具有正确的数据类型、格式和有效的数据范围。
参照完整性又叫引用完整性,旨在保证主表和从表数据的一致性。
用户定义完整性用户定义的不属于以上完整性的特定规则。
数据完整性
在SQL SERVER2000里,我们可以采取许多方法保证各种完整性:
实体完整性通过建立唯一索引、PRIMARY KEY约束、UNIQUE约束、IDENTITY属性等来强制主键的唯一性。
域完整性强制域有效性可以通过限制数据类型、CHECK约束和规则、FOREIGN KEY、DEFAULT、NOT NULL定义实现。
参照完整性通过FOREIGN KEY和CHECK约束来实现。
约束
设计数据库时要识别数据的有效值,并决定如何强制实现列中数据的完整性。SQL SERVER 2000提供多种强制列中数据完整性的机制:
CHECK约束
PRIMARY KEY约束
FOREIGN KEY约束
UNIQUE约束
DEFAULT约束
CHECK 约束
CHECK约束用于限制输入到一列或多列的值的范围:用户想输入的数据值如果不满足CHECK约束中的条件(逻辑表达式)将无法正常输入。
使用企业管理器定义、删除CHECK约束
使用T-SQL语句创建CHECK约束(在创建或修改表时);
语法格式: [CONSTRAINT 约束名]
CHECK(逻辑表达式)
使用T-SQL语句删除CHECK约束
语法格式: DROP CONSTRAINT 约束名
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
PRIMARY KEY 约束
通过主键可以强制表的实体完整性。主键不允许空值,且不同两行的键值不能相同,即主键可以唯一标识单个行。
使用企业管理器定义、删除PRIMARY KEY约束
使用T-SQL语句创建PRIMARY KEY约束(创建/修改表时)
语法格式: [CONSTRAINT 约束名]
PRIMARY KEY [CLUSTERED|NONCLUSTERED]
使用T-SQL语句删除PRIMARY KEY约束
语法格式: DROP CONSTRAINT 约束名
PRIMARY KEY 约束
例:创建表学生(学号,姓名,性别)的同时定义学号为主键。T-SQL语句如下:
CREATE TABLE 学生
(学号 char(8) NOT NULL
CONSTRAINT pk_xs PRIMARY KEY CLUSTERED,
姓名 char(10) ,
性别 char(2) )
例:为存在的表学生(学号,姓名,性别)定义学号为主键。T-SQL语句如下:
ALTER TABLE 学生
ADD CONSTRAINT pk_xs PRIMARY KEY CLUSTERED(学号)
例:删除上例建立的主键约束。T-SQL语句如下:
ALTER TABLE 学生
DROP CONSTRAINT pk_xs
FOREIGN KEY约束
通过外键可以建立和强制主表和从表的参照完整性,即从表的外键要么为空,要么等于主表中已存在的主键值。
使用企业管理器定义、删除FOREIGN KEY约束
使用T-SQL语句创建FOREIGN KEY约束(创建/修改表时)
语法格式: [CONSTRAINT 约束名]
FOREIGN KEY (从表外键)
REFERENCES 主表(主表主键)
使用T-SQL语句删除FOREIGN KEY约束
语法格式: DROP CONSTRAINT

最近更新

2024年黑龙江建筑职业技术学院单招职业适应性.. 40页

2024年黑龙江省单招职业适应性考试题库汇编 39页

2024年黑龙江能源职业学院单招综合素质考试题.. 39页

2024年黔南民族医学高等专科学校单招职业技能.. 41页

2024年黔西南民族职业技术学院单招职业适应性.. 40页

2025年三亚中瑞酒店管理职业学院单招综合素质.. 40页

2025年三峡电力职业学院单招职业倾向性测试模.. 39页

2025年上海中医药大学单招综合素质考试模拟测.. 39页

2025年上海外国语大学贤达经济人文学院单招职.. 40页

2025年上海政法学院单招职业技能测试模拟测试.. 39页

2025年上海理工大学单招职业适应性考试模拟测.. 40页

2025年上海第二工业大学单招职业倾向性考试模.. 41页

2025年临夏现代职业学院单招职业技能测试模拟.. 40页

2025年义乌工商职业技术学院单招综合素质考试.. 39页

2025年乐山职业技术学院单招职业适应性考试模.. 42页

2025年云南商务职业学院单招职业适应性考试模.. 42页

2025年云南机电职业技术学院单招职业倾向性考.. 40页

2025年云南理工职业学院单招职业倾向性测试模.. 40页

2025年云南省昭通地区单招职业倾向性考试模拟.. 39页

2025年云南能源职业技术学院单招职业适应性测.. 40页

2025年佳木斯职业学院单招职业适应性考试模拟.. 39页

2025年保险职业学院单招职业适应性测试模拟测.. 40页

2025年信阳艺术职业学院单招职业技能考试模拟.. 41页

2025年六盘水职业技术学院单招职业技能考试模.. 42页

2025年兰州科技职业学院单招职业倾向性测试题.. 39页

2025年内蒙古巴彦淖尔盟单招职业适应性考试模.. 41页

2025年内蒙古科技职业学院单招职业适应性测试.. 41页

2025年包头职业技术学院单招职业适应性考试模.. 40页

2025年北京戏曲艺术职业学院单招职业倾向性考.. 39页

2025年华东政法大学单招职业倾向性测试模拟测.. 40页