第十一讲 数据库教案完整性.pptVIP

  • 3
  • 0
  • 约5.46千字
  • 约 27页
  • 2017-06-07 发布于湖北
  • 举报
数据库完整性 完整性约束条件 完整性控制 Sybase 的完整性 完整性约束条件 数据库完整性: 指数据库的正确性和相容性, DBMS提供维护数据库完整性的功能 完整性约束条件: 根据实际应用需求, 数据库中的数据应满足一些规定的条件, 这些条件称为完整性约束条件 完整性约束条件是现实世界真实的反映 完整性检查: 指DBMS中检查数据是否满足完整性条件的机制 完整性约束条件 完整性约束条件分为: 值的约束和结构约束: 完整性约束条件 静态约束和动态约束: 立即执行约束和延迟执行约束: 完整性约束条件 例如: 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 table sales(stor_id char(4) not null, ord_num varchar(20) not null, date datetime not null, constraint pky_so primary key nonclustered(stor_id,ord_num)) Sybase 的完整性 参照约束reference constraint: 列级参照约束 create table publishers( pub_id char(4) constra

文档评论(0)

1亿VIP精品文档

相关文档