给定员工关系EMP(EmpID,Ename,sex,age,tel,DepID),其属性含义分别为:员工号、姓名、性别、年龄、电话、部门号;部门关系DEP(DepID,Dname,Dtel,DEmpID),其属性含义分别为:部门号、部门名、电话,负责人号。

admin2015-05-21  21

问题 给定员工关系EMP(EmpID,Ename,sex,age,tel,DepID),其属性含义分别为:员工号、姓名、性别、年龄、电话、部门号;部门关系DEP(DepID,Dname,Dtel,DEmpID),其属性含义分别为:部门号、部门名、电话,负责人号。若要求DepID参照部门关系DEP的主码DeplD,则可以在定义EMP时用(7)进行约束。若要查询开发部的负责人姓名、年龄,则正确的关系代数表达式为(8)  。
  (8)

选项 A、π2,48=‘开发部’(EMP×DEP))
B、π2,41=9(EMP2=’开发部’(DEP)))
C、π2,3(EMP×σ2=’开发部’(DEP))
D、π2,31,2,4,6(EMP)σ2=‘开发部’(DEP))

答案B

解析 员工关系中的DepID是一个外键,为了保证数据的正确性,通过参照完整性加以约束。SQL语言通过使用保留字Foreign Key定义外键,References指明外码对应于哪个表的主码。参照完整性定义格式如下:
    Foreign Key(属性名)References表名(属性名)
    可见,若要求DeplD参照部门关系DEP的主码DepID,则可以在定义EMP时用“Foreign Key(DepID)References DEP(DepID)”进行约束。
    试题(8)要求“查询开发部的负责人姓名、年龄”的关系代数表达式,选项B是先进行σ2=’开发部’(DEP)运算,即在DEP关系中选择部门名Dname=‘开发部’的元组;然后将EMP关系与其进行EMEDepID=DEEDepID的自然连接,并去掉右边的重复属性“DEP.DepID”,自然连接后的属性列为(EmpID,Ename,sex,age,tel,DepID,Dname,Dtel,DEmpID);再此基础上进行σ1=9运算,即进行员工号EmpID等于部门负责人号DEmpID的选取运算;最后进行属性列2(Ename)和属性列4(age)的投影运算。
转载请注明原文地址:https://jikaoti.com/ti/Lw67FFFM
0

最新回复(0)