【云驻共创】华为云数据库之数据库设计和建模

SpiderMan 发表于 2022/04/25 15:40:32 2022/04/25
【摘要】 本文主通过数据库的需求分析、概念结构设计、逻辑结构设计、物理结构设计等方向,描述数据库设计的设计方法、任务、所注意问题及其工作过程。 通过本文的学习,可以更好的了解华为云数据库的原理和应用。

目录

1.需求分析
    1.1 阶段目标
    1.2 说明书内容
    1.3 工作任务
2.概念结构设计
    2.1 阶段目标
    2.3 工作任务
    2.4 设计策略
    2.5 设计方法.
    2.6 工作过程
        2.6.1 局部设计
        2.6.2 合并局部
        2.6.3 优化全局
3.逻辑结构设计.
    3.1 阶段目标.
    3.2 工作任务
    3.3 转换方法.
    3.4 工作过程.
4.物理结构设计.
    4.1 阶段目标
    4.2 工作任务.
    4.3 注意问题.
    4.4 工作过程.


1.需求分析

需求分析阶段是数据库设计阶段的基础和最初阶段。

收集各类基础数据、用户需求信息和信息处理需求,确定设计思路。需求分析决定后续设计的质量和速度,是其他阶段的依据,也是最困难和最耗时的阶段。

1.1阶段目标

根据对数据库应用系统所要处理的对象进行全面了解,以及大量收集支持系统目标实现的各类基础数据,调查用户对数据库信息的需求、对基础数据进行加工处理的需求、对数据库安全性和完整性的要求,按一定规范要求写出设计者和用户都能理解的需求分析说明书。

1.2说明书内容

(1) 分析用户活动过程与状态,产生业务流程图;

(2)确定系统范围,产生系统范围图;

(3)分析用户活动涉及的数据集。

1.3工作任务

利用数据库设计理论和方法,对现实世界服务对象的现行系统进行详细调查,收集支持系统目标的基础数据及其数据处理需求,撰写需求分析报告。

具体任务如下:

(1)调查数据库应用系统所涉及的用户各部门]情况,确定系统功能范围,判断哪些工作可交由计算机完成。

(2)了解用户对数据库应用系统的各种要求,包括信息要求、处理要求、安全性和完整性要求。

(3)深入分析用户的各种需求,并用数据流图或数据字典描述数据及处理过程。

如上图所示,需求分析阶段工作过程中,数据库设计者要向用户作需求调查,在进行调查时最好深入用户的工作场所进行详细了解,与用户交流,明确用户需求并确定系统服务边界,最终形成需求分析报告。


2.概念结构设计

概念结构设计阶段主要设计数据库的整体概念结构,即把需求分析结果抽象为反映用户需求信息和信息处理需求的概念模型

概念模型独立于数据库管理系统,也独立于数据库逻辑模型,还独立于计算机和存储介质上的数据库物理模型

2.1阶段目标

概念结构设计目标是在需求分析的基础上,进行分析、归纳、抽象,形成一个符合数据对象实际、用户需求及工作要求的、独立于具体DBMS和计算机硬件结构的整体概念结构,即提出概念模型.

2.3工作任务

概念结构设计的具体工作任务流程如下:

(1)进行数据抽象;

(2)设计局部概念模式,得到局部E -R图;

(3)将局部概念模式综合成全局概念模式,得到全局E-R图;

(4)评价全局概念模式与优化,得到优化的全局E- R图。

2.4设计策略

(1)自顶向下:先定义全局E-R模式框架,然后逐步进行细化。

(2)自底向上:首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构。

(3)由内向外:首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至生成总体概念结构。

(4)混合策略:将“自顶向下”和“自底向上”相结合。

2.5设计方法

(1)集中式设计法:

根据用户需求由一个统一的机构或人员一次设计出数据库的全局E-R模式。

特点:容易保证E-R模式的统一性与一致性, 但它仅适用于小型或并不复杂的数据库设计问题,而对大型的或语义关联复杂的数据库设计并不适用。

(2)分散-集成设计法:设计过程分为两步:

①将企业或部门的用户需求,根据原则将其分解成若干个部分,对每个部分设计局部E-R模式;

②各个局部E-R模式进行集成,消除可能的冲突,形成一个全局E-R模式。

特点:设计过程比较复杂,但能较好地反映用户需求,对于大型和复杂的数据库设计问题比较有效。

2.6工作过程

概念结构设计阶段工作过程:先设计局部概念结构,再整合全局概念结构

2.6.1局部设计

(1) 确定概念结构的范围:将用户需求划分成若千个部分。

划分方法:

①根据企业的组织机构对其进行自然划分

②根据数据库提供的服务种类进行划分

(2)定义实体型:逐一确定每一个实体型的属性及其属性名和主码

①区分实体与属性。

②给实体集与属性命名。

③确定实体标识,即确定实体集的主码

④非空值原则:保证主码中的属性不出现空值。

(3)定义联系:即判断实体集之间是否存在联系,并定义实体集之间联系的类型。

①确定实体集之间是否存在联系,并确定联系类型。

②定义联系的方法。

③为实体集之间的联系命名:联系的命名应反映联系的语义性质,通常采用动词。

④确定每个联系的存在属性,并为其命名。

2.6.2合并局部

合并局部E-R模式为全局E R模式:

区分公共实体型、 合并局部概念结构设计和消除冲突。

(1)区分公共实体型:一般根据实体型名称和主码来认定公共实体型。

(2)合并局部概念结构:将具有公共实体型的局部概念结构设计进行合并,再加入独立的局部概念结构设计。

