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

系统架构设计师—数据库基础篇—数据库设计

文章目录

  • 设计过程
  • 用户需求分析
    • 自底向上
    • 自顶向下
    • 重点
  • 概念结构设计
    • 分类(Classification)
    • 聚集(Aggregation)
    • 概括(Generalization)
    • 步骤
      • 冲突的类型
  • 逻辑结构设计
    • 主要工作步骤
    • E-R图向关系模式转换规则
      • 复合属性的转换
      • 多值属性的转换
      • 派生属性
      • 联系的属性
        • 1:1
        • 1:n
        • n:m
        • 多元
  • 物理结构设计
  • 数据库实施阶段
  • 数据库运行与维护阶段

设计过程

阶段主要任务
用户需求分析分析用户活动、收集数据确定系统边界。
概念结构设计将应用对象抽象成不依赖于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模式设计
    • 消除冲突

冲突的类型

冲突类型说明
属性冲突属性域冲突,相同属性定义数据类型不同。
属性值冲突,相同属性定义单位不同。
结构冲突抽象不同,相同对象在某一应用中是实体,在零一应用中是属性。
同一实体在不同E-R图中属性个数和排列次序不同
命名冲突同名异义,使用了系统保留关键字。
异名同义,职工、员工。

逻辑结构设计

将抽象的概念模型转换为与选用的DBMS产品所支持的数据模型相符合的逻辑模型,即关系模式。

主要工作步骤

  • 确定数据模型
    • 关系型
    • 非关系型
    • 网状型
  • 将E-R图转换称为指定的数据模型
  • 确定完整性约束
    • 实体完整性
    • 参照完整性
    • 用户定义的完整性
  • 确定用户视图

E-R图向关系模式转换规则

  1. E-R图的实体转换为关系。
  2. E-R图的属性转换为关系的属性。
  3. E-R的关键字转换为关系的关键字。

复合属性的转换

方案一:将每个分量属性作为复合属性所在实体的属性。
方案二:将复合属性本身作为所在实体的属性。

多值属性的转换

方案一:将多值属性与所在实体的主键一起组成一个新的关系。
方案二:将多值属性提升为一个实体,通常为弱实体。

  • 弱实体不能脱离实体独立存在。

派生属性

派生属性可由其他属性计算得到。
转化成关系模式时,通常不转换派生属性。

联系的属性

1:1

方案一:可以转换为一个独立的关系模式。
方案二:与任意一端对应的关系模式合并

1:n

方案一:可以转换为一个独立的关系模式。
方案二:与n端对应的关系模式合并

n:m

可以转换为一个独立的关系模式。

多元

可以转换为一个独立的关系模式。

物理结构设计

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

数据库实施阶段

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

数据库运行与维护阶段

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

相关文章:

  • C++编程:进阶阶段—4.1封装
  • Fork/Join 框架详解:分支合并的高性能并发编程
  • NoClassDefFoundError:UnsynchronizedByteArrayOutputStream
  • MySQL复合查询——通过案例讲解每个指令
  • MR的环形缓冲区(底层)
  • MyBatis-Plus开发流程:Spring Boot + MyBatis-Plus 实现对 book_tab 表的增删改查及Redis缓存
  • 在线量化工具总结与实战(mqbench) -- 学习记录
  • Vue 的 render 函数如何与 JSX 结合使用
  • 数据库防火墙 架构设计
  • 怎么做数据冷热分离?怎么做分库分表?为什么要用ES?
  • Seurat - Guided Clustering Tutorial官方文档学习及复现
  • 破解透明物体抓取难题,地瓜机器人CASIA 推出几何和语义融合的单目抓取方案|ICRA 2025
  • 图表解析技术:逆向提取图表数据,需要哪几步?
  • 基于Hadoop平台的电信客服数据的处理与分析
  • Ubuntu 合上屏幕 不待机 设置
  • 【Winform】WinForms中进行复杂UI开发时的优化
  • 【leetcode hot 100 48】旋转图像
  • C++ 单词识别_牛客题霸_牛客网
  • 【pyqt】(十一)单选框
  • IDEA 2024.1.7 Java EE 无框架配置servlet
  • 中国情怀:时代记录与家国镜相|澎湃·镜相第三届非虚构写作大赛征稿启事
  • 南昌上饶领导干部任前公示:2人拟提名为县(市、区)长候选人
  • 病重老人取钱在银行门口去世,家属:已协商一致
  • 四川内江警方通报一起持刀伤人致死案:因车辆停放引起,嫌犯被抓获
  • 普京调整俄陆军高层人事任命
  • 国际能源署:全球电动汽车市场强劲增长,中国市场继续领跑