12 250530

1

  1. 需求分析阶段
    • 准确了解与分析用户需求(包括数据与处理)
    • 是整个设计过程的基础,是最困难、最耗费时间的一步
  2. 概念结构设计阶段
    • 是整个数据库设计的关键
    • 通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型
  3. 逻辑结构设计阶段
    • 将概念结构转换为某个DBMS所支持的数据模型
    • 对其进行优化
  4. 数据库物理设计阶段
    • 为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法 )
  5. 数据库实施阶段
    • 运用DBMS提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果
    • 建立数据库
    • 编制与调试应用程序
    • 组织数据入库并进行试运行
  6. 数据库运行和维护阶段
    • 数据库应用系统经过试运行后即可投入正式运行
    • 在数据库系统运行过程中必须不断地对其进行评价、调整与修改

3

  • 目标:通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求
  • 调查、收集与分析用户在数据管理中的信息要求、处理要求、安全性与完整性要求。

4

内容

  • 数据项:是数据的最小组成单位
  • 数据结构
  • 数据流
  • 数据存储
  • 处理过程:输入输出过程

作用:数据字典是关于数据库中数据的描述,在需求分析阶段建立,是下一步进行概念设计的基础,并在数据库设计过程中不断修改、充实和完善

5

特点

  • 能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求。是对现实世界的一个真实模型。
  • 易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库的设计成功的关键。
  • 易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充。
  • 易于向关系、网状、层次等各种数据模型转换

设计策略

  • 自顶向下。即首先定义全局概念结构的框架,然后逐步细化
  • 自底向上。即首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构
  • 逐步扩张。首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构
  • 混合策略。即将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它的骨架集成由自底向上策略中设计的各区部概念结构

6

  • 实体:客观存在并可以相互区分的事物叫实体
  • 实体型:具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体称为实体型。
  • 实体集:同型实体的集合称为实体集。
  • 属性:实体所具有的某一特性,一个实体可由若干个属性来刻画。
  • 码:唯一标识实体的属性集称为码。
  • 实体-联系图(E-R图):描述实体型、属性和联系的一种方法,其中:
    • 实体型用矩形表示,矩形框内写明实体名。
    • 属性用椭圆形表示,并用无向边将其与相应的实体型连接起来。
    • 联系用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1,1:n或m:n)。

7

1b2be62147bb13139d5ccd1aa435272.jpg

8

88d1ff760187db32406d33b93aa314c.jpg

9

数据库逻辑结构设计就是把概念结构设计阶段设计好的基本E-R图转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构

  • 逻辑结构设计的步骤
    • 将概念结构转化为一般的关系、网状、层次模型
    • 将转化来的关系、网状、层次模型向特定DBMS支持下的数据模型转换
    • 对数据模型进行优化

10

7

系(系号,系名,校名)
班级(班级号,班级名,系号)
教研室(教研室号,教研室名,系号)
学生(学号,姓名,班级号,导师交工号)
课程(课程号,课程名)
选课(学号课程号,成绩)
教员(教工号,姓名,职称,教研室号)

8

产品(产品号,产品名,仓库号,库存量)
零件(零件号,零件名)
材料(材料号,材料名,仓库号,库存量)
仓库(仓库号,仓库名)
产品组成(产品号零件号,零件数量)
零件组成(零件号材料号,材料数量)
零件库存(零件号仓库号,库存量)

11

都只有一个码且都是唯一决定因素,所以都属于BCNF,不会产生更新异常

12

规范化理论为数据库设计人员判断关系模式优劣提供了理论标准,可用以指导关系数据模型的优化,用来预测模式可能出现的问题,为设计人员提供了自动产生各种模式的算法工具,使数据库设计工作有了严格的理论基础。

Built with MDFriday ❤️