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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
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数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
4天前
|
存储 Oracle 关系型数据库
服务器数据恢复—光纤存储上oracle数据库数据恢复案例
一台光纤服务器存储上有16块FC硬盘,上层部署了Oracle数据库。服务器存储前面板2个硬盘指示灯显示异常,存储映射到linux操作系统上的卷挂载不上,业务中断。 通过storage manager查看存储状态,发现逻辑卷状态失败。再查看物理磁盘状态,发现其中一块盘报告“警告”,硬盘指示灯显示异常的2块盘报告“失败”。 将当前存储的完整日志状态备份下来,解析备份出来的存储日志并获得了关于逻辑卷结构的部分信息。
|
3月前
|
存储 NoSQL 数据库
Redis 逻辑数据库与集群模式详解
Redis 是高性能内存键值数据库,广泛用于缓存与实时数据处理。本文深入解析 Redis 逻辑数据库与集群模式:逻辑数据库提供16个独立存储空间,适合小规模隔离;集群模式通过分布式架构支持高并发和大数据量,但仅支持 database 0。文章对比两者特性,讲解配置与实践注意事项,并探讨持久化及性能优化策略,助你根据需求选择最佳方案。
138 5
|
3月前
|
存储 缓存 数据库
数据库数据删除策略:硬删除vs软删除的最佳实践指南
在项目开发中,“删除”操作常见但方式多样,主要分为硬删除与软删除。硬删除直接从数据库移除数据,操作简单、高效,但不可恢复;适用于临时或敏感数据。软删除通过标记字段保留数据,支持恢复和审计,但增加查询复杂度与数据量;适合需追踪历史或可恢复的场景。两者各有优劣,实际开发中常结合使用以满足不同需求。
225 4
|
1月前
|
存储 关系型数据库 数据库
高性能云盘:一文解析RDS数据库存储架构升级
性能、成本、弹性,是客户实际使用数据库过程中关注的三个重要方面。RDS业界率先推出的高性能云盘(原通用云盘),是PaaS层和IaaS层的深度融合的技术最佳实践,通过使用不同的存储介质,为客户提供同时满足低成本、低延迟、高持久性的体验。
|
1月前
|
存储 SQL Java
数据存储使用文件还是数据库,哪个更合适?
数据库和文件系统各有优劣:数据库读写性能较低、结构 rigid,但具备计算能力和数据一致性保障;文件系统灵活易管理、读写高效,但缺乏计算能力且无法保证一致性。针对仅需高效存储与灵活管理的场景,文件系统更优,但其计算短板可通过开源工具 SPL(Structured Process Language)弥补。SPL 提供独立计算语法及高性能文件格式(如集文件、组表),支持复杂计算与多源混合查询,甚至可替代数据仓库。此外,SPL 易集成、支持热切换,大幅提升开发运维效率,是后数据库时代文件存储的理想补充方案。
|
2月前
|
存储 关系型数据库 MySQL
【赵渝强老师】OceanBase数据库从零开始:MySQL模式
《OceanBase数据库从零开始:MySQL模式》是一门包含11章的课程,涵盖OceanBase分布式数据库的核心内容。从体系架构、安装部署到租户管理、用户安全,再到数据库对象操作、事务与锁机制,以及应用程序开发、备份恢复、数据迁移等方面进行详细讲解。此外,还涉及连接路由管理和监控诊断等高级主题,帮助学员全面掌握OceanBase数据库的使用与管理。
181 5
|
3月前
|
SQL 存储 分布式数据库
分布式存储数据恢复—hbase和hive数据库数据恢复案例
分布式存储数据恢复环境: 16台某品牌R730xd服务器节点,每台服务器节点上有数台虚拟机。 虚拟机上部署Hbase和Hive数据库。 分布式存储故障: 数据库底层文件被误删除,数据库不能使用。要求恢复hbase和hive数据库。
144 12
|
4月前
|
存储 SQL NoSQL
【赵渝强老师】达梦数据库的逻辑存储结构
本文介绍了达梦数据库的存储结构,包括逻辑和物理存储两部分。逻辑存储结构由数据库(Database)、表空间(Tablespaces)、段(Segments)、簇(Cluster)和页(Page)组成。数据库是最大逻辑单元,包含所有表、索引等;表空间由数据文件组成,用于存储对象;段由簇构成,簇包含连续的数据页;页是最小存储单元。文中还提供了查询表空间、段和页大小的SQL语句,并附有视频讲解和示意图。
147 7
|
4月前
|
数据库 Python
【YashanDB知识库】python驱动查询gbk字符集崖山数据库CLOB字段,数据被驱动截断
【YashanDB知识库】python驱动查询gbk字符集崖山数据库CLOB字段,数据被驱动截断

相关产品

  • 云原生数据库 PolarDB