前置知识

概述:数据模型的基本概念

模型就是对现实世界特征的模拟和抽象,数据模型是对现实世界数据特征的抽象。对于具体的模型人们并不陌生,如航模飞机、地图和建筑设计沙盘等都是具体的模型。最常用的数据模型分为概念数据模型和基本数据模型。

1)概念数据模型

概念数据模型也称为信息模型,是按用户的观点对数据和信息建模,是现实世界到信息世界的第一层抽象,强调其语义表达功能,易于用户理解,是用户和数据库设计人员交流的语言,主要用于数据库设计。这类模型中最著名的是实体联系模型,简称E-R模型

2)基本数据模型

基本数据模型是按计算机系统的观点对数据建模,是现实世界数据特征的抽象,用于DBMS的实现,不同的数据模型具有不同的数据结构形式,目前最常用的数据结构模型有层次 模型(Hierarchical Model)、网状模型(Network Model)、关系模型(Relational Model)和面向 对象数据模型(Objct Oriented Model)。其中,层次模型和网状模型统称为非关系模型。非关系模型的数据库系统在20世纪70年代非常流行,在数据库系统产品中占据了主导地位。

E-R模型(什么是E-R图)

概念模型是对信息世界的建模。所以概念模型能够方便、准确地表示信息世界中的常用概念。概念模型有很多种表示方法,其中最常用的是 P.P.S.Chen 于 1976 年提出的 实体-联系 方法(Entity Relationship Approach)。该方法用E-R图来描述现实世界的概念模型,称为实体-联系模型(Entity-Relationship Model,E-R模型)

    E-R模型是软件工程设计中的一个重要方法,在数据库设计中,常用E-R模型来描述现实世界到信息世界的问题。因为它接近于人的思维方式,容易理解并且于计算机无关,所以用户容易接受,是用户和数据库设计人员交流的语言。但是, E-R模型只能说明实体间的语义联系,还不能进一步地详细说明数据结构。在解决实际应用问题时,通常应该先设计一个E-R模型,然后再将其转换成计算机能接受地数据模型。

E-R图中的主要构件:

在E-R图中,实体集作为主码(或主键)的一部分属性名下面加 下画线 标明。另外,在实体集于联系的线段上标注联系的类型。

实体(Entity) 在E-R图中实体用矩形表示,通常在矩形框内写明实体名。实体是现实世界中可以区别于其他对象的“事件”或“物体”。例如,企业中每个人都是一个实体。每个实体由一组特性(属性)来表示,其中的某一部分属性可以唯一标识实体,如职工号。实体集是具有相同属性的实体集合,例如,学校所有教师具有相同属性,因此教师的集合可以定义为一个实体集,学生具有相同的属性,因此学生的集合可以定义为另一个实体集。

联系(Relationship) 在E-R模型中,联系用菱形表示。通常可在菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标注上联系的类型(1:1、1:* 或 *:* )。实体的联系分为实体内部的联系和实体与实体之间的联系。实体内部的联系反映数据在同一记录内部各字段间的联系。

1)两个不同实体之间的联系

两个实体之间的联系可分为3类:一对联系记为1:1,一对多联系记为1:*(或1:n),多对多联系记为  *:*(m:n)。

(1) 1:1。如果对于实体集A中的每一个实体, 实体集B中至多有一个实体与之对应;反之亦然,则称A与B具有一对一联系。

(2) 1:*。如果对于实体集A中的每一个实体, 实体集B中有n个实体(n≥0)与 之对应;反之, 对于实体集B中的每一个实体,实体集A中至多只有一个实体与之对应,则称A与B具有一对多联系。

(3) *:*。如果对于实体集A中的每一个实体, 实体集B中有n个实体(n≥0)与 之对应;反之,对于实体集B中的每一个实体,实体集A 中也有m个实体(m≥0)与之对应,则称A与B具有多对多联系。

2)两个以上不同实体集之间的联系

两个以上不同实体集之间存在 1:1:1、1:1:*、1:*:* 和 *:*:*的联系。

3)同一实体集内的二元联系

同一实体集内的各实体之间也存在 1:1、1:*和*:*的联系。

