数据库概述 -- 数据模型知识点要点详解

在这里插入图片描述

主页传送门:📀 传送

概述


  数据模型是对现实世界数据特征的抽象,它描述了数据的结构、操作和约束条件,为数据库系统的信息表示与操作提供一个抽象的框架。数据模型所描述的内容通常包括数据结构、数据操作和数据约束。

  数据模型可以根据其应用的场景和目的而有所不同。例如,概念模型(Conceptual Model)是从用户的角度对数据进行建模,主要用于数据库设计;逻辑模型(Logical Model)则是从计算机系统的角度对数据进行建模,主要用于DBMS的实现;物理模型(Physical Model)是对数据最底层的抽象,描述了数据在系统内部的表示方式和存取方法,是面向计算机系统的。

  在数据模型中,数据的抽象程度越高,就越难以在计算机上实现,而数据的抽象程度越低,就越难以描述复杂的现实世界。因此,选择合适的数据模型对于提高数据的可理解性和可操作性非常重要。

请添加图片描述

概念


  模型(Model):现实世界特征的模拟和抽象表达。

  数据模型:描述数据库的结构和语义,对现实世界的数据进行抽象从现实世界的信息到数据库存储的数据以及用户使用的数据是一个逐步抽象过程,根据数据抽象的级别定义了四种模型:概念模型、逻辑模型和物理模型。

数据特征


数据的特征分为:

  • 静态和动态两种特征
    • 静态约束
    • 动态操作
      在这里插入图片描述

组成要素


数据模型组成要素包括数据结构、数据操作和数据约束。

  • 数据结构: 描述的是系统的静态特征,即数据对象的数据类型、内容、属性以及数据对象之间的联系。

  • 数据操作: 描述的是系统的动态特征。

  • 数据约束: 描述数据结构中数据间的语法和语义关联。

分类


  数据模型是模型化数据和信息的工具,也是数据库系统的核心和基础,可以分为概念模型、逻辑模型和物理模型。
在这里插入图片描述

概念层数据模型


  概念层是数据抽象级别的最高层。概念层数据模型,也称为数据的概念模型或信息模型,这类模型主要用于数据库的设计阶段。

『信息世界涉及的基本概念』

  • 实体(Entity)
  • 属性(Attribute)
  • 码或键(Key)
  • 域(Domain)
  • 实体型(Entity Type)
  • 实体集(Entity Set)
  • 联系(Relationship)

  数据模型中有“型”和“值”两个概念:型是指表格中的表头;值是指型对应的具体数据。

姓名张三
性别
年龄8

概念模型的表示方法

  • 实体型: 用矩形表示, 内写实体名
  • 属性: 椭圆表示, 内写名称, 无向边连接相应实体
  • 联系: 菱形表示, 内写名称, 无向边连接实体

概念模型的特点

  • 概念模型表达了数据的整体逻辑结构,它是系统用户对整个应用项目涉及的数据的全面描述。
  • 概念模型是从用户需求的观点出发,对数据建模。
  • 概念模型独立于硬件和软件。
  • 概念模型是数据库设计人员与用户之间进行交流的工具。

逻辑层数据模型


  逻辑层是数据抽象级别的中间层。逻辑层数据模型,也称为数据的逻辑模型。任何DBMS都是基于某种逻辑数据模型。

  逻辑模型分类有四种:层次模型、网状模型、关系模型、面向对象模型。

层次模型:

  是最早使用的一种数据模型(有向树)。有且仅有一个结点没有父节点,称作根节点;其他节点有且仅有一个父节点。
在这里插入图片描述

网状模型:

  以网状结构(图)表示实体与实体间的联系。允许结点有多于一个父结点;可以有一个以上的结点没有父结点。
在这里插入图片描述

关系模型:

  用二维表结构来表示实体间的联系。

优点:

  • 建立在严格的数学概念的基础上
  • 概念单一
  • 存取路径对用户透明,有更高的数据独立性,更好的安全保密性
学号姓名
111张三
112李四

面向对象模型:
  既是概念模型又是逻辑模型。表达能力丰富,对象可复用、维护方便。

逻辑模型的特点

  • 逻辑模型表达了DB的整体逻辑结构,但它是设计人员对整个应用项目数据库的全面描述。
  • 逻辑模型是从数据库实现的观点出发,对数据建模。
  • 逻辑模型独立于硬件,但依赖于软件(DBMS)。
  • 逻辑模型是数据库设计人员与应用程序之间进行交流的工具。

物理层数据模型

  物理层数据模型,也称为数据的物理模型,它又称为外部模型。是描述数据在存储介质上的组织结构,是逻辑模型的物理实现;它是数据库最底层的抽象;设计目标是提高数据库性能和有效利用存储空间。

物理模型的特点:

  • 是逻辑模型的一个逻辑子集。
  • 独立于硬件,依赖于软件。
  • 反映了用户使用数据库的观点。

在这里插入图片描述

  如果喜欢的话,欢迎 🤞关注 👍点赞 💬评论 🤝收藏  🙌一起讨论
  你的支持就是我✍️创作的动力!					  💞💞💞
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
在Quartz中,数据库集群是一种高可用性的解决方案。它允许多个Quartz实例共享同一个数据库,并且能够自动协调任务的执行,从而保证任务的可靠性和稳定性。 但是,在多个Quartz实例同时操作同一个数据库时,必须确保它们之间的数据一致性。这就需要使用锁机制来保证数据的正确性和安全性。 Quartz提供了两种类型的锁:悲观锁和乐观锁。它们分别采用不同的方式来保证数据的一致性。 1. 悲观锁 悲观锁是一种悲观的认为并发环境下会出现冲突的锁机制。它在操作数据时,会先加锁,然后再进行操作,操作完成后再释放锁。 在Quartz中,悲观锁是通过数据库中的行级锁来实现的。当一个Quartz实例要对某个任务进行操作时,它会先获取该任务的行级锁,然后再进行操作。其他实例在此期间无法获取该任务的锁,从而保证了数据的一致性。 2. 乐观锁 乐观锁是一种乐观的认为并发环境下不会出现冲突的锁机制。它在操作数据时,不会加锁,而是通过版本号等方式来判断数据是否发生了变化。 在Quartz中,乐观锁是通过版本号来实现的。每个任务都有一个版本号,当一个Quartz实例要对某个任务进行操作时,它会先获取该任务的版本号,然后进行操作。如果在此期间该任务的版本号发生了变化,则说明其他实例已经对该任务进行了操作,当前实例的操作会失败,需要重新获取版本号并重试。这样可以保证数据的一致性。 总的来说,悲观锁适用于高并发、数据冲突严重的场景,但是会带来较大的性能开销;而乐观锁适用于并发量较小、数据冲突不严重的场景,性能开销较小。在Quartz中,可以根据具体的业务需求选择合适的锁机制来保证数据的正确性和安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

家有娇妻张兔兔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值