单选题
给定关系模式科室K(科室号,科室名,负责人,科室电话)、医生Y(医生号,医生名,性别,科室号,联系电话,家庭地址)和患者B(病历号,患者名,性别,医保号,联系方式),并且1个科室有多名医生,1名医生属于1个科室;1名医生可以为多个患者诊疗,1个患者也可以找多名医生诊疗。
科室与医生之间的“所属”联系类型、医生与患者之间的“诊疗”联系类型分别为______;其中______。
下列查询“肝胆科”医生的医生名、联系电话及家庭住址的关系代数表达式中,查询效率最高的是______。
单选题
- A.1:1、n:m
- B.n:m、1:1
- C.n:m、1:n
- D.1:n、n:m
单选题
- A.“诊疗”联系需要转换为一个独立的关系,并将医生号和患者名作为主键
- B.“诊疗”联系需要转换为一个独立的关系,并将医生号和病历号作为主键
- C.“所属”联系需要转换为一个独立的关系,并将医生号和科室名作为主键
- D.“所属”联系需要转换为一个独立的关系,并将医生号和科室号作为主键
单选题
A.π
6,9,10(σ
1=8(K×Y))
B.π
6,9,10(σ
1=8∧2='肝胆科'(K×Y))
C.π
6,8,9(σ
2='肝胆科'
)
D.π
3,4,5(π
1(σ
2='肝胆科'(K))
【正确答案】
C
【答案解析】[解析] 本题考查规范化与关系代数相关知识。
由于1个科室有多名医生,1名医生属于1个科室,所以科室与医生的对应联系类型为1:n;1名医生可以为多个患者诊疗,1个患者也可以找多名医生诊疗,所以医生与患者的对应联系类型为n:m。
在将联系转成关系模式时,1:1和1:n的联系都可以不单独转成关系模式,而m:n联系必须单独转成一个关系模式。这就决定了:医生与患者之间的“诊疗”联系需要单独转成一个关系模式,这个关系模式以医生Y与患者B两个关系模式的主键组合作为主键,即医生号和病历号作为主键。
最后一空为关系代数表达式查询问题,备选答案中,能达到题目效果的是B与C。相对而言C的效率比B高。
C选项中,先将K与Y做自然连接,得到的结果属性包括:科室号,科室名,负责人,科室电话,医生号,医生名,性别,联系电话,家庭地址。然后做选择操作,将科室名为“肝胆科”的医生记录选出,最后做投影操作,将结果集的属性限制为:医生名、联系电话及家庭住址。