12.2.案例分析专题-数据库设计

在这里插入图片描述

数据库设计

在这里插入图片描述

  1. 需求分析:即分析数据存储的要求,产出物有数据流图、数据字典、需求说明书。获得用户对系统的三个要求:信息要求、处理要求、系统要求。
  2. 概念结构设计:就是设计E-R图,也即实体-联系图。工作步骤包括:选择局部应用、逐一设计分E-R图、E-R图合并。分E-R图进行合并时,它们之间存在的冲突主要有以下3类。
    • 属性冲突。同一属性可能会存在于不同的分E-R图中。
    • 命名冲突。相同意义的属性,在不同的分E-R图上有着不同的命名,或是名称相同的属性在不同的分E-R图中代表若不同的意义。
    • 结构冲突。同一实体在不同的分ER图中有不同的属性,同一对象在某一分-R图中被抽象为实体而在另一分E-R图中又被抽象为属性。
  3. 逻辑结构设计:将E-R图,转换成关系模式。工作步骤包括:确定数据模型、将E-R图转换成为指定的数据模型、确定完整性约束和确定用户视图。
  4. 物理设计:步骤包括确定数据分布、存储结构和访问方式。
  5. 数据库实施阶段:根据逻辑设计和物理设计阶段的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。
  6. 数据库运行和维护阶段:数据库应用系统经过试运行即可投入运行,但该阶段需要不断地对系统进行评价、调整与修改。

概念

  • 实体:客观存在并可相互区别的事物。可以是具体的人、事、物或抽象概念。如人、汽车、图书、账户、贷款。
    • 弱实体和强实体:弱实体依赖于强实体的存在而存在。
    • 实体集:具有相同类型和共享相同属性的实体的集合,如学生、课程。
  • 属性:实体所具有的特性
    • 属性分类:简单属性和复合属性;单值属性和多值属性;NU儿L属性;派生属性(可以通过其他属性运算出来比如年龄可以根据出生日期)。
    • 域:属性的取值范围称为该属性的域。
    • 码(key):唯一标识实体的属性集。
  • 联系:现实世界中事物内部以及事物之间的联系,在E-R图中反映为实体内部的联系和实体之间的联系
    • 一对一(1:1)
    • 一对多(1:N)
    • 多对多(M:N)

E-R图

E-R图来描述概念数据模型,世界是由一组称作实体的基本对象和这些对象之间的联系构成的
在E-R模型中,使用椭圆表示属性(一般没有)、长方形表示实体、菱形表示联系,联系的两端要填写联系类型,示例如下图:
在这里插入图片描述

练习题

2021年上真题

某社区蔬菜团购网站,为规范商品收发流程,便于查询客户订单情况,需要开发一个信息系统。请根据下述需求描述完成该系统的数据库设计。
【需求分析结果】
(1)记录蔬菜供应商的信息,包括供应商编号、地址和一个电话。
(2)记录社区团购点的信息,包括团购点编号、地址和一个电话。
(3)记录客户信息,包括客户姓名和一个电话。客户可以在不同的社区团购点下订单,不直接与蔬菜供应商发生联系。
(4)记录客户订单信息,包括订单编号、团购点编号、客户电话、订单内容和日期。
【概念模型设计】
根据需求阶段收集的信息,设计的实体联系图(不完整)如图2-1所示。
【逻辑结构设计】
根据概念模型设计阶段完成的实体联系图,得出如下关系模式(不完整)
蔬菜供货商(供货商编号,地址,电话)
社区团购点(团购点编号,地址,电话)
供货(供货商编号,(a) )
客户(姓名,客户电话)
订单(订单编号,团购点编号,订单内容,日期,(b))
在这里插入图片描述
【问题1】(6分)
根据问题描述,补充图2-1的实体联系图。
【问题2】(4分)
补充逻辑结构设计结果中的((a)、(b)两处空缺及完整性约束关系。
【问题3】(5分)
若社区蔬菜团购网站还兼有代收快递的业务,请增加新的“快递”实体,并给出客户实体和快递实体之间的“收取联系,对图2-1进行补充。“快递”关系模式包括快递编号、客户电话和日期。客户电话和日期。

问题2
a:团购点编号,主键(供应商编号,团购点编号),外键:供应商编号,团购点编号
b:客户电话,主键:订单编号,外键:团购点编号,客户电话
问题1

属性
关系
*
*
订单编号
订单内容
日期
订单
社区团购点
客户

问题3

属性
关系
1
*
快递编号
客户电话
日期
收取
客户
快递

2021年下真题

某汽车维修公司为了便于管理车辆的维修情况,拟开发一套汽车维修管理系统,请根据下述需求描述完成该系统的数据库设计。
【需求分析结果】
(1)客户信息包括:客户号、客户名、客户性质、折扣率、联系人、联系电话。客户性质有个人或单位。客户号唯一标识客户关系中的每一个元组。
(2)车辆信息包括:车牌号、车型、颜色和车辆类别。一个客户至少有一辆车,一辆车只属于一个客户。
(3)员工信息包括:员工号、员工名、岗位、电话、家庭住址。其中员工号唯一标识员工关系中的每一个元组。岗位有业务员、维修工、主管。业务员根据车辆的故障情况填写维修单,
(4)部门信息包括:部门号、名称、主管和电话。其中,部门号唯一确定部门关系的每一个元组。每个部门只有一名主管,但每个部门有多名员工,每名员工只属于一个部门。
(5)维修单信息包括:维修单号、车牌号、维修内容、工时。其中,维修单号唯一标识维修单关系中的每一个元组。一个维修工可以接多张维修单,但一张维修单只对应一个维修工。
【概念模型设计】
根据需求阶段收集的信息,设计的实体联系图(不完整)如图2-1所示。
【逻辑结构设计】
根据概念模型设计阶段完成的实体联系图,得出如下关系模式(不完整)客户(客户号,客户名,(a),折扣率,联系人,联系电话)
车辆(车牌号,(b),车型,颜色,车辆类别)
员工(员工号,员工名,岗位,(c),电话,家庭住址)
部门(部门号,名称,主管,电话)
维修单(维修单号,(d),维修内容,工时)
在这里插入图片描述
【问题1】(6分)
根据问题描述,补充3个联系,完善图2-1的实体联系图。联系名可以用联系1、联系2和联系3代替,联系的类型为1:1、1:n和m:n(或1:1、1:* 和 * : *)
【问题2】(4分)
根据题意,将关系模式中的空(a)~(d)的属性补充完整,并填入答题纸对应的位置上。
【问题3】(2分)
分别给出车辆关系和维修单关系的主键和外键。
【问题4】(3分)
如果一张维修单涉及多项维修内容,需要多个维修工来处理,那么这个联系类型会发生何种变化?你认为应该如何解决这一问题?

问题2
a:客户性质
b:客户号
c:部门号
d:车牌号,维修工的员工号,业务员的员工号
问题3
车辆关系:主键是车牌号,外键是客户号
维修单关系:主键是维修单号,外键是维修工的员工号和业务员的员工号
问题4
维修工和维修单之间的联系类型会发生变化,从1:n变成m:n
问题1

*
1
*
1
*
1
车辆
联系1
客户
员工
联系2
部门
维修单
联系3
维修工
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yoyo勰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值