第七章 数据库设计

7.1数据库和信息系统

数据库是信息系统的核心和基础

7.2数据库设计的特点

  • 数据库设计应该与应用系统的设计相结合
    • 结构设计(数据设计)
    • 行为设计(处理设计)

7.2.1数据库设计的基本步骤

  1. 需求分析阶段(了解分析用户需求,最困难,最耗时)
  2. 概念结构设计阶段(E-R图)
  3. 逻辑结构设计阶段(关系模型、建立视图、形成外模式)
  4. 数据库物理设计阶段(B+树、Hash表、形成内模式)
  5. 数据库实施阶段(写SQL语句)
  6. 数据库运行和维护阶段(正式运行)

7.2.2需求分析

需求分析的产出:数据流图、数据字典

数据字典:各类数据描述的集合

数据字典的内容:

  1. 数据项:数据项是不可再分的数据单位
  2. 数据结构:数据结构反应了数据之间的组合关系
  3. 数据流:数据流是数据结构在系统内传输的路径
  4. 数据存储:数据存储是数据结构停留或者保存的地方,是数据流的来源和去向之一
  5. 处理过程:处理过程的具体处理逻辑一般用判定表或判定树来描述

7.3概念结构设计

  • 概念结构设计是整个数据库设计的关键

  • 数据抽象:对现实世界的一种抽象

    1. 分类(Classification): is member of 从个体到集合,例如:张三是一名学生
    2. 聚集(Aggregation):is part of 从属性到属性集,例如:教务处是学院的一部分
    3. 概括(Generalization):is subset of 从集合到集合,例如:大学生是学生的一种
  • 设计分E-R图的理念:

    • 属性不可再分
    • 属性不能与其他实体具有联系,联系只发生在实体之间
  • 合并分E-R图时遇到的冲突

    • 属性冲突:属性域冲突、属性取值单位冲突(kg与g)
    • 命名冲突:同名异义、异名同义
    • 结构冲突:同一对象不同抽象、同一实体的属性数量和属性次序不同、实体间的联系不同
  • 合成E-R图的步骤

    1. 合并分E-R图:消除冲突(包括上述三种冲突)
    2. 修改与重构:消除冗余(通过规范化理论)

7.4逻辑结构设计

转换原则
E-R图中的抽象能否转换成表能否与其他表合并
实体型必须不能
m:n联系必须不能
1:n联系可以与多端合并
1:1联系可以与任意一端合并
包含三个及以上实体的联系必须不能

同一实体集之间的联系,即自联系,按照上述情况(联系的种类)去转换

数据模型的优化

对关系模式的分解或合并

  • 水平分解:把元组分成若干子集,80/20原则(一个大关系中,经常被使用的数据约占关系的20%)
    • 优点:减少查询的数据量
  • 垂直分解:把属性分解为若干子集,经常一起使用的属性分解为一个子关系模式
    • 优点:提高某些事务的效率
    • 缺点:某些事务不得不执行连接操作,降低效率

7.5数据库的物理设计

DBMS常用的存取方法:索引方法、聚簇方法、HASH方法

稀疏索引与稠密索引

稀疏索引:多个记录建一个索引,使用时类似于分块搜索

稠密索引:每个记录建一个索引

聚簇索引(能决定物理存储的索引)

建立聚簇索引后,基表中的数据也需要按照制定的聚簇属性值进行升序(降序)的存放

聚簇索引的索引项顺序与表中元组的物理顺序一致

一个表只能建立一个聚簇索引

7.6数据库的实施

  1. 定义数据库结构
  2. 数据装载(组织数据入库是数据库实施阶段最主要的工作)
  3. 试运行

数据库的维护工作包含:数据库备份、数据库重组织(类似OS的磁盘碎片整理)

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值