使用关系型数据库三级模式存储数据的优缺点

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: 【6月更文挑战第10天】数据模型是DBMS的核心,提供数据透明性和设计指导。包括概念、逻辑和物理三层:概念模型(如ER模型)用于理解和收集需求,逻辑模型(如关系模型)关注设计,物理模型涉及实际存储实现。

1 简介

这里简单介绍基本概念,例如什么是数据模型?

然后介绍不同类型的数据模型、优缺点和数据模型示例。比如数据建模确保命名一致性、数据质量和安全性,但大型数据库的复杂性和结构更改的广泛影响是其挑战。不同的数据模型,如分层、网络、面向对象等,各有优缺点,适用于不同场景。

mandala曼德罗符号.png

数据库管理系统 (DBMS) 中的数据模型是为总结数据库描述而开发的工具的概念。

数据模型为我们提供了数据透明性,这有助于我们创建实际的数据库。
它向我们展示了从数据的设计到数据的正确实施。

关系模型的类型,它基本上分为3种类型: 概念模式,内模式,外模式。

比如采用三级模式结构的数据库系统中,如果对一个表创建聚索引,那么改变的是数据库的是内模式,内模式定义的是存储记录的类型、存储域的表示、存储记录的物理顺序,指引元、索引和存储路径等数据的存储组织。

只有结构化之后,才能如此使用sql语句查询数据。

```
SELECT user, age from users ORDER BY age. 

```

2 目的:为什么要数据建模

数据建模是为要存储在数据库中的数据开发数据模型的过程。
数据模型确保命名约定、默认值、语义和安全性的一致性,同时确保数据质量。

数据模型结构有助于定义关系表、主键和外键以及存储过程。

有三种类型:概念,逻辑(外)和物理(内)。

概念模型的主要目的是建立实体、其属性和关系。
逻辑数据模型定义数据元素的结构并设置它们之间的关系。

物理数据模型描述了数据模型的数据库特定实现。

设计数据模型的主要目标是确保准确表示功能团队提供的数据对象。

3 简介概念数据模型

概念数据模型在非常高的级别上描述数据库,对于了解数据库的需求或要求非常有用。正是这个模型用于需求收集过程,即在数据库设计者开始创建特定数据库之前。

其中一种流行的模型是实体/关系模型(ER 模型)。E/R 模型专门研究数据库设计人员使用的实体、关系甚至属性。

就这个概念而言,甚至可以与非计算机科学(非技术)用户和利益相关者进行讨论,并且可以理解他们的要求。

实体关系模型(ER模型):

它是一个高级数据模型,用于定义数据以及它们之间的关系。它基本上是任何数据库的概念设计,易于设计数据视图。

ER模型的组成部分:

实体:实体称为真实世界的对象。它可以是名称、地点、对象、类等。这些由 ER 图中的矩形表示。

属性:属性可以定义为实体的描述。这些由 ER 图中的 Eclipse 表示。它可以是学生的年龄、卷号或分数。

关系:关系用于定义不同实体之间的关系。钻石和菱形用于显示关系。

概念数据模型的特征
提供组织范围内的业务概念覆盖。
这种类型的数据模型是为业务受众设计和开发的。

概念模型是独立于数据存储容量、位置等硬件规格或软件规格(如 DBMS 供应商和技术)开发的。

重点是将数据表示为用户将在“现实世界”中看到的数据。
称为域模型的概念数据模型通过建立基本概念和范围为所有利益相关者创建通用词汇表

4 简介外模式:逻辑数据模型

这种类型的数据模型仅用于表示数据库的逻辑部分,而不表示数据库的物理结构。逻辑数据模型允许我们主要关注数据库的设计部分。

一种流行的表示模型是关系模型。关系模型由关系代数和关系演算组成。在关系模型中,我们基本上使用表来表示我们的数据以及它们之间的关系。这是一个理论概念,其实际实现是在物理数据模型中完成的。

使用逻辑数据模型的优点是为形成物理模型的基础提供基础

5 简介内模式:物理数据模型

物理数据模型用于实际实现关系数据模型。最终,数据库中的所有数据都以物理方式存储在辅助存储设备(如光盘和磁带)上。它以文件、记录和某些其他数据结构的形式存储。

它具有有关文件存在的格式和数据库结构,外部数据结构的存在以及它们之间的关系的所有信息。

在这里,我们基本上将表保存在内存中,以便可以有效地访问它们。为了提出一个好的物理模型,我们必须以更好的方式处理关系模型。结构化查询语言(SQL)用于实际实现关系代数。

此数据模型描述了如何使用特定的 DBMS 系统实现系统。此模型通常由 DBA 和开发人员创建。目的是数据库的实际实现。

6 物理数据模型的特征:

物理数据模型描述了单个项目或应用程序的数据需求,尽管它可能根据项目范围与其他物理数据模型集成。

数据模型包含表之间的关系,这些关系解决关系的基数和可控性。

为项目中使用的DBMS,位置,数据存储或技术的特定版本而开发。
列应具有确切的数据类型、分配的长度和默认值。
定义了主键和外键、视图、索引、访问配置文件和授权等

7 其他一些数据模型

  • 1 分层模型

分层模型是 IBM 在 1950 年代开发的数据模型中最古老的模型之一。在分层模型中,数据被视为表的集合,或者我们可以说形成分层关系的段。在此中,数据被组织成树状结构,其中每个记录由一个父记录和许多子记录组成。

