数据库第五章课堂笔记。

  • 数据库设计:对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使得有效地存储数据,满足用户需求。
  • 信息需求:数据库内容以及结构要求,静态(数据库里面存放什么数据)
  • 处理需求:数据库姚进行的数据处理,动态(前台相应,处理时间)
  • 结构设计/行为设计
    • 结构设计:数据分析->概念模型设计->逻辑数据库设计->物理数据库设计->子模式设计->建立数据
    • 行为设计:功能分析->功能模型->事物设计->程序说明->应用程序设计->程序编码调试
  • 数据库设计方法:
    • 直观设计
    • 规范设计(视图概念)
    • 计算机辅助设计(借助第三方软件)
    • 自动化设计
  • 要背的数据库设计的基本步骤
    • 需求分析:基础,对现实情况分析。分析信息需求操作需求
    • 概念结构设计:图形化工具表示,ER模型。方便我们理解,计算机不理解。
    • 逻辑结构设计:数据模型,方便计算机理解。概念模型->数据模型。还要设计子模式(视图)。优化。
    • 物理结构设计:选择合适的物理结构存放。交给DBMS。
    • 数据库实施:建立数据库
    • 运行维护:根据运行记录对DB进行评价。

需求分析

信息要求、处理要求、安全性与完整性要求、需求的优先级(比如学校的选课系统容纳不行)

需求分析是设计数据库当中最重要的阶段。

用户需要参与。

业务流程图->业务范围图->数据流图->数据字典(说明数据流图)

  1. 数据流图(DFD)

​ 顶层数据流图(0层数据流图)->一层数据流图(很多张)->二层数据流图(对一层加工圈细化,可拆分的加工圈都能画成二层数据流图)

​ 磁盘文件和加工圈之间的箭头要注意。

​ 加工框要编号,编号表明所处的层次以及上下层关系。任何一个数据流子图要和她上一层的加工对应,两者输入数据流和输出数据流要保持一致。

  1. 数字字典(DD)
    1. 数据项(不可再分):类似于属性列。
    2. 数据结构:若干数据项组合。学生(学号,姓名···)
    3. 数据流:来源去向高峰值数据量
    4. 数据存储:双横线,磁盘上的文件,哪些数据流操作它。记录存取量
    5. 处理过程:对应加工圈

概念结构设计

    • 二元多元、一对一一对多多对多

      扇形陷阱:某些实体之间存在着多条通路;

      断层陷阱:某些实体类型之间存在着联系,但是不存在通路;(不同顾客在不同商家订购多种菜品,但是商家和菜品之间的关系并不能从ER图获得)

逻辑结构设计

  1. 化为某个具体的DBMS支持的数据类型
  2. 适当的调整和优化
  3. 设计出用户子模式
      • 教师管理班级=>管理(教师号,班级号)

        或者一方的码换到另一方的码=>教师(职工号,教师姓名,班级号)类似于外码

  • ​ 使用更加符合用户习惯的别名

    ​ 提高了安全性

    ​ 简化 用户对系统的使用