MySQL版数据库原理与应用-----学习篇5

5.1 数据库设计概述

5.1.1 数据库设计的定义和知识要求

 1. 数据库设计是对于一个给定的应用环境,根据用户的需求,在某一具体的数据库管理系统上,构造一个性能良好的数据模式,建立数据库及其应用系统,使之能有效地存储数据,满足各种用户的信息要求和处理要求。

  • 信息需求:数据库内容及结构的要求,静态。
  • 处理需求:数据库要进行的数据处理,动态。

 2. 数据库设计人员应具备的技术和知识:

  • 计算机科学基础知识和程序设计技术。
  • DB基本知识和DB设计技术。
  • 软件工程的原理和方法。
  • 应用领域的知识。

5.1.2 数据库设计的内容

 数据库设计包括结构设计和行为设计两方面内容。

  • 数据库的结构设计是指根据给定的应用环境,进行数据库的模式或子模式的设计。
  • 数据库的行为设计是指确定数据库用户的行为和动作。

在这里插入图片描述

5.1.3 数据库的设计方法

    设计方法有:直观设计法、规范设计法、计算机辅助设计法、自动化设计法。规范设计法中有基于实体联系的设计方法、基于3NF的数据库设计方法、基于视图概念的数据库设计方法等。

5.1.4 数据库设计的基本步骤

 1. 需求分析:是整个设计过程的基础。

  • 信息需求分析。
  • 操作需求分析。

 2. 概念结构设计:将需求分析的结果用一种工具进行形式化的定义和描述,是整个DB设计的关键。如:E-R图。
 3. 逻辑结构设计:概念模型→数据模型。根据需求分析和概念设计的结果,选择合适的数据模型,并选用某一设计方法构造一数据库模式。
 4. 物理设计:选择合适的物理结构。包括存储结构和存取方法。
 5. 实施阶段:根据逻辑设计和物理设计建立数据库;编制和调试应用程序;试运行。
 6. DB运行和维护阶段:根据运行记录对DB进行评价,根据评价对DB调整和修改。
在这里插入图片描述

5.2 需求分析

5.2.1 需求分析的任务

 1. 信息要求:DB中需存储的数据。
 2. 处理要求:用户要求的处理功能和对各处理的响应时间的要求。
 3. 安全性与完整性要求。
(其实确定用户的最终需求是非常困难的!)

5.2.2 需求分析的方法和过程

 1. 需求分析的常用方法:

  • 跟班作业。
  • 开调查会。
  • 请专人介绍。
  • 询问。
  • 调查表。
  • 查阅记录。

强调:①数据的收集要尽可能详尽,全面反映用户需求。 ②要考虑可能的扩充和改变。 ③必须强调用户的参与。
 2. 调查用户需求的具体步骤:

  • 分析用户活动,产生业务流程图。
  • 确定系统范围,产生业务范围图。
  • 分析用户活动及所涉及的数据,产生数据流图。
  • 分析系统数据,产生数据字典。
  • 功能分析。

5.2.3 需求分析常用工具

 1. 数据流图(DFD):以图形的方式描绘数据在系统中流动和处理的过程。

在这里插入图片描述

例如
在这里插入图片描述

 2. 数据字典:数据字典是关于数据的数据库,它是对数据流程图上各个元素作出详细的定义和说明。通常包括下面五个部分:

  • 数据项
  • 数据结构
  • 数据流
  • 数据存储
  • 处理过程
数据字典5个组成部分描述
数据项数据项是不可再分的数据单位
数据结构数据结构反应了数据之间的组合关系
数据流数据流是数据结构在系统内传输的途径
数据存储数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。
处理过程只需要描述处理过程的说明性信息

5.3 概念结构设计

5.3.1 概念结构设计的定义

 1. 不同DBMS基于不同的数据模型,而现实应用环境复杂多变,将现实世界中的事物直接转换为机器中的对象,非常不方便。
 2. 概念模型是现实世界到机器世界的一个中间层次,使用接近计算机存储的方式表示数据,同时又不涉及具体的DBMS。
注意:概念模型的描述工具通常是E_R模型,该模型不依赖于具体的硬件环境和DBMS。

5.3.2 概念结构设计方法

 1. 自顶向下(集中模式设计):先定义全局,然后再逐步细化。
 2. 自底向上(视图集成法):先定义局部,然后再集成起来。
 3. 混合策略:自底向上和自顶向下相结合。
 4. 逐步扩张(由内向外法):先定义核心,然后再逐步向外扩充。

5.3.3 局部E-R图设计

 1. 选择局部应用。一般而言,中层数据流图能较好反应系统各局部应用的子系统组成,因此通常以中层数据流图作为设计分E-R图的依据。
 2. 从数据字典中抽取数据。依据数据流图,标定局部应用中的实体、实体属性、标识实体的码,确定联系及类型。
 3. 逐一设计分E-R图:

  • 标定局部应用中的实体。
  • 标定实体的属性、标识实体的码。
  • 确定实体之间的联系。

例如
在这里插入图片描述

5.3.4 集成全局视图

 1.视图集成要解决的问题:

  • 确定模式之间的对应和冲突。
  • 修改视图使得相互一致。
  • 合并视图。
  • 重构。

 2. 视图集成策略:二元集合、n元集合、二元平衡策略、混合策略。

例如
在这里插入图片描述
在这里插入图片描述

5.4 逻辑结构设计

5.4.1 逻辑结构设计的任务和步骤

  • 将概念模型转化为等价的关系模式。
  • 按需要对关系模式进行规范化。
  • 对规范化后的模式进行评价。
  • 根据局部应用的需要,设计用户外模式。

5.4.2 E-R图向关系模型转换的原则

 1. 实体的转换:一个实体转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。
 2. 联系的转换:

  • 联系类型为1:1:与该联系相连的各实体的码以及联系本身的属性构成新关系的属性,每个实体的码均是该关系的候选码。
  • 联系类型为1:n:与该联系相连的各实体的码以及联系本身的属性构成新关系的属性,该关系的码是n端关系模式的码。
  • 联系类型为n:m:与该联系相连的各实体的码以及联系本身的属性构成新关系的属性,该关系的码是两端关系模式码的组合。

5.4.3 逻辑结构的优化

  • 确定数据依赖。
  • 对于各关系模式间的数据依赖进行极小化处理,消除冗余的联系。
  • 规范化。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

冒冒菜菜

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

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

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

打赏作者

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

抵扣说明:

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

余额充值