(3)消除冲突:消除合并过程中局部概念结构设计之间出现的不一致描述。

①命名冲突:包括属性名,实体型名,联系名之间的冲突。

同名异义,即不同意义的对象具有相同的名字(编号)异名同义,即同一意义的对象具有不同的名字(姓名和名字)。

②结构冲突:同一对象在不同的局部概念结构设计中的抽象不一致,同一实体在不同的局部E-R模式中其属性组成不同。

2.6.3优化全局

(1)优化标准

①能全面、准确地反映用户需求,且具有实体型的个数尽可能少

②实体型所含属性个数尽可能少

③实体型之间联系无冗余

(2)优化方法:

①将实体型进行合并,将两个有联系的实体型合并为一个实体型

②消除属性的冗余

③消除联系的冗余

(3)优化原则:

①权衡存储空间、访问效率和维护代价

②适当合并实体型

③适当消去部分冗余属性和联系。

概念结构设计阶段工作过程,如图所示:


3.逻辑结构设计

3.1阶段目标

逻辑结构设计目标是在概念结构设计的基础上,在一定的原则指导下将概念模式结构转换为与某具体DBMS支持的数据模型相符合的、经过优化的逻辑结构。

3.2工作任务

(1) 选定DBMS;

(2)将概念模式转换DBMS支持的数据模型(全局关系模式) ;

(3)利用规范化原则优化( 良好全局关系模式) ;

(4)实现数据模型完整性(关系的完整性相关约束)

3.3转换方法

概念结构转换成逻辑结构的方法通常采用“二步式”,一是按“转换规则”直接转换,二是进行关系模式的优化

一、概念模型转换成逻辑结构原则

(1)实体型的转换:对于概念结构中的每个实体型,设计一个关系模式与之对应,使该关系模式包含实体型的所有属性。通常用下划线来表示关系模式的主码所包含的属性。

(2)联系的转换:联系的转换方法是由联系的类型决定的,具体做法如下。

①1:1联系的转换

②1:n联系的转换

③m:n联系的转换

二、关系模式的优化

1、 确定数据依赖

2、消除冗余的联系

3、确定所属范式

4、数据处理的是否合适

5、对关系模式进行必要分解,提高数据操作效率和存储空间的利用率

3.4作过程

首先是要选定DBMS,然后将概念结构转换为DBMS支持的数据模型,最后利用规范化原则优化数据模型。

逻辑结构设计阶段工作过程,如下图所示:



4.物理结构设计

4.1阶段目标

物理结构设计阶段目标是为逻辑数据结构选取一个最适合应用环境的物理结构,包括存储结构和存取方法等。

整体可分为两个部分:一是确定物理结构,二是评价物理结构。

4.2工作任务

1、存储记录结构设计:定义数据库表结构

2、确定数据存放位置:数据库存储设计的基本原则:

①同一类文件存放在同一目录。

②易变部分和稳定部分应该分开存放。

③存取频率搞得部分和低的部分应该分别存放到快速和慢速设备。

④根据应用系统的文件类型和应用选修,统一设计文件目录结构。

3、存取方法的设计:数据库管理系统一般提供索引方法和聚簇方法。

①B+树索引方法:根据应用要求确定对关系的那些属性列建立索引、哪些属性列建立组合索引、哪些索引|要设计唯一索引。

②Hash索引方法:如果一个关系的属性主要出现在等值连接条件中或主要出现在等值比较选择条件中,而且满足下列两个条件之一,则此关系可以选择Hash存取方法。

③聚簇存取方法:为了提高某个属性(或属性组)的查询速度,把这个或这些属性(称为聚簇码).上具有相同值的元组集中存放在连续的物理块称为聚簇。

4、完整性和安全性考虑;

5、对物理结构进行评价:

①评价内容:存取方法选取的正确性、存储结构设计的合理性、文件存放位置的规范性、存储质选取的标准性。

①评价指标:存储空间的利用率、存储数据的速度和维护费用等。

②评价方法:根据评价内容,统计存储空间的利用率、数据的存取速度的维护费用指标。

6、程序设计:如前台代码的设计等。

4.3注意问题

物理模型设计注意的问题有以下:

1.确定数据的存储结构:设计关系、索弓|等数据库文件的物理存储结构,需注意存取时间、空间效率和维护代价间的平衡;

2.选择合适的存取路径:确定哪些关系模式建立索引,索引关键字是什么等等;

3.确定数据的存放位置:确定数据存放在一个磁盘上还是多个磁盘上;

4.确定存取分布:许多DBMS都提供了一些存储分配参数供设计者使用(如缓冲区的大小和个数、块的长度、块因子的大小等等)

4.4工作过程

物理结构设计阶段首先要设计存储记录的表结构,然后,确定数据存放位置和存取方法,同时也要设计数据的完整性和安全性。

物理结构设计阶段工作过程,如下图所示:


5.总结

在新时代下,由于在功能和可靠性上优于传统数据库,再加上增强的可伸缩性,云原生分布式数据库无疑代表了数据库的未来。

华为云GaussDB数据库的全新升级是数据库行业自身快速发展的又一个里程碑。在整个科技领域快速向前的加速周期中,华为云GaussDB再次指引了数据库行业的发展方向。在新基建大潮中,华为云乘风破浪,以全新的GaussDB数据库赋能千行百业智能升级。

我相信,未来的时代属于云时代!


本文整理自华为云社区【内容共创】活动第15期。

https://bbs.huaweicloud.com/blogs/345822

任务19:华为云数据库之数据库设计和建模

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。