数据库知识整理——数据库设计的步骤

多年来,人们提出了多种数据库设计方法、多种设计准则和规范。1978年10月召开的新奥尔良(New Orleans)会议提出的关于数据库设计的步骤(简称新奥尔良法)是目前得到公认的,较完整、较权威的数据库设计方法,它把数据库设计分为以下4个主要阶段。

用户需求分析

主要任务

综合各个用户的应用需求(包括信息需求 、处理要求 、系统要求),对现实世界要处理的对象(组织、部门和企业等)进行详细调查,在了解现行系统的情况,确定新系统功能的过程中,收集支持系统目标的基础数据及处理方法。

参与人员

分析人员、用户

最终成果

需求说明文档,包括数据字典、数据流程图、数字字典、各种说明性表格等

概念设计

主要任务

在需求分析的基础上,依照需求分析中的信息要求对用户信息加以分类、聚集和概括,建立信息模型 ,并依照选定的数据库管理系统软件转换成为数据的逻辑结构 ,再依照软/硬件环境,最终实现数据的合理存储 ,目标是产生反映系统信息需求的数据库概念结构 ,即概念模式 ,这一过程也称为数据建模。

建立概念模式方式------E-R方法

选择局部应用

需求分析阶段会得到大量的数据,这些数据分散杂乱,关系复杂,要最终确定实体、属性和联系,就必须根据适当层次数据流图 理清数据,以此入手设计分E-R图。

逐一设计分E-R图

划分好各个局部应用后,就要对每一个局部应用逐一设计分E-R图。设计分E-R图要遵循以下两条准则:

  • 属性不可再分
  • 属性不能与其他实体发生联

E-R图合并

合并分E-R图的主要难点在于解决各个分图之间的冲突。冲突主要有以下三种类型:

  • 属性冲突:在不同的分E-R图中,同一属性的有不同的类型、取值
  • 命名冲突:异名同意,同名异意
  • 结构冲突:同一实体在不同的分E-R图中有不同的属性

合并过程中需要进行优化,优化可以从以下三个方面实现:

  • 实体类型的合并:两个具有1:1联系 或1:n联系的实体可以予以合并,使实体个数减少。
  • 冗余属性的消除:一般在各分 E-R图中的属性是不存在几余的,但合并后就可能出现冗余。
  • 冗余联系的消除:在分 E-R图合并的过程中可能会出现实体联系的环状结构 ,即某一实体 A 与另一实体B 间有直接联系 ,同时 A 又通过其他实体 与实体B发生间接联系。通常,直接联系可以通过间接联系所表达,可消除直接联系。

概念结构设计的工作步骤

逻辑设计

逻辑结构设计即是在概念结构设计的基础上进行数据模型设计 ,可以是层次模型 、网状模型 和关系模型 ,主要工作步骤包括确定数据模型 、将E-R 图转换 成为指定的数据模型、确定完整性约束 和确定用户视图。

E-R图中关系模式的转换

E-R图是对信息世界的抽象描述,还需要将其转化为适用于计算机处理的形式------关系模式。

实体的转换

联系的转换

  • 1对1联系
  • 1对多联系:一对多联系有两种方式向关系模式进行转换。
  1. 将联系转换成一个独立的关系模式 ,关系模式的名称取联系的名称 ,关系模式的属性取该联系所关联的两个实体的码 及联系的属性 ,关系的码是多方实体的码
  2. 将联系归并到关联的两个实体的多方 ,给待归并的多方实体属性集中增加一方实体的码 和该联系的属性即可,归并后的多方实体码保持不变。
  • 多对多联系:关系模式的名称取联系的名称 ,关系模式的属性取该联系所关联的两个多方实体的码及联系的属性 ,关系的码是多方实体的码构成的属性组。

关系模式规范化

初始关系模式可能会有数据冗余、更新异常存在,这就需要经过进一步的规范化处理。

  • 根据语义确定各关系模式的数据依赖
  • 根据数据依赖确定关系模式的范式
  • 如果关系模式不符合要求,则对关系模式进行分解,达到 3NF、BCNF或 4NF
  • 关系模式的评价及修正

确定完整性约束

  • 实体完整性
  • 参照完整性
  • 用户自定义

用户试图的确定

  • 根据数据流图 确定处理适用的视图
  • 根据用户类别 确定不同的用户使用的视图

物理设计

主要内容:确定数据库的物理模式、评价数据库的物理模式

成果:存储记录格式、记录存放位置、存取方法

数据库的实施与维护

主要工作:定义数据库、数据装入、编写程序、数据库运行

相关推荐
ss2733 小时前
为什么PostgreSQL适合AI场景?
数据库·人工智能·postgresql
瑞克-桑切斯3 小时前
7、MySQL 慢查询排查与优化实战指南
java·服务器·数据库
z06.4 小时前
MySQL索引
数据库·mysql
考虑考虑4 小时前
Posrgresql恢复.backup文件
数据库·后端·postgresql
云祺vinchin4 小时前
中小企业备份软件选型从恢复需求到总体成本评估
数据库·数据备份·中小企业备份·容灾备份软件
前进的李工4 小时前
Agent 学习笔记 05:系统提示词应该怎么写
笔记·学习·prompt·agent·个人开发·few-shot·ai应用开发
Zenova EdgeOS5 小时前
Go 工业边缘错误处理实战:用 errors 构建可追溯错误链
开发语言·数据库·golang
KKKlucifer5 小时前
国内数据安全服务的产品智能化转型:大模型赋能下的技术能力重构分析
大数据·数据库·重构
字节跳动开源5 小时前
OpenViking 上线原生 3D 内容理解模型
数据库·开源
蒸蒸yyyyzwd6 小时前
后端学习笔记三个知识
笔记·八股