模型是现实世界特征的模拟和抽象。在数据库技术中,用数据模型的概念描述数据库的结构和语义,是对现实世界的数据抽象。数据模型是研究数据库技术的核心和基础。

文章目录

  • 1.概念数据模型(CDM)
  • 2.逻辑数据模型(LDM)
  • 3.物理数据模型(PDM)
1.概念数据模型(CDM)

    现实世界主要涉及以下一些概念:
    (1)实体(Entity)
    客观存在并可相互区别的事物称为实体。
    可以是具体的人、事、物或抽象的概念。
    (2)属性(Attribute)
    实体所具有的某一特性称为属性。
    一个实体可以由若干个属性来刻画。
    (3)码(Key)
    唯一标识实体的属性集称为码。
    (4)实体型(Entity Type)
    用实体名及其属性名集合来抽象和刻画同类实体称为
实体型
    (5)实体集(Entity Set)
    同一类型实体的集合称为实体集
    (6)联系(Relationship)
    现实世界中事物内部以及事物之间的联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。
    实体内部的联系通常是指组成实体的各属性之间的联系
    实体之间的联系通常是指不同实体集之间的联系
    实体之间的联系有一对一、一对多和多对多等多种类型

    概念数据模型是现实世界到信息世界的第一层抽象,主要是在高水平和面向业务的角度对信息的一种描述,通常作为业务人员和技术人员之间沟通的桥梁。作为现实世界的概念化结构,这种数据模型使得数据库的设计人员在最初的数据库设计阶段将精力集中在数据之间的联系上,而不用同时关注数据的底层细节(如所用的计算机系统的特性以及数据库管理系统—DBMS的特性)。

    概念数据模型主要的贡献在于分析数据之间的联系,它是用户对数据存储的一种高度抽象,反应的是用户的一种业务层面的综合信息需求。

    在这个阶段一般会形成整个数据模型或者是软件系统中的实体的概念以及实体之间的联系,为构建逻辑数据模型奠定基础。下图中描述了现实世界和信息世界以及最终转换成计算机世界信息的转换流程。

    设计概念数据模型的主要工具是E-R图,扩展的E-R图。
    概念模型的表示方法最常用的是P.P.Chen于1976年提出的"实体-联系图方法(Entity-Relationship Approach),简称E-R模型"。E-R实体联系图是直观表示概念模型的工具,其中包含了实体、联系、属性三个成分,联系的方法为一对一(1:1)、一对多(1:N)、多对多(M:N)三种方式,联系属于哪种方式取决于客观实际本身。
    E-R模型图,既表示实体,也表示实体之间的联系,是现实世界的抽象,与计算机系统没有关系,是可以被用户理解的数据描述方式。通过E-R模型图可以使用户了解系统设计者对现实世界的抽象是否符合实际情况,从某种程度上说E-R模型图也是用户与系统设计者进行交流的工具,E-R模型图已成为概念模型设计的一个重要设计方法。
  

2.逻辑数据模型(LDM)

数据模型由三部分组成:数据结构、数据操作和数据约束。
  (1)数据结构:数据结构主要描述数据的类型、内容、性质、以及数据之间的联系,是整个数据模型的基础,而针对数据的操作和数据之间的约束都是建立在数据结构的基础上的;
  (2)数据操作:主要定义了在相应的数据结构上的操作类型和操作方式(数据库中的增删改查等);
  (3)数据约束:数据约束主要用来描述数据库中数据结构之间的语法、词义联系以及彼此之间的相互约束和制约关系(如MySQL中使用外键保证数据之间的数据完整性)

逻辑数据模型是对概念数据模型进一步具体化,在概念数据模型定义实体的基础上定义了各个实体的属性,是用户从数据库的角度能够看到的数据的模型,是所使用的数据库管理系统(Database Management System,DBMS)所支持的数据类型(网状数据模型、层次数据模型、关系数据模型)。这种数据模型架起了用户和系统之间的桥梁,既要面向用户,同时也考虑到了所用的DBMS所支持的特性。

