当前位置: 首页 > article >正文

系统架构设计师—案例分析—数据库篇—关系型数据库设计

文章目录

  • 设计过程
  • 用户需求分析
    • 自底向上
    • 自顶向下
    • 重点
  • 概念结构设计
    • 分类(Classification)
    • 聚集(Aggregation)
    • 概括(Generalization)
    • 步骤
      • 冲突的类型
  • 逻辑结构设计
  • 物理结构设计
  • 数据库实施阶段
  • 数据库运行与维护阶段

设计过程

阶段主要任务
用户需求分析分析用户活动、收集数据确定系统边界。
概念结构设计将应用对象抽象成不依赖于DBMS的数据模型,即概念模型、描述概念模型的较理想工具是E-R图
逻辑结构设计将抽象的概念模型转化为与选用的DBMS产品所支持的数据模型相符合的逻辑模型,即关系模式。
物理结构设计是逻辑模型在计算机中的具体实现方案。
数据库实施阶段根据前两个阶段的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。
数据库运行和维护阶段数据应用系统经过试运行即可投入运行,但该阶段需要不断地对系统进行评价、调整与修改。

用户需求分析

自底向上

在这里插入图片描述

自顶向下

在这里插入图片描述

重点

调查组织结构情况、调查各部门的业务活动情况、协助用户明确对新系统的各种要求、确定新系统的边界,以此获得用户对系统的如下要求。

  1. 信息要求:保存的信息、完整性要求等。
  2. 处理要求:操作功能、处理的频度、响应时间等。
  3. 系统要求:安全性要求、使用方式要求、可扩充性要求。

概念结构设计

对现实事物抽象认识的3种方法:

分类(Classification)

对现实世界的事物,按照其具有的共同特征和行为,定义一种类型。

在某一类型中,个体是类型的一个成员或实例,即“is member of”。

聚集(Aggregation)

定义某一类型所具有的属性。

如学生类型具有学号、姓名、性别、班级的共同属性,每一个学生都是这一类型中的个体,通过在这些属性上的不同取值来区分。各个属性是所属类型的一个成分,即“is part of”。

概括(Generalization)

由一种已知类型定义新的类型。

通常把已知类型称为超类(Super class),新定义的类型称为子类(Sub class),即“is subset of”。

步骤

  • 需求分析
  • 局部E-R模式设计
    • 确定局部视图范围
    • 识别实体及其标识
    • 确定实体间的联系
    • 分配实体及联系的属性
  • 全局E-R模式设计
    • 消除冲突

冲突的类型

  1. 属性冲突
  2. 结构冲突
  3. 命名冲突

逻辑结构设计

  • 将抽象的概念模型转换为与选用的DBMS产品所支持的数据模型相符合的逻辑模型,即关系模式。
  • 主要工作步骤包括:
    • 确定数据模型
      • 关系型
      • 非关系型
      • 网状型
    • 将E-R图转换称为指定的数据模型
    • 确定完整性约束
      • 实体完整性
      • 参照完整性
      • 用户定义的完整性
    • 确定用户视图

物理结构设计

主要工作步骤包括确定数据分布、存储结构和访问方式。

数据库实施阶段

在计算机上建立起实际的数据库结构,数据加载(或称装入),进行试运行和评价的过程,叫做数据库实施(或称实现)。

数据库运行与维护阶段

数据库一旦投入运行,就标志着数据库维护工作的开始。数据库维护工作的主要内容包括对数据库性能的监测和改善、故障恢复、数据库的重组和重构。


http://www.kler.cn/a/587660.html

相关文章:

  • Java 并发编程——BIO NIO AIO 概念
  • [设计模式]1_设计模式概览
  • FastGPT原理分析-数据集创建第一步
  • RHCE(RHCSA复习:npm、dnf、源码安装实验)
  • 驾驭 DeepSeek 科技之翼,翱翔现代学习新天际
  • Harmony OS NEXT API 12核心API深度解析与开发实践
  • 《灵珠觉醒:从零到算法金仙的C++修炼》卷三·天劫试炼(34)混元金斗装万物 - 0-1背包问题(二维DP)
  • Python 正则表达式模块 re
  • uniapp scroll组件下拉刷新异步更新数据列表
  • 基于SSM + JSP 的图书商城系统
  • 云原生服务网格:微服务通信的智能基础设施
  • Android安全支付-整体架构-KeyStore2-APP到Framework层的调用
  • Spring Cloud 与 Spring Cloud Alibaba 微服务开发流程详解:解耦之道
  • Qt6编译安装linguist语言家
  • JavaScript性能优化指南:聚焦DOM操作优化
  • Flink术语
  • 深度学习在医疗影像诊断中的应用与实现
  • 论文笔记 - ULTRA-SPARSE MEMORY NETWORK
  • python速通小笔记-------1.容器
  • 严格把控K8S集群中的操作权限,为普通用户生成特定的kubeconfig文件