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

admin2009-05-15  33

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

选项

答案(1)不能插入。它违反了实体完整性原则,因为其主键属性值已经存在。 (2)可以插入。尽管部门号、电话和办公室为空,但是它表示该职工暂时还没有分配到某个部门。 (3)不能插入。它违反了参照完整性。因为6在关系“部门”中不存在。

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

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