选择题   现有表示患者和医疗的关系如下:P(P#,Pn,Pg,By),其中P#为患者编号,Pn为患者姓名,Pg为性别,By为出生日期:Tr(P#,D#,Date,Rt),其中D#为医生编号,Date为就诊日期,Rt为诊断结果。检索在1号医生处就诊的男性病人姓名的表达式是______。
    A.σPg='男'(P)
    B.πpnp#D#=1(Tr)) σpg='男'(P))
    C.πPnp#D#=1(Tr)) P)
    D.πP#p#D#=1(Tr)))
【正确答案】 B
【答案解析】[考点] 数据库设计基础 检索病人姓名即检索P表中的Pn列,医生编号要从Tr表中的D#列处获得,所以单独从P表或单独从Tr表中都不能得到结果,必须将P表与Tr表连接后再进行操作。在连接操作之前,先要从Tr表中筛选出D#=1的行(σ操作),并仅保留P#列(π操作),得到第1个筛选结果。再从P表中筛选出性别为'男'(Pg='男')的行(σ操作),得到第2个筛选结果。再将两个筛选结果进行连接即可。连接后,还要从连接结果中只保留“姓名”Pn列,故再做一次π操作。