即使段通过逻辑关联作为链状结构连接,则即时结构可以是具有多个分支的扇形结构。我们将不合逻辑的关联称为定向关联。

  • 2 网络模型

网络模型在 1960 年代由数据库任务组正式确定。此模型是分层模型的泛化。此模型可以由多个父段组成,这些段分组为级别,但属于任何级别的段之间存在逻辑关联。大多数情况下,两个段中的任何一个之间存在多对多逻辑关联。

  • 3 面向对象的数据模型

在面向对象的数据模型中,数据及其关系包含在单个结构中,该结构在此数据模型中称为对象。在这种情况下,现实世界的问题表示为具有不同属性的对象。所有对象之间都有多个关系。基本上,它是面向对象编程和关系数据库模型的组合。

  • 4 浮点数据模型

浮点数据模型基本上由二维数据模型数组组成,这些数组中不包含任何重复元素。此数据模型有一个缺点,它不能存储大量数据,即表不能很大。

  • 5 上下文数据模型

上下文数据模型只是一个由多个数据模型组成的数据模型。例如,上下文数据模型由 ER 模型、面向对象数据模型等组成。此模型允许用户执行每个单独数据模型可以执行的多个操作。

  • 6 半结构化数据

半结构化数据模型以灵活的方式处理数据。某些实体可能具有额外的属性,某些实体可能具有一些缺失的属性。基本上,您可以在此处以灵活的方式表示数据。

6 小结

  • 使用数据模型的 优势

数据模型帮助我们准确地表示数据。

它帮助我们找到丢失的数据,并最大限度地减少数据冗余。
数据模型以更好的方式提供数据安全性。

数据模型应足够详细,以便用于构建物理数据库。
数据模型中的信息可用于定义表、主键和外键以及存储过程之间的关系。

  • 使用数据模型的 缺点

在庞大的数据库的情况下,有时很难理解数据模型。
您必须具备适当的 SQL 知识才能使用物理模型。

即使是结构上的较小更改也需要在整个应用程序中进行修改。
DBMS 中没有设置的数据操作语言。要开发数据模型,应该了解物理数据存储的特征。

最大的缺点是,即使是对结构进行的较小更改也需要在整个应用程序中进行修改。

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
15天前
|
存储 人工智能 Cloud Native
云栖重磅|从数据到智能:Data+AI驱动的云原生数据库
在9月20日2024云栖大会上,阿里云智能集团副总裁,数据库产品事业部负责人,ACM、CCF、IEEE会士(Fellow)李飞飞发表《从数据到智能:Data+AI驱动的云原生数据库》主题演讲。他表示,数据是生成式AI的核心资产,大模型时代的数据管理系统需具备多模处理和实时分析能力。阿里云瑶池将数据+AI全面融合,构建一站式多模数据管理平台,以数据驱动决策与创新,为用户提供像“搭积木”一样易用、好用、高可用的使用体验。
云栖重磅|从数据到智能:Data+AI驱动的云原生数据库
|
17天前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
56 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
14天前
|
关系型数据库 分布式数据库 数据库
云栖大会|从数据到决策:AI时代数据库如何实现高效数据管理?
在2024云栖大会「海量数据的高效存储与管理」专场,阿里云瑶池讲师团携手AMD、FunPlus、太美医疗科技、中石化、平安科技以及小赢科技、迅雷集团的资深技术专家深入分享了阿里云在OLTP方向的最新技术进展和行业最佳实践。
|
22天前
|
人工智能 Cloud Native 容灾
云数据库“再进化”,OB Cloud如何打造云时代的数据底座?
云数据库“再进化”,OB Cloud如何打造云时代的数据底座?
|
30天前
|
SQL 存储 关系型数据库
数据储存数据库管理系统(DBMS)
【10月更文挑战第11天】
85 3
|
1月前
|
存储 关系型数据库 MySQL
PACS系统 中 dicom 文件在mysql 8.0 数据库中的 存储和读取(pydicom 库使用)
PACS系统 中 dicom 文件在mysql 8.0 数据库中的 存储和读取(pydicom 库使用)
27 2
|
1月前
|
SQL 存储 关系型数据库
添加数据到数据库的SQL语句详解与实践技巧
在数据库管理中,添加数据是一个基本操作,它涉及到向表中插入新的记录
|
1月前
|
SQL 监控 数据处理
SQL数据库数据修改操作详解
数据库是现代信息系统的重要组成部分,其中SQL(StructuredQueryLanguage)是管理和处理数据库的重要工具之一。在日常的业务运营过程中,数据的准确性和及时性对企业来说至关重要,这就需要掌握如何在数据库中正确地进行数据修改操作。本文将详细介绍在SQL数据库中如何修改数据,帮助读者更好
188 4
|
1月前
|
存储 人工智能 Cloud Native
云栖重磅|从数据到智能:Data+AI驱动的云原生数据库
阿里云瑶池在2024云栖大会上重磅发布由Data+AI驱动的多模数据管理平台DMS:OneMeta+OneOps,通过统一、开放、多模的元数据服务实现跨环境、跨引擎、跨实例的统一治理,可支持高达40+种数据源,实现自建、他云数据源的无缝对接,助力业务决策效率提升10倍。
|
1月前
|
关系型数据库 MySQL 数据库
使用Docker部署的MySQL数据库,数据表里的中文读取之后变成问号,如何处理?
【10月更文挑战第1天】使用Docker部署的MySQL数据库,数据表里的中文读取之后变成问号,如何处理?
59 3

相关产品

  • 云原生数据库 PolarDB