问题 问答题

阅读下列说明和图,回答问题。

[说明]

某宾馆拟开发一个宾馆客房预订子系统,主要是针对客房的预订和入住等情况进行管理。

[需求分析结果]

(1)员工信息主要包括:员工号、姓名、出生年月、性别、部门、岗位、住址、联系电话和密码等信息。岗位有管理和服务两种。岗位为“管理”的员工可以更改(添加、删除和修改)员工表中的本部门员工的岗位和密码,要求将每一次更改前的信息保留;岗位为“服务”的员工只能修改员工表中本人的密码,且负责多个客房的清理等工作。

(2)部门信息主要包括:部门号、部门名称、部门负责人、电话等信息;一个员工只能属于一个部门,一个部门只有一位负责人。

(3)客房信息包括:客房号、类型、价格、状态等信息。其中类型是指单人间、三人间、普通标准间、豪华标准间等;状态是指空闲、入住和维修。

(4)客户信息包括:身份证号、姓名、性别、单位和联系电话。

(5)客房预订情况包括:客房号、预订日期、预订入住日期、预订入住天数、身份证号等信息。一条预订信息必须且仅对应一位客户,但一位客户可以有多条预订信息。

[概念模型设计]

根据需求阶段收集的信,设计好的实体联系图(不完整)如图2-1所示。

[逻辑结构设计]

逻辑结构设计阶段设计的部分关系模式(不完整)如下。

员工( (4) ,姓名,出生年月,性别,岗位,住址,联系电话,密码)

权限(岗位,操作权限)

部门(部门号,部门名称,部门负责人,电话)

客房( (5) ,类型,价格,状态,入住日期,入住时间,员工号)

客户( (6) ,姓名,性别,单位,联系电话)

更改权限(员工号, (7) ,密码,更改日期,更改时间,管理员号)

预定情况( (8) ,预定日期,预定入住日期,预定入住天数)

若去掉权限表,并将权限表中的操作权限属性放在员工表中(仍保持管理和服务岗位的操作权限规定),则与原有设计相比有什么优缺点(请从数据库设计的角度进行说明)?

答案

参考答案:

如果合为一个表,只查一次表就能得出岗位和操作权限信息,增加查找速度。缺点:合为一个表,则岗位、操作权限多次重复出现,产生冗余数据,增加数据库存储量。

解析:

[分析]:

本题考查数据库设计。涉及的考点有:概念模型设计(E-R图的补充)和逻辑模型设计。下面具体分析试题。

[问题1] (1)按常规来说,一个员工只能属于一个部门,一个部门只有一个负责人,所以部门与员工之间的关系是一对多的关系,所以(1)应该填写n。

(2)由于一条预定信息必须仅对应一个客户,但一个客户可以有多条预定信息,所以客户与预定信息之间是一对多的关系。需要注意,题目要求的是客户与客房之间的预定信息,一位客户可以预定多个客房,而一个客房在不同的时间也可以被多个客户预定,所以客户与客房的预定关系是多对多的。所以(2)和(3)都应填写n。

[问题2] 由图可知,需要增加的是员工与权限的关系,因为“管理员”和“服务员”都属于“员工”;一类员工(比如服务员A、服务员B、…、服务员N)使用同一权限,所以员工与权限之间是多对一的关系。

[问题3] 由需求分析结果第1条可知,员工信息主要包括:员工号、姓名、出生年月、性别、部门、岗位、住址、联系电话和密码等信息,即员工信息包括员工本身的信息和他所在的部门信息,员工本身最具代表性的信息就是员工号了,而部门在该系统中是一个关系,所以在空(4)处要记录部门相关信息,只需记录部门号即可,其余相关信息可以通过部门号查询获得。

由需求分析结果第3条可知,客房信息包括:客房号、类型、价格、状态等信息,显然空(5)处要填写:客房号。

由需求分析结果第4条可知,客户信息包括:身份证号、姓名、性别、单位和联系电话。显然空(6)处应填写:身份证号。

岗位有管理和服务两种,岗位为“管理”的员工可以更改(添加、删除和修改)员工表中的本部门员工的岗位和密码,要求将每一次更改前的信息保留。所以“更改权限”这个关系模式是指岗位为“管理”的员工可以更改员工表中本部门员工的岗位和密码。“更改前的信息”包括该员工所涉及的全部信息。该关系中已经记录了“员工号”,从员工号可查询获得该员工所有的个人信息和部门信息,同时记录了员工的密码及本次修改的时间、操作和管理员。仔细观察,不难发现该关系中唯一缺少的是岗位的信息,而本系统的设计时由岗位确定该员工的权限的,因此空(7)处应填写:岗位。

由需求分析结果第5条可知,客房预订情况包括:客房号、预订日期、预订入住日期、预订入住天数、身份证号等信息,显然空(8)处应填写:客房号,身份证号。

[问题4] 本题考查考生对数据库规范化的理解。

去掉“权限表”后的缺点:去掉“权限表”后,权限字段就得添加到员工表中,员工表中有很多员工记录,而同一类员工的权限都相同,权限数据却要多次重复存储,显然有大量的数据冗余。同时,此时若要对权限字段进行更新,很有可能产生更新异常,若某一岗位的员工全部离职,将导致权限数据的丢失(删除异常)。

去掉“权限表”的优点:获取某一员工权限数据时,不必再将员工表与权限表进行连接查询,可以提高存储速度。

问答题
单项选择题