属性(attribute) 属性是实体某方面的特性。例如,职工实体集具有职工号、姓名、年龄、参加工作时间和通信地址等属性。每个属性都有其取值范围,如职工号为0001-9999的4位整型数,姓名为10位的字符串,年龄的取值范围为18-60等。在同一实体集中,每个实体的属性及其域是相同的,但可能取不同的值。E-R模型中的属性有如下分类。

1)简单属性和复合属性。

简单属性是原子的、不可再分的,复合属性可以细分为更小的部分(即划分为别的属性)。有时用户希望访问整个属性,有时希望访问属性的某个成分,那么在模式设计时可采用复合属性。例如,职工实体集的通信地址可以进一步分为邮编、省、市、街道。若不特别声明,通常指的是简单属性。

2)单值属性和多值属性。

前面所举的例子中,定义的属性对于一个特定的实体都只有单独的一个值。例如,对于一个特定的职工,只对应一个职工号、职工姓名,这样的属性叫作单值属性。但是,在某些特定情况下,一个属性可能对应一组值。例如,职工可能有0个、1个或多个亲属,那么职工的亲属的姓名可能有多个数目,这样的属性称为多值属性。

3) NULL属性。

当实体在某个属性上没有值或属性值未知时,使用NULL值。表示无意义或不知道。

4)派生属性。

派生属性可以从其他属性得来。例如,职工实体集中有“参加工作时间”和“工作年限”属性,那么“工作年限”的值可以由当前时间和参加工作时间得到。这里,“工作年限”就是一个派生属性。年龄可从身份证号中得出,因此年龄也属于派生属性。

扩充的 E-R 模型

尽管基本的 E-R 模型是对大多数数据库特征建模,但数据库某些情况下的特殊语义,仅用基本的 E-R 模型无法表达清楚。所以引入了扩充的 E-R 模型,包括:弱实体、特殊化、概括和聚集等概念。

1)弱实体: 即一个实体的存在必须以另一个实体为背景,将这类实体称为弱实体。在扩展的 E-R 图中,弱实体用双边矩形表示。

2)特殊化:某些实体在一方面具有一些共性,另一方面还具有各自的特殊性。

这样,一个实体集可以按照某些特征区分为几个子实体。设有实体集E,如果 S 是 E 的某些真子集的集合,则称 S 是 E 的一个特殊化,E 是 S 的超类,S 是 E 的子类。图中,学生是超类,专科生、本科生和研究生是学生的子类。

如果,所有子集 S1、S2、....、Sn的并集等于 E,则称 S 是 E 的全特殊化,否则是 E 的部分特殊化。

如果,Si 与 Sj 的交集为空集,i ≠ j,则 S 是不相交特殊化,否则是重叠特殊化。

扩充 E-R 图中的主要构件:

.....部分内容来自《数据库系统工程师教程》

