问题
单项选择题
以下病人(PATIENT)和理疗师(PHYSICIAN)表的结构:
PATIENT | ||
PATIENT_ID | NUMBER | NOT NULL, Primary Key |
LAST_NAME | VARCHAR2(30) | NOT NULL |
FIRST_NAME | VARCHAR2(25) | NOT NULL |
DOB | DATE | |
INS_CODE | NUMBER |
PHYSICIAN | ||
PHYSICIAN_ID | NUMBER | NOT NULL, Primary Key |
LAST_NAME | VARCHAR2(30) | NOT NULL |
FIRST_NAME | VARCHAR2(25) | NOT NULL |
LICENSE_NO | NUMBER(7) | NOT NULL |
HIRE_DATE | DATE |
A.相等连接
B.交叉连接(Cross Join)
C.自然连接
D.没法完成这一要求,因为两个表中没有相同的列
答案
参考答案:D
解析: 这一题是测试对表之间的连接概念的理解。根据外键和引用完整性的介绍,可知关系数据库工作的机制是控制冗余,控制冗余就是数据库中的表通过共享相同的键属性的介绍(列)把它们链接在了一起。仔细检查PATIENT和PHYSICIAN表中的每一列,可以发现在这两个表中没有能够产生控制冗余的相同列(common column),所以选项D是正确的。
这里需要指出的是PATIENT表中的last_name和first_name与PHYSICIAN表中的last_name和first_name并不相同,因为它们分别代表病人和理疗师的名字。