逻辑数据模型反映了系统分析设计人员针对数据在特定的存储系统(如MySQL)的观点,是对概念数据模型的进一步细化和划分。逻辑数据模型是根据业务之间的规则产生的,是关于业务对象、业务对象数据以及业务对象彼此之间关系的蓝图。

逻辑数据模型的内容包括所有的实体、实体的属性、实体之间的关系以及每个实体的主键、实体的外键(用于维护数据完整性)。其主要目标是尽可能详细的描述数据,但是并不涉及这些数据的具体物理实现。逻辑数据模型不仅会最终影响数据库的设计方向,并最终会影响到数据库的性能(如主键设计、外键等都会最终影响数据库的查询性能)。

逻辑数据模型是开发物理数据库的完整文档,逻辑数据模型主要采用的是层次模型、网状模型、关系模型,其中最常用的是关系模型,对应的数据库称之为关系型数据库,如MySQL。
  常用的结构数据模型是关系模型和面向对象模型,关系模型的理论基础是数学理论,数据的操作通过关系运算实现。在关系模型中用二维表表示实体及实体之间的联系,关系模型的实例称为关系。从数学的观点上看,关系是集合,其元素是元组(记录)。遵循一定的规则后,可以将E-R模型图转换成关系模型。

    将E-R模型图转换成关系模型的规则
E-R模型图中的主要成分是实体及实体之间的联系,对于实体的转换方式是:
  1) 将一个实体转换成一个关系模型。实体的属性为关系模型的属性,实体的标识符为关系模型的关键字,如上图所示的E-R模式中有两个实体:学生、课程,可以分别转换学生模型和课程模型:
    学生模型(学号,姓名,性别,年龄),学号是学生模型的关键字
    课程模型(课程号,课程名,学时数),课程号是课程模型的关键字
    2) 联系转换为关系模型。联系转换成关系模型时,要根据联系方式的不同采用不同的转换方式:
    若联系的方式是一对一的(1:1),可以在两个实体关系模型中的任意一个关系模型中加入另一个关系模型的关键字和联系类型的属性。
    若联系方式是一对多的(1:N),则在N端(为多的一端)实体的关系模型中加入1端实体关系模型的关键字和联系类型的属性
    若联系方式是多对多的(M:N),则将联系也转换成关系模型,其属性是互为联系的两个实体的关键字和联系的属性

3.物理数据模型(PDM)

物理数据模型,又称为物理模型,是概念数据模型和逻辑数据模型在计算机中的具体表示。该模型描述了数据在物理存储介质上的具体组织结构,不但与具体的数据库管理系统相关,同时还与具体的操作系统以及硬件有关,但是很多工作都是由DBMS自动完成的,用户所要做的工作其实就是添加自己的索引等结构即可。

物理数据模型是在逻辑数据模型的基础上,综合考虑各种存储条件的限制,进行数据库的设计,从而真正实现数据在数据库中的存放。其主要的工作是根据逻辑数据模型中的实体、属性、联系转换成对应的物理模型中的元素,包括定义所有的表和列,定义外键以维持表之间的联系等,具体例子如下:

