教学课件:第7章-数据库完整性.ppt
《教学课件:第7章-数据库完整性.ppt》由会员分享,可在线阅读,更多相关《教学课件:第7章-数据库完整性.ppt(60页珍藏版)》请在三一办公上搜索。
1、第七章,数据库完整性,学习要点,数据库完整性概述SQL2005完整性实现触发器概述创建、修改、查看、删除使用说明AFTER触发器INSTEADOF触发器,数据库完整性概述,数据完整性(Data Integrity)定义指数据的准确性和一致性。目的 防止数据库中存在不符合语义规定的数据和防止因错误 信息的输入输出造成无效操作或错误信息分类实体完整性:用于保证数据库中数据表的每一个特定实体的记 录都是唯一的。域完整性:用于保证指定列的数据具有正确的数据类型、格 式和有效的数据范围。参照完整性:确保同一键值在所有相关联表之间都一致。用户定义完整性:由用户自定义的不属于其他任何完 整性分类的特定业务规
2、则。,数据库完整性概述,数据完整性(Data Integrity)为维护数据库的完整性,DBMS必须:提供定义完整性约束条件的机制提供完整性检查的方法违约处理,学习要点,完整性实现,SQL Server 2005完整性实现DEFAULT约束 CHECK约束 PRIMARY KEY约束 UNIQUE约束 FOREIGN KEY约束 NOT NULL约束 标识列默认值规则,学习要点,约束,DEFAULT约束 定义在用户未输入某些列的数据时,数据库系统为用户提供的默认值。(默认值必须与所约束列的数据类型相一致)是可以避免不允许为空值的数据错误 可以加快用户的输入速度 创建SSMS方式T-SQL方式,
3、约束列表,使用SSMS工具,DEFAULT约束,DEFAULT约束,CREATE TABEL BookInfo(b_ID VARCHAR(16),b_Detail VARCHAR(100)DEFAULT 暂无描述),使用T-SQL定义(一),DEFAULT约束,CREATE TABEL 数据表名(列名 数据类型 CONSTRAIN 约束名 DEFAULT 默认值,.),列级约束,示 例,NEXT,CREATE TABEL BookInfo(b_Detail VARCHAR(100),CONSTRAINT de_Detail DEFAULT 暂无描述 FOR b_Detail),使用T-SQL定
4、义(二),DEFAULT约束,NEXT,CREATE TABEL 数据表名(列名1 数据类型,CONSTRAIN 约束名 DEFAULT 默认值 FOR(列名,n),.),表级约束,示 例,使用T-SQL定义(三),DEFAULT约束,ALTER TABEL 数据表名(ADD CONSTRAIN 约束名 DEFAULT 默认值 FOR(列名,n),.),修改表:添加约束,ALTER TABEL BookInfo(ADD CONSTRAINT de_Detail DEFAULT 暂无描述 FOR b_Detail),示 例,返回,约束,CHECK约束定义限制用户输入数据的取值范围、格式等。一个列
5、可以定义多个CHECK 约束。当往表中插入记录或修改相应列的值时,系统检查约束条件是否满足,若不满足则拒绝执行数据操作。创建SSMS方式T-SQL方式,约束列表,使用SSMS工具,CHEECK约束,CHECK约束,CREATE TABEL 数据表名(列名 数据类型 CONSTRAIN 约束名 CHECK(逻辑表达式),.),CREATE TABEL BookInfo(b_Quantity SMALLINT CHECK(b_Quantity=1 AND b_Quantity=100),),使用T-SQL定义(一),CHECK 约束,列级约束,示 例,NEXT,使用T-SQL定义(二、三),CHE
6、CK 约束,返回,CREATE TABEL 数据表名(列名1 数据类型,CONSTRAIN 约束名 CHECK(逻辑表达式),.),表级约束,ALTER TABEL 数据表名(ADD CONSTRAIN 约束名 CHECK(逻辑表达式),.),修改表:添加约束,约束,PRIMARY KEY约束定义若是单列作为主键,可以在列级定义或表级定义若是列集合作为主键,必须在表级定义一个表只能有一个PRIMARY KEY约束,受约束的列或列集合的值不能为空和重复,必须能唯一标识表中的行。定义了PRIMARY KEY 约束的列的列宽不能更改。创建SSMS方式T-SQL方式,约束列表,使用SSMS工具,返回,
7、PRIMARY约束,使用T-SQL定义(一),NEXT,PRIMARY约束,CREATE TABEL 数据表名(列名 数据类型 CONSTRAIN 约束名 PRIMARY KEY,.),CREATE TABEL BookInfo(b_ID VARCHAR(16)PRIMARY KEY,),列级约束,示 例,默认的约束名为:PK_BookInfo,使用T-SQL定义(二),PRIMARY约束,CREATE TABEL 数据表名(列名1 数据类型,CONSTRAIN 约束名 PRIMARY KEY(列名1,n),.),CREATE TABEL BorrowReturn(s_ID CHAR(8)NO
8、T NULL,r_ID CHAR(8)NOT NULL,PRIMARY KEY(s_ID,r_ID),表级约束,示 例,组合键必须在表级定义默认的约束名为:PK_ BorrowReturn,NEXT,使用T-SQL定义(三),返回,PRIMARY约束,ALTER TABEL 数据表名(ADD CONSTRAIN 约束名 PRIMARY KEY(列名,),.),ALTER TABLE BorrowReturn ADD CONSTRAINT PK_ BorrowReturn PRIMARY KEY(s_ID,r_ID),示 例,修改表:添加约束,约束,UNIQUE约束定义也称唯一值约束,确保在非主
9、键列中不输入重复值。一个表可以定义多个UNIQUE 约束。在允许空值的列上保证唯一性时,应使用UNIQUE约束。当往表中插入记录或修改相应列的值时,系统检查是否有重复值,若有则拒绝执行数据操作。创建SSMS方式T-SQL方式,约束列表,使用SSMS工具,返回,UNIQUE约束,使用T-SQL定义(一),NEXT,UNIQUE约束,CREATE TABEL 数据表名(列名 数据类型 CONSTRAIN 约束名 UNIQUE,.),CREATE TABEL ReaderType(rt_ Name VARCHAR(10)UNIQUE,),列级约束,示 例,使用T-SQL定义(二、三),UNIQUE约
10、束,返回,CREATE TABEL 数据表名(列名1 数据类型,CONSTRAIN 约束名 UNIQUE(列名1,n),.),表级约束,ALTER TABEL 数据表名(ADD CONSTRAIN 约束名 UNIQUE(列名1,n),.),修改表:添加约束,约束,FOREIGN KEY约束定义也称为外键约束,用于强制实现参照完整性,建立两个表之间的关系。可以规定表中的某列参照同一个表或另外一个表中已有的PRIMARY KEY 约束或UNIQUE 约束的列。一个表可以有多个FOREIGN KEY 约束。创建SSMS方式T-SQL方式,约束列表,使用SSMS工具Step1,NEXT,FOREIGN
11、 KEY约束,使用SSMS工具Step2,NEXT,FOREIGN KEY约束,使用SSMS工具Step3,NEXT,FOREIGN KEY约束,使用SSMS工具Step4,返回,FOREIGN KEY约束,使用T-SQL定义(一),示例,CREATE TABEL 数据表名(列名 数据类型 CONSTRAIN 约束名 FOREIGN KEY REFERENCES 参照主键表(参照列)ON DELETE CASCADE|ON UPDATE CASCADE,.),列级约束,FOREIGN KEY约束,NO ACITON:默认选项。将引发错误,撤销对父表的删除(更新)操作 CASCADE:当在主表删
12、除(更新)一行,则自动将子表中的对应行删除(更新)SET NULL:删除(更新)父表的一行,子表相应行的外键值被置为NULL SET DEFAULT:删除(更新)父表的一行,子表相应行的外键值被置为 外键的默认值,使用T-SQL定义(一),FOREIGN KEY约束,CREATE TABEL BookInfo(b_ID VARCHAR(16)PRIMARY KEY,b_Name VARCHAR(50)NOT NULL,bt_ID CHAR(10)REFERENCES BookType(bt_ID),),示 例,NEXT,使用T-SQL定义(二),示例,CREATE TABEL 数据表名(列名1
13、 数据类型,CONSTRAIN 约束名 FOREIGN KEY(列名)REFERENCES 参照主键表(参照列)ON DELETE CASCADE|ON UPDATE CASCADE,.),表级约束,FOREIGN KEY约束,使用T-SQL定义(二),NEXT,FOREIGN KEY约束,CREATE TABLE BorrowReturn(br_ID CHAR(6)PRIMARY KEY,s_ID CHAR(8)REFERENCES NOT NULL,r_ID CHAR(8)REFERENCES NOT NULL,FOREIGN KEY(s_ID)REFERENCES BookStore(s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学 课件 数据库 完整性
链接地址:https://www.31ppt.com/p-6289672.html