现有表示患者和医疗的关系如下:P(P#,Pn,Pg,By),其中P#为患者编号,Pn为患者姓名,Pg为性别,By为出生日期,Tr(P#,D#,Date,Rt),其中D#为医生编号,Date为就诊日期,Rt为诊断结果。检索在1号医生处就诊的男性病人姓名的表达

admin2021-01-11  40

问题 现有表示患者和医疗的关系如下:P(P#,Pn,Pg,By),其中P#为患者编号,Pn为患者姓名,Pg为性别,By为出生日期,Tr(P#,D#,Date,Rt),其中D#为医生编号,Date为就诊日期,Rt为诊断结果。检索在1号医生处就诊的男性病人姓名的表达式是(    )。

选项 A、 
B、 
C、 
D、 

答案B

解析 检索病人姓名需要涉及P表的Pn列,而医生编号需要从Tr表的D#处获得,所以必须将P表和Tr表进行连接后再进行操作。在连接操作之前,先从Tr表中筛选出D#=1的行(σ操作,σD#=1(Tr)),并仅筛选出P#(π操作,πP#D#=1(Tr))),得到筛选结果的一个小表;再从P表中筛选出性别为“男”(Pg=‘男’)的行(σ操作,σPg=‘男’(Tr)),得到第二张小表。将两个小表进行连接,连接后还要从连接结果中只保留“姓名”Pn列,故再做一个π操作
转载请注明原文地址:https://kaotiyun.com/show/2Rip777K
0

最新回复(0)