Post

数据库设计

数据库设计

一、数据库设计概述

1.1 数据库设计的定义

  • 指在给定应用环境下,构造优化的数据库逻辑模式和物理结构,建立数据库及其应用系统。
  • 目标:高效存储和管理数据,满足用户的信息管理和数据操作需求。

1.2 设计目标

  • 提供信息基础设施和高效运行环境。
  • 实现高存取效率、高存储空间利用率、高运行维护效率。

1.3 设计特点

  • 三分技术,七分管理,十二分基础数据
  • 强调基础数据的收集、整理与更新。
  • 数据库结构设计与数据处理设计相结合。

1.4 设计方法

  • 手工试凑法规范设计法(如新奥尔良方法、E-R模型法、3NF法、UML法等)。

1.5 设计步骤(6个阶段)

image-20251020164457824

  1. 需求分析
  2. 概念结构设计
  3. 逻辑结构设计
  4. 物理结构设计
  5. 数据库实施
  6. 数据库运行与维护

需求分析和概念设计独立于 DBMS,逻辑设计和物理设计与 DBMS 密切相关。

image-20251020164518711

image-20251020164548365

需求分析阶段:综合各个用户的应用需求

概念设计阶段: 形成独立于机器特点,独立于各个数据库管理系统产品的概念模式(E-R图)

逻辑设计阶段

  1. 首先将E-R图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式
  2. 然后根据用户处理的要求、安全性的考虑,在基本表的基础上再建立必要的视图(View),形成数据的外模式

物理设计阶段:根据数据库管理系统特点和处理的需要,进行物理存储安排,建立索引,形成数据库内模式


二、需求分析

image-20251020165756578

2.1 任务

  • 调查用户需求,明确信息要求、处理要求、安全性与完整性要求。
  • 确定新系统功能,并考虑未来扩展。

2.2 难点与解决方法

  • 用户与设计人员之间的知识差异。
  • 通过深入交流、调查会、问卷、跟班作业等方式达成共识。

2.3 数据字典

数据字典是关于数据库中数据的描述,即元数据,不是数据本身

包括:

  • 数据项
  • 数据结构
  • 数据流
  • 数据存储
  • 处理过程

三、概念模型与E-R模型

3.1 概念模型特点

  • 真实反映现实世界、易于理解、易于修改、易于转换。

3.2 E-R模型

  • 实体:矩形
  • 属性:椭圆形
  • 联系:菱形(1:1、1:n、m:n)

3.3 复杂联系

  • 多元联系(如学生-课程-教师评价)
  • 单个实体型内联系(如课程先修)
  • ISA联系(父子类,如学生-本科生/研究生)
  • Part-of联系(弱实体,如教室依赖于教学楼)

3.4 UML类图

  • 类 ≈ 实体
  • 属性后可标注PK
  • 关联表示联系,可标注基数约束

四、概念结构设计(方法与实践)

4.1 设计方法

  • 自顶向下、自底向上、逐步扩张、混合策略

4.2 实体与属性划分原则

  • 属性不可再分、不与其他实体联系
  • 例:职称是否作为属性?专业是否单独为实体?

4.3 分E-R图设计

  • 例:教师教学管理子系统
  • 实体:教师、学生、教学班、教室、时间片
  • 联系:讲授、课堂评价、排课

五、概念结构设计(集成与优化)

5.1 E-R图集成步骤

  1. 合并:解决冲突(属性、命名、结构)
  2. 修改与重构:消除冗余

5.2 冲突类型

  • 属性冲突(类型、单位)
  • 命名冲突(同名异义、异名同义)
  • 结构冲突(抽象不同、属性不同、联系类型不同)

5.3 消除冗余

  • 使用数据依赖分析
  • 保留必要冗余以提高效率

六、逻辑结构设计

6.1 转换任务

  • 将E-R图转换为关系模型

6.2 转换原则

  • 实体 → 关系模式
  • 1:1联系 → 合并或独立模式
  • 1:n联系 → 合并到n端
  • m:n联系 → 独立关系模式
  • 多元联系 → 独立模式

6.3 数据模型优化

  • 规范化理论指导
  • 权衡规范化程度与查询效率
  • 水平分解与垂直分解

6.4 用户外模式设计

  • 使用视图机制:
    • 别名适应习惯
    • 分级视图保障安全
    • 简化复杂查询

七、物理结构设计

7.1 任务

  • 确定存储结构与存取方法

7.2 存取方法选择

  • B+树索引:常用于查询、连接、聚合
  • 哈希索引:适用于等值查询
  • 聚簇索引:提高特定查询效率,但维护成本高

7.3 存储结构设计

  • 数据存放位置:易变与稳定分离、高频与低频分离
  • 系统配置参数调整:缓冲区、锁数、块大小等

7.4 评价物理结构

  • 定量估算存储空间、存取时间、维护代价

八、数据库的实施与维护

8.1 数据载入

  • 人工或辅助工具入库

8.2 试运行

  • 功能测试与性能测试
  • 分期入库,逐步评估

8.3 运行与维护

  • 转储与恢复:定期备份
  • 安全性与完整性控制:权限与约束
  • 性能监控与调优
  • 重组织:优化存储结构
  • 重构造:适应环境变化,有限度修改模式

总结:数据库设计全流程

阶段核心任务输出成果
需求分析收集与分析用户需求数据字典、需求规格说明
概念设计构建E-R模型分E-R图、全局E-R图
逻辑设计转换为关系模型关系模式集合
物理设计确定存储与存取方式物理结构方案
实施建库、编程、数据入库可运行数据库系统
维护监控、备份、优化、重构持续可用的数据库

如果有需要修改或者补充的地方,可以随时告诉我。

This post is licensed under CC BY 4.0 by the author.

Trending Tags