• 【数据库系统概论】数据模型


    数据模型是什么

    模型是对现实世界中某个对象特征的模拟和抽象。比如飞机模型就体现了飞机的特性,它模拟飞机的起飞、飞行和降落,它抽象了飞机的基本特征——机头、机身、机翼、机尾。数据模型也是一种模型,它是对现实世界数据特征的抽象。通俗地讲数据模型就是现实世界的模拟。

    现有的数据库系统都是基于某种数据模型的。数据模型是数据库系统的核心和基础

    两类数据模型

    数据模型应满足三方面要求:

    1. 能比较真实地模拟现实世界
    2. 容易为人所理解
    3. 便于在计算机上实现

    数据模型分为两类(两个不同的层次)

    1. 概念模型 。也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计。
    2. 逻辑模型和物理模型
      • 逻辑模型主要包括网状模型、层次模型、关系模型、面向对象数据模型、对象关系数据模型、半结构化数据模型等。按计算机系统的观点对数据建模,用于DBMS实现。
      • 物理模型是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法。

    两步抽象

    为了把现实世界中的具体事物抽象、组织为某一数据库管理系统支持的数据模型。我们常常首先将现实世界抽象为信息世界,然后将信息世界转换为机器世界。这个抽象过程就是两步抽象
    其中第一步抽象是将现实世界抽象为信息世界,即将现实世界中的客观对象抽象为概念模型,第二步抽象是将信息世界转换为机器世界,即把概念模型转换为某一数据库管理系统支持的数据模型

    在这里插入图片描述

    概念模型

    概念模型用于信息世界的建模,是现实世界到机器世界的一个中间层次,是数据库设计的有力工具。

    在信息世界中,我们需要知道以下基本概念:

    • 实体(Entity)
      客观存在并可相互区别的事物称为实体。可以是具体的人、事、物或抽象的概念。
    • 属性(Attribute)
      实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。
    • 码(Key)
      唯一标识实体的属性集称为码。
    • 实体型(Entity Type)
      用实体名及其属性名集合来抽象和刻画同类实体称为
      实体型。
    • 实体集(Entity Set)
      同一类型实体的集合称为实体集。
    • 联系(Relationship)
      现实世界中事物内部以及事物之间的联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。
      • 实体内部的联系通常是指组成实体的各属性之间的联系
      • 实体之间的联系通常是指不同实体集之间的联系
      • 实体之间的联系有一对一、一对多和多对多等多种类型
    • 实体-联系方法(Entity-Relationship Approach)
      我们用E-R图来描述现实世界的概念模型。

    数据模型

    数据模型有三大组成要素:

    1. 数据结构
      数据结构描述数据库的组成对象,以及对象之间的联系。
      它是对系统静态特性的描述。
    2. 数据操作
      数据操作是对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。
      数据操作有两大类型:查询和更新(包括插入、删除、修改)。
      数据操作是对系统动态特性的描述。
    3. 数据的完整性约束条件
      数据的完整性约束条件是一组完整性规则的集合。规定数据及其联系符合现实语义。

    常用的数据模型

    这里的数据模型都是逻辑上的,也就是说是用户眼中看到的数据范围。

    常用的数据模型有:

    • 层次模型(Hierarchical Model)
    • 网状模型(Network Model)
    • 关系模型(Relational Model))
    • 面向对象数据模型(Object Oriented Data Model)
    • 对象关系数据模型(Object Relational Data Model)
    • 半结构化数据模型(Semistruture Data Model)

    其中关系模型是最重要的一种数据模型。关系数据库采用关系模型作为数据的组织方式。

    感谢 💖

    好啦,这次的分享就到这里,感谢大家看到这里🤞

  • 相关阅读:
    无惧面试,2023最新最全Java面试手册全网首次开放下载
    产品经理进阶:阻碍产品上市的5个因素
    模糊测试面面观 | 车联网场景模糊测试解决方案
    html中a标签的属性
    threadx netxduo stm32f407上实现http server
    U-Net生物医学图像分割讲解(Convolutional Networks for BiomedicalImage Segmentation)
    C#的窗体防闪烁解决方案 - 开源研究系列文章
    普鸥知识产权|西班牙商标注册流程你知道吗?
    C++指针解读(4)-- 指针和数组(一维数组)
    【zip密码】zip压缩包删除密码方法
  • 原文地址:https://blog.csdn.net/m0_60511809/article/details/132983118