第五章:数据完整性

一、实体、参照、用户自定义完整性

1、【单选题】CREATE TABLE时定义属性上的约束条件,检查列值是否满足一个条件表达式的定义关键词为:

 正确答案: A 

2、【多选题】创建患者住院主记录表pat_visit,并定义主码{patient_id,visit_id}的正确语句为:

 

正确答案: AD 

答案解析:多个属性构成的主码,只能进行表级定义。表级定义并不一定要求放在所有属性定义的后面。patient_id   VARCHAR2(10), PRIMARY KEY (patient_id,visit_id),  这里中间有逗号,表示的是2个定义语句。

 

3、【多选题】

oracle数据库中,下表为科室字典dept_dict内容,其中dept_code为主码。创建员工字典:

CREATE TABLE staff_dict
(emp_no VARCHAR2(10) , --员工号
 dept_code VARCHAR2(20), --科室代码,
 NAME      VARCHAR2(10), --姓名
 PRIMARY KEY(emp_no),
 FOREIGN KEY(dept_code) REFERENCES dept_dict(dept_code)
 ON DELETE SET NULL
);

执行上述语句后,下列语句能够正常执行的是:

 

 正确答案: AB 

答案解析:update dept_dict set dept_code = '004'  WHERE dept_code = '003'; 执行后,staff_dict表中数据('S01','003','王五'),科室代码'003'在本参照表中就找不到相应数据。所以拒绝执行。

INSERT INTO staff_dict_1 VALUES ('S01','004','赵六');科室代码'004'在被参照表中没哟相应的数据。

二、完整性约束、断言和触发器

1、【多选题】

CREATE TABLE T1

(C1 VARCHAR2(10),

 C2 NUMBER UNIQUE,

 CONSTRAINT PK_Key PRIMARY KEY(C1)

);

上述语句为表T1的定义语句,下列语句能正常执行的有:

正确答案: CD 

答案解析:完整性约束条件的语句修改,需要删除后新增。

2、【多选题】下列关于断言的说法正确的是:

正确答案: BD 

 

3、【多选题】插入数据是,判断课程表中Course不同课程的数量,不同种类的课程数量超过了10个,则阻止插入操作。要实现此功能,触发器的触发事件不应定义为:

 正确答案: ACD 

答案解析:校验插入后的内容,实施阻断,应当用after

4、【多选题】

课程表:Course(Cno,Cname,Cpno,Ccredit)

学生选课表:SC(Sno,Cno,Grade)

Ccredit为课程的学分,Cno为SC表的外码,参照Course(Cno)。

触发器定义语句:

CREATE TRIGGER Trigger_1

BEFORE UPDATE OF CCREDIT ON Course

FOR EACH ROW

DECLARE 

i_count INT;

BEGIN

IF :NEW.CCREDIT IS NULL THEN 

   SELECT COUNT(1) INTO i_count 

   FROM SC

   WHERE Cno = :NEW.Cno;

   IF i_count > 0 THEN

      raise_application_error(-20001,'该课程有选修学生');

   END IF;

END IF;

END;

对上述触发器描述正确的是:

 正确答案: ABD 

答案解析:删除前判断,不是删除后判断。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hellenionia

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值