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

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核8GB 50GB
简介: 【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月前
|
存储 JSON 关系型数据库
【干货满满】解密 API 数据解析:从 JSON 到数据库存储的完整流程
本文详解电商API开发中JSON数据解析与数据库存储的全流程,涵盖数据提取、清洗、转换及优化策略,结合Python实战代码与主流数据库方案,助开发者构建高效、可靠的数据处理管道。
|
4月前
|
存储 Oracle 关系型数据库
服务器数据恢复—光纤存储上oracle数据库数据恢复案例
一台光纤服务器存储上有16块FC硬盘,上层部署了Oracle数据库。服务器存储前面板2个硬盘指示灯显示异常,存储映射到linux操作系统上的卷挂载不上,业务中断。 通过storage manager查看存储状态,发现逻辑卷状态失败。再查看物理磁盘状态,发现其中一块盘报告“警告”,硬盘指示灯显示异常的2块盘报告“失败”。 将当前存储的完整日志状态备份下来,解析备份出来的存储日志并获得了关于逻辑卷结构的部分信息。
|
2月前
|
数据采集 关系型数据库 MySQL
python爬取数据存入数据库
Python爬虫结合Scrapy与SQLAlchemy,实现高效数据采集并存入MySQL/PostgreSQL/SQLite。通过ORM映射、连接池优化与批量提交,支持百万级数据高速写入,具备良好的可扩展性与稳定性。
|
2月前
|
人工智能 Java 关系型数据库
使用数据连接池进行数据库操作
使用数据连接池进行数据库操作
90 11
|
3月前
|
存储 数据管理 数据库
数据字典是什么?和数据库、数据仓库有什么关系?
在数据处理中,你是否常困惑于字段含义、指标计算或数据来源?数据字典正是解答这些问题的关键工具,它清晰定义数据的名称、类型、来源、计算方式等,服务于开发者、分析师和数据管理者。本文详解数据字典的定义、组成及其与数据库、数据仓库的关系,助你夯实数据基础。
数据字典是什么?和数据库、数据仓库有什么关系?
|
7月前
|
存储 NoSQL 数据库
Redis 逻辑数据库与集群模式详解
Redis 是高性能内存键值数据库,广泛用于缓存与实时数据处理。本文深入解析 Redis 逻辑数据库与集群模式:逻辑数据库提供16个独立存储空间,适合小规模隔离;集群模式通过分布式架构支持高并发和大数据量,但仅支持 database 0。文章对比两者特性,讲解配置与实践注意事项,并探讨持久化及性能优化策略,助你根据需求选择最佳方案。
242 5
|
7月前
|
存储 缓存 数据库
数据库数据删除策略:硬删除vs软删除的最佳实践指南
在项目开发中,“删除”操作常见但方式多样,主要分为硬删除与软删除。硬删除直接从数据库移除数据,操作简单、高效,但不可恢复;适用于临时或敏感数据。软删除通过标记字段保留数据,支持恢复和审计,但增加查询复杂度与数据量;适合需追踪历史或可恢复的场景。两者各有优劣,实际开发中常结合使用以满足不同需求。
574 4
|
3月前
|
存储 关系型数据库 数据库
【赵渝强老师】PostgreSQL数据库的WAL日志与数据写入的过程
PostgreSQL中的WAL(预写日志)是保证数据完整性的关键技术。在数据修改前,系统会先将日志写入WAL,确保宕机时可通过日志恢复数据。它减少了磁盘I/O,提升了性能,并支持手动切换日志文件。WAL文件默认存储在pg_wal目录下,采用16进制命名规则。此外,PostgreSQL提供pg_waldump工具解析日志内容。
265 0
|
5月前
|
存储 关系型数据库 MySQL
亿级数据秒级响应:PolarDB MySQL HTAP实时分析方案设计与压测报告
PolarDB MySQL HTAP方案实现亿级数据秒级响应,支持高并发事务与实时分析。通过行列混存、智能路由与资源隔离,满足电商、金融等场景的实时报表、决策需求,降低架构复杂度与运维成本。
193 6

相关产品

  • 云原生数据库 PolarDB