使用三级模式组织数据的问题
1 简介
有些简单基本概念,如不同类型的数据模型、优缺点和数据模型示例。首先例如什么是数据模型?
数据库管理系统 (DBMS) 中的数据模型是为总结数据库描述而开发的工具的概念。
数据模型为我们提供了数据透明性,这有助于我们创建实际的数据库。
它向我们展示了从数据的设计到数据的正确实施。
关系模型的类型,它基本上分为3种类型: 概念模式,内模式,外模式。
比如采用三级模式结构的数据库系统中,如果对一个表创建聚索引,那么改变的是数据库的是内模式,内模式定义的是存储记录的类型、存储域的表示、存储记录的物理顺序,指引元、索引和存储路径等数据的存储组织。
只有结构化之后,才能如此使用sql语句查询数据。
```
SELECT user, age from users ORDER BY age.
```
2 目的:为什么要数据建模
数据建模是为要存储在数据库中的数据开发数据模型的过程。
数据模型确保命名约定、默认值、语义和安全性的一致性,同时确保数据质量。
数据模型结构有助于定义关系表、主键和外键以及存储过程。
有三种类型:概念,逻辑(外)和物理(内)。
概念模型的主要目的是建立实体、其属性和关系。
逻辑数据模型定义数据元素的结构并设置它们之间的关系。
物理数据模型描述了数据模型的数据库特定实现。
设计数据模型的主要目标是确保准确表示功能团队提供的数据对象。
3 详解三个数据模型
3.1. 概念数据模型
概念数据模型在非常高的级别上描述数据库,对于了解数据库的需求或要求非常有用。正是这个模型用于需求收集过程,即在数据库设计者开始创建特定数据库之前。
其中一种流行的模型是实体/关系模型(ER 模型)。E/R 模型专门研究数据库设计人员使用的实体、关系甚至属性。
就这个概念而言,甚至可以与非计算机科学(非技术)用户和利益相关者进行讨论,并且可以理解他们的要求。
实体关系模型(ER模型):
它是一个高级数据模型,用于定义数据以及它们之间的关系。它基本上是任何数据库的概念设计,易于设计数据视图。
ER模型的组成部分:
实体:实体称为真实世界的对象。它可以是名称、地点、对象、类等。这些由 ER 图中的矩形表示。
属性:属性可以定义为实体的描述。这些由 ER 图中的 Eclipse 表示。它可以是学生的年龄、卷号或分数。
关系:关系用于定义不同实体之间的关系。钻石和菱形用于显示关系。
概念数据模型的特征
提供组织范围内的业务概念覆盖。
这种类型的数据模型是为业务受众设计和开发的。
概念模型是独立于数据存储容量、位置等硬件规格或软件规格(如 DBMS 供应商和技术)开发的。
重点是将数据表示为用户将在“现实世界”中看到的数据。
称为域模型的概念数据模型通过建立基本概念和范围为所有利益相关者创建通用词汇表
3.2. 外模式:逻辑数据模型
这种类型的数据模型仅用于表示数据库的逻辑部分,而不表示数据库的物理结构。逻辑数据模型允许我们主要关注数据库的设计部分。
一种流行的表示模型是关系模型。关系模型由关系代数和关系演算组成。在关系模型中,我们基本上使用表来表示我们的数据以及它们之间的关系。这是一个理论概念,其实际实现是在物理数据模型中完成的。
使用逻辑数据模型的优点是为形成物理模型的基础提供基础
3.3. 内模式:物理数据模型
物理数据模型用于实际实现关系数据模型。最终,数据库中的所有数据都以物理方式存储在辅助存储设备(如光盘和磁带)上。它以文件、记录和某些其他数据结构的形式存储。
它具有有关文件存在的格式和数据库结构,外部数据结构的存在以及它们之间的关系的所有信息。
在这里,我们基本上将表保存在内存中,以便可以有效地访问它们。为了提出一个好的物理模型,我们必须以更好的方式处理关系模型。结构化查询语言(SQL)用于实际实现关系代数。
此数据模型描述了如何使用特定的 DBMS 系统实现系统。此模型通常由 DBA 和开发人员创建。目的是数据库的实际实现。
4 物理数据模型的特征:
物理数据模型描述了单个项目或应用程序的数据需求,尽管它可能根据项目范围与其他物理数据模型集成。
数据模型包含表之间的关系,这些关系解决关系的基数和可控性。
为项目中使用的DBMS,位置,数据存储或技术的特定版本而开发。
列应具有确切的数据类型、分配的长度和默认值。
定义了主键和外键、视图、索引、访问配置文件和授权等
5 其他一些数据模型
- 分层模型
分层模型是 IBM 在 1950 年代开发的数据模型中最古老的模型之一。在分层模型中,数据被视为表的集合,或者我们可以说形成分层关系的段。在此中,数据被组织成树状结构,其中每个记录由一个父记录和许多子记录组成。
即使段通过逻辑关联作为链状结构连接,则即时结构可以是具有多个分支的扇形结构。我们将不合逻辑的关联称为定向关联。
- 网络模型
网络模型在 1960 年代由数据库任务组正式确定。此模型是分层模型的泛化。此模型可以由多个父段组成,这些段分组为级别,但属于任何级别的段之间存在逻辑关联。大多数情况下,两个段中的任何一个之间存在多对多逻辑关联。
- 面向对象的数据模型
在面向对象的数据模型中,数据及其关系包含在单个结构中,该结构在此数据模型中称为对象。在这种情况下,现实世界的问题表示为具有不同属性的对象。所有对象之间都有多个关系。基本上,它是面向对象编程和关系数据库模型的组合。
- 浮点数据模型
浮点数据模型基本上由二维数据模型数组组成,这些数组中不包含任何重复元素。此数据模型有一个缺点,它不能存储大量数据,即表不能很大。
- 上下文数据模型
上下文数据模型只是一个由多个数据模型组成的数据模型。例如,上下文数据模型由 ER 模型、面向对象数据模型等组成。此模型允许用户执行每个单独数据模型可以执行的多个操作。
- 半结构化数据
半结构化数据模型以灵活的方式处理数据。某些实体可能具有额外的属性,某些实体可能具有一些缺失的属性。基本上,您可以在此处以灵活的方式表示数据。
6 小结
- 使用数据模型的 优势
数据模型帮助我们准确地表示数据。
它帮助我们找到丢失的数据,并最大限度地减少数据冗余。
数据模型以更好的方式提供数据安全性。
数据模型应足够详细,以便用于构建物理数据库。
数据模型中的信息可用于定义表、主键和外键以及存储过程之间的关系。
- 使用数据模型的 缺点
在庞大的数据库的情况下,有时很难理解数据模型。
您必须具备适当的 SQL 知识才能使用物理模型。
即使是结构上的较小更改也需要在整个应用程序中进行修改。
DBMS 中没有设置的数据操作语言。要开发数据模型,应该了解物理数据存储的特征。
最大的缺点是,即使是对结构进行的较小更改也需要在整个应用程序中进行修改。
- 点赞
- 收藏
- 关注作者
评论(0)