什么是ER图?数据库ER图基础概念整理相关推荐

  1. 什么是图数据库?图数据库实践与创新浅析

    近日,中国工程院院士,清华大学计算机科学与技术系教授郑纬民先生,在人民日报发表文章<把握图数据库自主创新机遇>,建议国内科研学者和工程人员,要在图数据库的理论研究与工程研发上坚持自主创新道 ...

  2. Java学习笔记(五):一张图总结完JVM8基础概念

    Java学习笔记(五):一张图总结完JVM8基础概念 引文 最近在学习JVM的相关内容,好不容易把基础概念全部都学了一遍,却发现知识网络是零零散散的.迫不得已,只好再来一次总的归纳总结.为了更好的理解 ...

  3. 聊聊图数据库和图数据库的小知识

    图数据库 - 维基百科:在计算机科学中,图数据库(英语:graph database,GDB)是一个使用图结构进行语义查询的数据库,它使用节点.边和属性来表示和存储数据.该系统的关键概念是图,它直接将 ...

  4. 数据库ER图基础概念整理

    ER图分为实体.属性.关系三个核心部分.实体是长方形体现,而属性则是椭圆形,关系为菱形. ER图的实体(entity)即数据模型中的数据对象,例如人.学生.音乐都可以作为一个数据对象,用长方体来表示, ...

  5. 图数据库_ONgDB图数据库与Spark的集成

    快速探索图数据与图计算 图计算是研究客观世界当中的任何事物和事物之间的关系,对其进行完整的刻划.计算和分析的一门技术.图计算依赖底于底层图数据模型,在图数据模型基础上计算分析Spark是一个非常流行且 ...

  6. 浅析图数据库市场/图数据库/图计算/图引擎/图神经网络/知识图谱.

    欢迎大家一起交流,本人对于图方面的做过一些市场洞察以及Mapping. 图论的历史 **第一阶段:**从1736年到19世纪中叶1736年,欧拉(L·Euler)研究哥尼斯堡城(Koni gsberg ...

  7. 图数据库:图数据库以及图数据库的使用场景

    1. 什么是图数据库 图数据库是基于数学里图论的思想和算法而实现的高效处理复杂关系网络的新型数据库系统. 图形数据库善于高效处理大量的.复杂的.互联的.多变的数据.其计算效率远远高于传统的关系型数据库 ...

  8. 【数据库】数据模型基础概念(图文版)

    0 前言 本文通过一个实例,来讲解数据模型的基础概念. 要求设计一个数据库的数据模型,统计出你的宿舍每个人(4个人)的信息,要求包括 个人信息:学号.姓名.班级.年级.学院 选课情况:学号.课程号.课 ...

  9. 常用色彩模式及基础概念整理

    这篇将UI设计时的颜色模式,混合页面开发时的颜色设置,混在一起,整理了一下常用到的几种模式及其基础概念,其中标有 图标的,为 CSS 中可以直接使用的颜色模式.  RGB 光色模式 由 红(R | R ...

  10. 原python基础概念整理_Python从头学之基础概念整理

    学程序真的是一个无法间断的过程,只要你懈怠,种种原因都是你的理由.然而造成的后果就是到目前位置,一个心目中的项目都没有完美的做出来: 归根结底,其实就是基础没有打好,因为每一个复杂的功能都是由很多简单 ...

最新文章

  1. 吴恩达深度学习笔记(83)-LeNet-5、AlexNet和VGGNet网络知多少
  2. 周期信号的傅里叶变换(精彩)
  3. 简单的基于YCrCb颜色空间的人脸检测(肤色)
  4. Leetcode 223. 矩形面积 解题思路及C++实现
  5. [置顶] Android的IPC访问控制设计与实现
  6. linux nsf 扫描,linux 使用NSF 映射远程磁盘目录的实现
  7. html做在线预览pdf文件,html中在线预览pdf文件之pdf在线预览插件
  8. AngularJS资源整理收集
  9. Linux 端口侦听不到,在linux上,如何在不尝试连接的情况下检查端口是否处于侦听状态...
  10. P Laguna/ A database for evaluation of algorithms for measurement of QT and other waveform interval
  11. 如何保证ArrayList线程安全
  12. Linux服务器端口access改为trunk all
  13. 软件测试职业比赛,我院首届软件测试职业技能大赛圆满落幕
  14. 扩展有限元程序matlab,Abaqus中扩展有限元(XFEM)功能简介
  15. 开源软件修改的必要性
  16. 你吃的外卖,半年前就做好了
  17. 瘦,是一种信仰。轻,是一种理想
  18. 高德离线地图瓦片坐标偏移纠偏
  19. 催眠曲用计算机怎么弹,在电脑中巧播“催眠曲”
  20. Excel/pandas遍历各表拼接并对具体列进行文本筛选

热门文章

  1. 不通过ROS直接查看URDF文件--增补
  2. 《UnityAPI.Vector2二维向量》(Yanlz+Unity+SteamVR+云技术+5G+AI+VR云游戏+Vector2+Normalized+Lerp+Dot+立钻哥哥++OK++)
  3. iOS - 清理缓存
  4. 洛谷 P-4045 密码(AC自动机+状态压缩+数位DP+乱搞)
  5. 批量翻译英语关键词到其它小语种
  6. ACPI电源管理中的S0 S1 S2 S3 S4 S5
  7. 中国万网获国家信息安全应急服务资质
  8. 【手把手带你刷好题】——25.换酒问题(模拟、思维)
  9. 【实习秋招篇之C++面经】
  10. 看懂数据分析图表的十个基本方法(下)