简答题 自考 数据库中常用的数据模型有哪些

数据库和逻辑模型有哪四种

上周,一位客户向我询问数据库模型。
逛了一圈,我终于画了不同模特的照片给他看。
只有这样他才会明白。
你问的是概念模型、层次模型、网络模型和关系模型。
这四个实际上是数据库的基础。

我们先来说一下概念模型。
这件事就像画思维导图一样。
它显示了您在业务中需要管理的所有内容,例如“客户”和“订单”,称为实体,以及“客户名称”和“订单金额”,称为属性。
它不关心如何记忆,它只是在你的脑海中放置一个框架,完全来自现实世界,与MySQL和Oracle等数据库系统无关。

从名字上就可以看出,层次模型类似于一棵树。
最常见的例子就是早期的IMS数据库,比如存储商品信息,“Clothes”是父节点,“Jacket”和“Underwear”是子节点,“Down Jacket”是“Jacket”的子节点。
该模型特别适合具有严格层次关系的数据,但实际工作中树结构很少。
要改变数据,就得从根节点开始一层一层地改变,操作起来很麻烦。

网络模型更加灵活,可以绘制成网络图。
想想以前的银行系统。
客户可以获得贷款或存款。
这些关系是直接相关的。
DB2 的早期版本使用网络模型。
单个实体可以直接与多个实体相关,并支持多个实体。
但绘图和编程不方便,逐渐被关系模型淘汰。

现在让我们谈谈流行的关系模型。
您使用的主要 MySQL 和 PostgreSQL 是关系模型。
它使用表来存储数据,其中行代表记录,列代表属性。
例如,在“用户”表中,有一行代表用户,其中包含“用户 ID”、“昵称”和“注册时间”等列。
关系模型的优点是操作方便,符合我们日常表计算的思路,支持复杂查询,所以现在9 9 %的数据库都选择这个。

逻辑模型是将业务需求转换为数据库可以理解的结构的桥梁。
比如你要设计一个电商系统,你先画概念模型,然后设计关系模型中的表结构,哪个表存储什么,字段是什么类型……设置它。
这种设计直接影响数据库的性能,比如在哪里添加索引,是否使用外键或临时表进行链接,这些都是由逻辑模型决定的。

我遇到的困境是2 01 8 年在北京帮助一家公司搭建ERP系统时,他们坚持使用分层模型来存储客户层次结构。
导致客户经常跨地域请求,数据查询效率很低。
后来,我们切换到关系模型并使用 SQL 来运行查询。
花了三个月才上线。
因此,模型的选择应该根据实际需要而定,而不是仅仅应用理论来展示你的技能。

您特别想了解哪一部分?现在很少使用层次结构和网络,关系模型是基础,但是设计表结构也有很多知识。

在数据库系统中,常用的数学模型主要有那四种呢?

关于数据库模型,刚进入这个行业的时候,我真的很困惑。
我将向您简要介绍您提到的类别。

概念模型,说白了就是画E-R图、实体和关系。
当时我帮客户设计了系统,画了几十张图。
它们是用白纸和黑笔绘制的。
他们非常复杂。
没有电脑,全是手绘。

分层模型,给我印象最深的是IBM IMS系统,大概是7 0年代末的产物。
当时相当流行。
就是那种树形结构,父子关系,简单明了。
但如果你运行一个多级查询,tsk,那可真让人头疼了。
我记得有一位客户使用 IMS 来管理他们的库存。
如果他们想知道某个零件来自哪家供应商,就必须一层一层地去,速度非常慢。

网络模型:比层次模型更灵活,但实现起来比较复杂。
我曾经遇到过一个使用网络模型作为数据库的项目。
当时正在使用DBTG规范,并且已经写了一大堆设计文档。
寻路之类的比层次模型好,但是维护起来确实很累。
大概是8 0年代初。

关系模型,是现在用得最多的吗? SQL 使用这一切。
当我从事数据库开发的职业生涯时,我开始学习关系模型。
这大概是 9 0 年代初,当时 Oracle 和 SQL Server 刚刚开始流行。
关系模型的好处是它是抽象的。
您不必担心底层的物理结构,大多数事情都可以通过 SQL 完成。
他们为该客户构建了一个电子商务平台并使用了关系模型。
数据量大,查询方便,没有出现大问题。

至于你提到的物理模型、数学模型、结构模型、仿真模型,我不太了解。
我通常从事数据库设计和物理模型方面的工作。
我对归档、索引和备份不太熟悉。
数学模型?这与算法和统计有关。
我是个老人了,记性不好,不敢乱说。
结构模型,提到的数据库模型分类应该属于结构模型。
之前没接触过仿真模型,所以不太懂。

总之,数据库模型只有实践才能理解。
您现在是该领域的学生还是工作人员?多做实践,不要只看理论。