根据上述说明,由SQL定义的“职工”和“部门”的关系模式,以及统计各部门的人数C、工资总数Totals、平均工资Averages的D_S视图如下所示,请在空缺处填入正确的内容。 Create Table 部门 (部门号 CHAR(1) (a)

admin2005-03-20  29

问题 根据上述说明,由SQL定义的“职工”和“部门”的关系模式,以及统计各部门的人数C、工资总数Totals、平均工资Averages的D_S视图如下所示,请在空缺处填入正确的内容。
   Create Table 部门 (部门号    CHAR(1)  (a),
                 部门名          CHAR(16),
                 负责人代码      CHAR(4),
                 任职时间        DATE,
                         (b)        (职工号));
   Create Table职工(职工号      CHAR(4),
                姓名           CHAR(8),
                年龄           NUMBER(3),
                月工资         NUMBER(4),
                部门号         CHAR(1),
                电话           CHAR(8),
                办公室         CHAR(8),
                         (a)  (职工号),
                         (c) (部门号),
                CHECK((d)));
   Create View D_S(D,C,Totals,Averages)As
                  (Select 部门号, (e)     
                        from  职工
                               (f) );
对于表2-2、表2-3所示的“职工”和“部门”关系,请指出下列各行是否可以插入,为什么?

选项

答案(1)该行不能插入“职工”关系,它违反了实体完整性中主码必须惟一区分关系中的每一个属性。 (2)该行可以插入“职工”关系,尽管部门号、电话和办公室为空,但是它表示该雇员没有分配到某个部门。 (3)该行不能插入“职32’’关系,它违反了参照完整性。因为6在关系“部门”中不存在。

解析 本题主要考查完整性定义的约束性。以下表是待插入的记录组。
  
   (1)由于在职工表的定义中职工号主码是惟一标识每个元组(记录)的,而(1)中的职工号是“1001”,在试题的职工关系中已经存在该职工号的记录,为了保证实体的完整性,该条记录不能插入。
   (2)该元组可以插入“职工”关系,尽管部门号、电话和办公室为空,但是它表示该职工暂时没有分配到某个部门。虽然职工表中部门号是外键,但在定义中也没有约束它不能为空。
   (3)该元组不能插入“职工’’关系,部门号是外键,而在部门关系中找不到部门号是6的元组,违反了参照完整性,所以不能做插入操作。
转载请注明原文地址:https://jikaoti.com/ti/WAN7FFFM
0

相关试题推荐
最新回复(0)