1 / 27
文档名称:

数据库教案完整性.ppt

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

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

文档介绍:数据库教案完整性


完整性约束条件
数据库完整性: 指数据库的正确性和相容性, DBMS提供维护数据库完整性的功能
完整性约束条件: 根据实际应用需求, 数据库中的数据应满足一些规定的条件, 这些条件称为完整性约束条件
完整性约束条件是现实世界真实的反映
完整性检查: 指DBMS中检查数据是否满足完整性条件的机制

完整性约束条件
完整性约束条件分为:
值的约束和结构约束:
指对数据取值类型、
范围、精度等的规
定, 例如对属性规定
某个值集, 规定属性
取值类型、格式(职
工号第一位为字母,
后面是四位数字)
指对数据之间联系的限制, 以关
系库为例:同一关系的不同属性
之间可能满足一定的约束条件(
A1A2); 不同关系之间的属性取
值也可能要满足一定的约束条件
(外键取值)

完整性约束条件
静态约束和动态约束:




立即执行约束和延迟执行约束:

指数据库每一确定状态的数据应满足的约束条件, 例如外键约束等

指DB从一种状态转变为另外一种状态时, 新值和旧值之间应满足的约束条件, 例如工资调整时, 要求新工资不低于旧工资


在执行用户事务时, 对事务中某一更新语句执行完后,马上对此数据检查它的完整性

事务执行结束后, 才检查所涉及的数据是否满足完整性要求, 结果正确事务才可提交

完整性约束条件
例如: begin transaction
update Students set Sno=‘95012’
where Sno=‘95001’;
update SC set Sno=‘95012’
where Sno=‘95001’;
commit
如是立即执行约束, 事务不能成功执行
如是延迟执行约束, 事务可以成功执行


完整性控制
DBMS完整性控制机制包括:
定义功能: 提供定义完整性约束条件的机制
检查功能: 检查用户提供的请求是否违背了完整性约束条件
如果发现用户的操作违背了完整性约束条件, 则采取一定的动作来保证数据的完整性(一般是取消该事务已产生的影响--恢复)

Sybase 的完整性
在Sybase数据库中创建带有数据完整性和参照完整性的表: 把完整性作为表的一部分来说明即完整性约束子句
缺省约束default: 给出列的缺省值
create table Students(…
sex char(1) default ‘M’,
... );
检查约束check constrain: 限定插入列中的值
列级检查约束


Sybase 的完整性
create table publishers( pub_id char(4) not null
constraint chk_pubid check(pub_id in (‘1389’, ‘0736’,
‘0877’) or pub_id like ‘99[0-9][0-9]’)
….)
表级检查约束
create table discounts(discounttype varchar(40) not null,
lowqty int,
hightqty int,
…,
constraint chk_low_hight check(lowqty<=hightqty) );


Sybase 的完整性
主键约束primary key constraint: 限定主键的列不可有重复值, 不可有空值
列级主键约束
create table publishers( pub_id char(4)
constraint pky_pubid primary key clustered,
pub_name varchar(30),
….)
表级主键约束
create tabl

分享好友

预览全文

数据库教案完整性.ppt

上传人:文库新人 2021/9/18 文件大小:1.42 MB

下载得到文件列表

数据库教案完整性.ppt

相关文档