问题 问答题

阅读下列说明,回答问题1至问题5。

【说明】

某工厂的信息管理数据库的部分关系模式如下所示:

职工(职工号,姓名,年龄,月工资,部门号,电话,办公室)

部门(部门号,部门名,负责人代码,任职时间)

关系模式的主要属性、含义及约束如表22-1所示,“职工”和“部门”的关系示例分别如表22-2和表22-3所示。

表22-1 主要属性、含义及约束

【问题2】

对于表22-2、表22-3所示的“职工”和“部门”关系,请指出下列各行是否可以插入,为什么?

答案

参考答案:

(1)不能插入。它违反了实体完整性原则,因为其主键属性值已经存在。

(2)可以插入。尽管部门号、电话和办公室为空,但是它表示该职工暂时还没有分配到某个部门。

(3)不能插入。它违反了参照完整性。因为6在关系“部门”中不存在。 本题主要考查完整性定义的约束性。 先看看第一条记录,它的职工号是1001,在表22-2中已经存在该职工号的记录。因为“职工号”是“职工”关系的主键,它在表中不能重复出现,否则破坏了实体的完整性。因此该条记录不能插入。 在第二条记录中职工号没有重复,同时它可以先不录入部门号(表示是新职工,暂时还没有分配部门),因为在“职工”关系中“部门号”是外键,在定义中也没有约束它不能为空。因此该记录可以插入。 最后一条记录中,部门号是6,但是在“部门”关系中没有找到“部门号”是6的记录,因此不能做插入操作。否则,就违反了参照完整性规则。

多选题
单项选择题