问题 单项选择题

某医院管理系统部分关系模式为:科室(科室号,科室名,负责人,电话)、病患(病历号,姓名,住址,联系电话)和职工(职工号,职工姓名,科室号,职位,住址,联系电话)。假设每个科室有一位负责人和一部电话,每个科室有若干名职工,一名职工只属于一个科室;一个医生可以为多个病患看病;一个病患可以由多个医生多次诊治;职位有医生、护士和其他。a.科室和职工的所属联系类型是__(1)__,病患和医生的就诊联系类型是__(2)__。科室关系的主键和外键分别为__(3)__。对于就诊联系最合理的设计是__(4)__,就诊关系的主键是__(5)__。

空白(3)处应选择()

A.科室号、科室名

B.科室名、科室号

C.科室名、负责人

D.科室号、负责人

答案

参考答案:D

解析:

本题考查数据库基本概念、数据库设计基础知识以及SQL语言。

试题1、2考查数据库联系类型方面的基本概念。根据题意"每个科室有若干名职工,一名职工只属于一个科室",因此科室和职工的所属联系类型是1:n的,试题1的正确答案是B。又因为"一个医生可以为多个病患看病;一个病患可以由多个医生诊治",因此病患和医生的就诊联系类型是n:m的,试题2的正确答案是D。

试题3考查数据库范式方面的基本概念。科室和病患关系都不属于第三范式的原因是:科室关系的主键是科室号,非主属性"科室名,负责人,电话"虽然不存在对键的部分函数依赖,但是存在传递依赖,即科室号→科室名→电话;病患关系的主键是病历号,非主属性"姓名,住址,联系电话",虽然不存在对键的部分函数依赖,但是存在传递依赖,即病历号→姓名→(住址,联系电话)。综上分析,试题3正确的答案是D。

试题5、6考查数据库设计方面的基础知识。就诊联系是多对多联系,对于多对多联系只能转换成一个独立的关系模式,关系模式的名称取联系的名称,关系模式的属性取该联系所关联的两个多方实体的码及联系的属性,关系的码是多方实体的码构成的属性组。另外,由于病患会找多个医生为其诊治,在就诊关系模式的设计时需要加上就诊时间,以便唯一区分就诊关系中的每一个元组,即就诊关系模式的主键为(病历号,职工号,就诊时间)。综上分析,试题4正确的答案是C,试题5正确的答案是B。试题6正确的答案是B,因为试题要求科室名是唯一的,由于科室关系中负责人来自职工,因此应该用UNIQUE限定。

试题7正确的答案是D,因为职工关系的主键是职工号,所以科室关系的外键负责人需要用FOREIGNKEY(负责人)REFERENCES职工(职工号)来约束。

单项选择题
填空题