数据库中的数据模型 概念数据模型、逻辑数据模型、物理数据模型相关推荐

  1. 《数据库系统概论》之数据库设计六步骤(需求、概念、逻辑、物理、实施、运行维护)

    文章目录 0.一图总览 1.数据库设计概述及六步骤简介 2.需求分析---步骤一 2.1 收集资料 2.2 分析整理 2.3 数据流图 2.4 数据字典 2.5 用户确认 3.概念结构设计---步骤二 ...

  2. 关于数据库中的一些概念

    一.关系型数据库和非关系型数据库 非关系型数据库,又被称之为NoSQL,描述的是大量结构化数据存储方法的集合.可分为: 面向检索的列式存储,典型代表GoogleAppengine的BigTable: ...

  3. 数据仓库建模方法/范式建模法/维度建模法/事实表/维度表/优缺点/建模流程/概念建模/逻辑建模/物理建模

    常见的有 范式建模法.维度建模法.实体建模法等,每种方法从本质上将是从不同的角度看待业务中的问题,不管是从技术层面还是从业务层面,都代表了哲学上的一种世界观. 1 范式建模法(Third Normal ...

  4. 数据建模 --- 概念建模+逻辑建模+物理建模

    概念建模      主要内容:客户交流,了解需求,形成实体,如销售业务中实体可能包括"订单"."业务员"等实体.在概念建模阶段,只需要关注实体即可,不需要关注任 ...

  5. 概念设计.逻辑设计.物理设计.的简单说明

    从项目中总结出来的如何写说明书的部分.可能有人认为这个比较浅,实际上我只是说明一个问题,就是这些说明书的概要书写思想,因为每个公司的说明书都有自己的风格. 什么是概念设计说明书 <概念设计说明书 ...

  6. PowerDesigner反向生成物理数据模型

    原文:PowerDesigner反向生成物理数据模型 什么是PowerDesigner Power Designer 是Sybase公司的CASE工具集,使用它可以方便地对管理信息系统进行分析设计,它 ...

  7. 北大邹磊:图数据库中的子图匹配算法

    Python微信订餐小程序课程视频 https://blog.csdn.net/m0_56069948/article/details/122285951 Python实战量化交易理财系统 https ...

  8. 讲座录播|图数据库中的子图匹配算法-邹磊

    分享嘉宾:邹磊 北京大学 教授 编辑整理:xiaomei.图谱学苑 出品平台:DataFunTalk 讲座视频(点击观看): https://www.bilibili.com/video/BV1uS4 ...

  9. Oracle数据库中索引的维护

    本文只讨论Oracle中最常见的索引,即是B-tree索引.本文中涉及的数据库版本是Oracle8i. 一. 查看系统表中的用户索引 在Oracle中,SYSTEM表是安装数据库时自动建立的,它包含数 ...

  10. 数据库中的视图理解和优点介绍

    数据库中视图的概念:视图是从一个表或是多个表导出的表,视图与表不同,视图是一个虚表,即视图所对应的数据不进行实际存储,数据库中指存储视图的定义,在对视图的数据进行操作时,系统根据视图的定义去操作与视图 ...

最新文章

  1. SRX 透明模式配置
  2. pandas DataFrame isin
  3. 画胖小人和瘦小人,建造者模式版本
  4. 2008年初看的书[带简评]
  5. 二分查找基础概念与经典题目(Leetcode题解-Python语言)二分数值型
  6. LeedCode篇:234. 回文链表
  7. mysql ef 一对多 更新数据库_Entity Framework_成功针对多种数据库使用实体框架(EF)...
  8. C# WPF 多个window 相互覆盖的次序控制 不用topmost
  9. getFields和getDeclaredFields
  10. servlet-servletContext简述
  11. awk将txt转换为csv
  12. 一名全栈工程师的必备工具箱
  13. postman 解决Could not send request
  14. laravel 实现队列功能
  15. 经济筑底要看房市“脸色”
  16. H5开发使用 “navigationStyle“: “custom“,但是最外层的title标题显示不正确
  17. 鸿蒙初判陶镕铁,大禹治水为何还要求雨?他用金箍棒到底做什么用?
  18. windows下安装与使用pix2tex(mathpix免费替代版)
  19. mysql外码内码定义_刨根究底字符编码之六——简体汉字编码中区位码、国标码、内码、外码、字形码的区别及关系...
  20. Word2016添加mythtype加载项

热门文章

  1. Power Platform 零基础 Power Apps canvas+Power Automate 画布应用基础搭建应用流程
  2. ds18b20驱动程序Linux,ARM-linux嵌入式内核驱动——DS18B20的驱动
  3. 常见职位角色及其英文缩写
  4. t分布 u分布 卡方分布_t分布, 卡方x分布,F分布
  5. n个人有c个魔法帽几天去掉所有的帽子
  6. soul群聊派对显示服务器异常,soul群聊派对在哪?功能、查找步骤有这些
  7. 你所不知道的文件上传更安全的类型判断
  8. 【Excel VBA】自动调整列宽和行高
  9. vuejs --- 子组件向父组件传值(子传父)
  10. 【STM32f401学习之路-01】GPIO实战—点灯、检测按键