乐趣区

关于数据库:数据库系统概论王珊第五章数据库完整性习题

  • pdf 下载:明码 7281
  • 专栏目录首页:【专栏必读】(考研复试)数据库系统概论第五版(王珊)专栏学习笔记目录导航及课后习题答案详解

名词解释

  • 数据库完整性:是为了避免数据库中存在不合乎语义的数据,也就是避免数据库中存在不正确的数据。因而,完整性检查和管制的防备对象是不合语义的、不正确的数据,避免它们进入数据库
  • 完整性约束条件:是数据库中数据必须满足的语义条件规定
  • 断言 :在 SQL 中通过申明性断言能够指定更具一般性的束缚(例如波及多表、汇集操作等)。创立断言后,任何对断言中所波及关系的操作都会触发 DBMS 对断言的查看,任何断言为FALSE 的操作都会被回绝
  • 触发器(TRIGGER):是用户定义在关系表上的一类由事件驱动的非凡过程,在满足肯定条件或达到肯定阈值时会主动触发。能够进行更为简单的检查和操作,具备更精密和更弱小的数据控制能力

简答题

应用题

【答案】

完整性约束条件:是指数据库中的数据应该满足的语义约束条件。个别能够分为六类:

  • 动态列级束缚
  • 动态元组束缚
  • 动态关系束缚
  • 动静列级束缚
  • 动静元组束缚
  • 动静关系束缚

①动态列级束缚是对一个列的取值域的阐明,包含以下几个方面:

  • 数据类型 的束缚,包含数据的类型、长度、单位、精度等
  • 数据格式 的束缚
  • 取值范畴或取值汇合 的束缚
  • 空值 的束缚
  • 其余束缚

②动态元组束缚就是规定组成一个元组的各个列之间的束缚关系,动态元组束缚只局限在单个元组上

③动态关系束缚是在一个关系的各个元组之间或者若干关系之间经常存在各种分割或束缚,常见的动态关系束缚有

  • 实体完整性束缚
  • 参照完整性束缚
  • 函数依赖束缚

④动静列级束缚是批改列定义或列值时应满足的约束条件,包含上面两方面:

  • 批改列定义时的束缚
  • 批改列值时的束缚

⑤动静元组束缚是指批改某个元组的值时须要参照其旧值,并且新旧值之间须要满足某种约束条件

⑥动静关系束缚是加在关系变动前后状态上的限度条件,例如事务一致性、原子性等约束条件

【答案】

  • 外码是否能够取空值
  • 须要思考以下更新、删除问题
CREATE TABLE Dept
(Dept NUMBER(4) PRIMARY KEY,
    Name VARCHAR(10),
    Manager_name VARCHAR(10),
    Phone NUMBER(11)
);

CREATE TABLE Worker
(Nol NUMBER(4) PRIMARY KEY,
    Name VARCHAR(10),
    Age NUMBER(4) CHECK(W_age <= 60),
    Job VARCHAR(10),
    Wages NUMBER(7,2),
    Deptno NUMBER(10),
    
    FOREIGN KEY(W_deptno) REFERENCES Dept(Deptno)
);

【答案】

实体完整性

参照完整性

退出移动版