知识点
E-R模型(Entity-relationship model)表示:
实体: 用矩形框表示。
属性: 实体的属性用椭圆框表示。
联系:实体间的联系用菱形框表示,并在连线上标明联系的类型,即1—1、1—n或m—n。
两个实体之间的联系
一对一(1:1):
一对多(1:n)
多对多(m:n)
弱实体: 该联系是指试题是否存在对于另一些试题具有很强的依赖关系。
特殊化: 实体具有一些共性,还具有各自的特性,一个实体集可以按照某些特征区分为几个子实体。
聚集: 一个联系作为另一个联系的一端。
三元联系
两个以上不同实体集之间的联系(三元联系)
三元关系中的一个实体作为中心,假设另两个实体都只有一个实例:
若中心实体只有一个实例能与另两个实体的一个实例进行关联,则中心实体的连通数为”一“
若中心实体有多于一个实例能与另两个实体实例进行关联,则中心实体的连通数为"多"
E-R模型图
试题
试题二
阅读下列说明,回答问题1至4问题,将解答填入答题纸的对应栏内。
【说明】
M公司为了便于开展和管理各项业务活动,提高公司的知名度和影响力,拟构建一个基于网络的会议策划系统。
【需求分析结果】
该系统的部分功能及初步需求分析的结果如下 :
(1)M公司旗下有业务部、策划部和其他部门。部门信息包括部门号、部门名、主管、联系电话和邮箱号;每个部门只有一名主管,只负责管理本部门的工作,且主管参照员工关系的员工号;一个部门有多名员工,每名员工属于且仅属于一个部门。
(2)员工信息包括员工号、姓名、职位、联系方式和薪资。职位包括主管、业务员、 策划员等。业务员负责受理用户申请,设置受理标志。一名业务员可以受理多个用户申请,但一个用户申请只能由一名业务员受理。
(3)用户信息包括用户号、用户名、银行账号、电话、联系地址。用户号唯一标识用户信息中的每一个元组。
(4)用户申请信息包括申请号、用户号、会议日期、天数、参会人数、地点、预算和受理标志。申请号唯一标识用户申请信息中的每一个元组,且一个用户可以提交多个申请,但一个用户申请只对应一个用户号。
(5)策划部主管为己受理的用户申请制定会议策划任务。策划任务包括申请号、任务明细和要求完成时间.申请号唯一标识策划任务的每一个元组。一个策划任务只对应一个已受理的用户申请,但一个策划任务可由多名策划员参与执行,且一名策划员可以参与执行,且在项策划任务。
【概念模型设计】
根据需求阶段收集的信息,设计的实体联系图(不完整)如图 2-1 所示。
>
【关系模型设计】
部门(部门号,部门名,部门主管,联系电话,邮箱号)
员工(员工号,姓名,( ),联系方式,薪资)
用户(用户号,( ),电话,联系地址)
用户申请(申请号,用户号,会议日期,天数,参会人数,地点,受理标志,( ))
策划任务(申请号,任务明细,( ))
执行(申请号,策划员,实际完成时间,用户评价)
【问题1】(5分)
根据问题描述,补充五个联系,完善图2-1的实体联系图。联系名可用联系1、联系2、联系3、联系4和联系5,联系的类型为1:1、1:n和m:n(或1:1、1:*和*:*)。
1.联系1:部门和员工,1:n
2.联系2:业务员和用户申请,1:n
3.联系3:用户和用户申请,1:n
4.联系4:策划员和策划任务,n:m
5.联系5:策划任务和用户申请,1:1
【问题2】(4分)
根据题意,将关系模型中的空(a)~(d)补充完整,并填入答题纸对应的位置上。
a.职位,部门号
b.用户名,银行帐号
c.预算费用,业务员(员工号)
d.要求完成时间
【问题3】(4分)
给出“用户申请”和“策划任务”关系模式的主键和外键。
用户申请:主键:申请号 外键:用户号,业务员
策划任务:主键:申请号 外键:申请号
【问题4】(2分)
请问“执行”关系模式的主键为全码的说法正确吗?为什么?
不正确。
All-key关系模型的所有属性组组成该关系模式的候选码,称为全码。即所有属性当作一个码。若关系中只有一个候选码,且这个候选码中包含全部属性,则该候选码为全码。
实际完成时间和用户评价为非主属性。
试题二(共 15 分)
阅读下列说明,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。
【说明】
某房屋租赁公司拟开发一个管理系统用于管理其持有的房屋、租客及员工信息。请根据下述需求描述完成系统的数据库设计。
【需求描述】
1.公司拥有多幢公寓楼,每幢公寓楼有唯一的楼编号和地址。每幢公寓楼中有多套公寓,每套公寓在楼内有唯一的编号(不同公寓楼内的公寓号可相同〉。系统需记录每套公寓的卧室数和卫生间数。
2.员工和租客在系统中有唯一的编号(员工编号和租客编号)。
3.对于每个租客,系统需记录姓名、多个联系电话、一个银行账号(方便自动扣房租)、一个紧急联系人的姓名及联系电话。
4.系统需记录每个员工的姓名、一个联系电话和月工资。员工类别可以是经理或维修工,也可兼任。每个经理可以管理多幢公寓楼。每幢公寓楼必须由一个经理管理。系统需记录每个维修工的业务技能,如:水暖维修、电工、木工等。
5.租客租赁公寓必须和公司签订租赁合同。一份租赁合同通常由一个或多个租客(合租)与该公寓楼的经理签订,一个租客也可租赁多套公寓。合同内容应包含签订日期、开始时间、租期、押金和月租金。
【概念模型设计】
根据需求阶段收集的信息,设计的实体联系图(不完整)如图 2-1所示。
【逻辑结构设计】
根据概念摸型设计阶段完成的实体联系图,得出如下关系模式(不完整):
联系电话(电话号码,租客编号)
租客(租客编号,姓名,银行账号,联系人姓名,联系人电话)
员工(员工编号,姓名,联系电话,类别,月工资, (a) )
公寓楼( (b) ,地址,经理编号)
公寓(楼编号,公寓号,卧室数,卫生间数〉
合同(合同编号,租客编号,楼编号,公寓号,经理编号,签订日期,
起始日期,租期, (c) ,押金)
【问题 1】(4.5 分)
补充图 2-1 中的“签约”联系所关联的实体及联系类型。
【问题 2】(4.5 分)
补充逻辑结构设计中的(a)、(b)、(c)三处空缺。
(a)业务技能
(b)楼编号
(c)月租金
【问题 3】(6 分)
在租期内,公寓内设施如出现问题,租客可在系统中进行故障登记,填写故障描述,每项故障由系统自动生成唯一的故障编号,由公司派维修工进行故障维修,系统需记录每次维修的维修日期和维修内容。请根据此需求,对图 2-1 进行补充,并将所补充的 ER 图内容转换为一个关系模式,请给出该关系模式。
维修(故障编号,故障描述,维修工,维修日期,维修内容,楼编号,公寓号,租客编号)
试题二
【说明】
某宾馆为了有效地管理客房资源,满足不同客户需求,拟构建一套宾馆信息管理系统,以方便宾馆管理及客房预订等业务活动。
【需求分析结果】
该系统的部分功能及初步需求分析的结果如下:
(1)宾馆有多个部门,部门信息包括部门号、部门名称、电话、经理。每个部门可以有多名员工,每名员工只属于一个部门;每个部门只有一名经理,负责管理本部门。
(2)员工信息包括员工号、姓名、岗位、电话、工资,其中,员工号唯一标识员工关系中的一个元组,岗位有经理、业务员。
(3)客房信息包括客房号(如1301、1302等)、客房类型、收费标准、入住状态(已入住/未入住),其中客房号唯一标识客房关系中的一个元组,不同客房类型具有不同的收费标准。
(4)客户信息包括客户号、单位名称、联系人、联系电话、联系地址,其中客户号唯一标识客户关系中的一个元组。
(5)客户预订客房时,需要填写预订申请。预订申请信息包括申请号、客户号、入住时间、入住天数、客房类型、客房数量,其中,一个申请号唯一标识预订申请中的一个元组;一位客户可以有多个预订申请,但一个预订申请对应唯一的一位客户。
(6)当客户入住时,业务员根据客户的预订申请负责安排入住客房事宜。安排信息包括客房号、姓名、性别、身份证号、入住时间、天数、电话,其中客房号、身份证号和入住时间唯一标识一次安排。一名业务员可以安排多个预订申请,一个预订申请只由一名业务员安排,而且可安排多间同类型的客房。
【概念模型设计】
根据需求阶段收集的信息,设计的实体联系图如图2-1所示。
【关系模式设计】
部门(部门号,部门名称,经理,电话)
员工(员工号, ( a ),姓名,岗位,电话,工资)
客户( ( b ) ,联系人,联系电话,联系地址)
客房(客房号,客房类型,收费标准,入住状态)
预订申请( ( c) ,入住时间,天数,客房类型,客房数量)
安排(申请号,客房号,姓名,性别, (d) ,天数,电话,业务员)
【问题1】(4分)
根据问题描述,补充四个联系,完善图2-1,的实体联系图。联系名可用联系1、联系2、联系3和联系4代替,联系的类型为1:1、1:n和m:n (或1:1,和1:*和*:*)。
1、经理与部门 之间 存在1:1的联系。
2、部门与员工 之间 存在1:n的联系。
3、客户与预订申请 之间 存在 1:n的联系。
4、业务员、客房、预订申请 之间存在1:m:n的联系。
【问题2】(8分)
(1)根据题意,将关系模式中的空(a)~(d)补充完整,并填入答题纸对应的位置上。
(2)给出“预订申请”和“安排”关系模式的主键和外键。
(a)部门号。
(b)客户号、单位名称
(c)申请号、客户号。
(d)身份证号、入住时间。
预订申请关系模式中的主键是申请号,外键是申请号、客户号。
安排关系模式中的主键是:(客房号、身份证号、入住时间),外键是:申请号、客房号、业务员。
【问题3】(3分)
【关系模式设计】中的“客房”关系模式是否存在规范性问题,请用100字以内文字解释你的观点(若存在问题,应说明如何修改“客房”关系模式)。
根据试题中的描述,客房信息中客房号是唯一标识客房关系的一个元组,即可以作为唯一的主键。在客房关系模式中,不存在其他部分依赖关系,但客房号->类型->收费标准,存在传递函数依赖,所以冗余,添加异常,修改异常,删除异常均存在。