文章目录

  • 一:什么是数据模型
  • 二:两类数据模型
    • (1)概念模型(信息模型)
      • A:定义
      • B:相关术语
      • C:概念模型的一种表示方法:实体-联系方法
    • (2)逻辑模型和物理模型
  • 三:数据模型的组成要素
  • 四:层次模型、网状模型和关系模型
    • (1)层次模型
      • A:层次模型的数据结构(二叉树)
      • B:层次模型优缺点(了解)
    • (2)网状模型
      • A:网状模型的数据结构(图)
      • B:网状模型的优缺点(了解)
    • (3)关系模型
      • A:关系模型的数据结构
      • B:关系模型的优缺点

一:什么是数据模型

数据模型:计算机是不可能直接处理现实世界中的具体事物的,所以人们必须事先把具体事物转化为计算机能够处理的数据。因此数据模型是对现实世界数据特征的抽象,也即数据模型是用来描述数据、组织数据和对数据进行操作的。它应该满足下面三点要求

  • 比较真实地模拟现实世界
  • 容易被人理解
  • 便于在计算机上实现

二:两类数据模型

就像在建筑设计和施工的不同阶段需要不同图纸一样,在开发实施数据库应用系统中也需要使用不同的数据模型,根据模型应用的不同目的,可分为两大类

  • 概念模型(信息模型)
  • 逻辑模型和物理模型

为了把现实世界中的具体事物抽象、组织为某一数据库管理系统支持的数据模型,人们常常首先将现实世界抽象为信息世界,然后将信息世界转换为机器世界。也就是说,首先把现实世界中的客观对象抽象为某一种信息结构,这种信息结构并不依赖于具体的计算机系统,不是某一个数据库管理系统支持的数据模型,而是概念级的模型:然后再把概念模型转换为计算机上某一数据库管理系统支持的数据模型

  • 从现实世界到概念模型的转换是由数据库设计人员完成的
  • 从概念模型到逻辑模型的转换可由数据库设计人员完成
  • 从逻辑模型到物理模型的转换主要是由数据库管理系统完成

(1)概念模型(信息模型)

A:定义

概念模型:是按用户的观点来对数据和信息建模,用于数据库设计

B:相关术语

实体: 客观存在并可以相互区别的事物。实体可以是具体的人、事、物,也可以是抽象的概念或联系

  • 比如职工、学生、学生的一次选课、教师与院系的工作关系

属性: 实体所具有的某一特性。一个实体可以由若干属性刻画

  • 比如(201315121, 张山,男,199505, 计算机系,2013) 即表征了一个学生

码: 唯一标识实体的属性

  • 比如人的身份证号

实体型:用实体名及其属性集合来抽象和刻画同类实体

  • 比如学生(学号,姓名,性别,出生年月,所在院系)就是一个实体型

实体集:同一类型实体的集合

  • 例如全体学生就是一个实体集

联系:在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系,实体之间的联系通常是指不同实体集之间的联系

  • 实体之间的联系有一一对一、-对多和多对多 等多种类型

C:概念模型的一种表示方法:实体-联系方法

实体联系方法用E-R图来描述现实世界的概念模型,所刻画的某些也称为E-R模型

(2)逻辑模型和物理模型

逻辑模型:是按计算机系统的观点对数据建模,主要用于数据库管理系统的实现。主要包括

  • 层次模型
  • 网状模型
  • 关系模型
  • 面向对象数据模型
  • 对象关系数据模型
  • 半结构化数据模型

物理模型:是对数据最底层的抽象,它描述数据在系统内部的表示方式和存取方法,或在磁盘或磁带上的存储方式和存取方法,是面向计算机系统的。数据库设计人员需要了解和选择物理模型,但用户不需要考虑物理细节

三:数据模型的组成要素

数据结构:数据结构是所研究的对象类型的集合

数据操作:是指对数据库中各种对象(型)的实例(值)允许执行的操作及有关的操作规则

  • 查询
  • 更新

数据的完整性约束条件:数据的完整性约束条件是一组完整性规则的集合,规定数据库状态及状态变化所应满足的条件,以保证数据的正确性、有效性和相容性

  • 实体完整性
  • 参照完整性

四:层次模型、网状模型和关系模型

层次模型和网状模型逐渐已被关系模型取代,所以对于前两个重点掌握概念即可,关系模型是重点,同时关系模型对应的关系数据库将在第二章重点介绍

(1)层次模型

A:层次模型的数据结构(二叉树)

在数据库中定义满足下面两个条件的基本层次联系的集合就为层次模型

  • 有且只有一个结点没有双亲结点,此结点为根节点
  • 根结点以外的所有结点有且只有一个双亲结点

在层次模型中每个结点表示一个记录类型,记录类型之间的联系用结点之间的连线(有向边)表示,这种联系是父子之间的一对多的联系

例如

B:层次模型优缺点(了解)

优点

  • 层次模型的数据结构较为简单清晰
  • 层次模型的查询效率高
  • 层次模型提供了良好的完整性支持

缺点

  • 层次模型不能很好的表示多对多联系
  • 插入,删除麻烦,编写程序复杂
  • 查询子女结点必须通过双亲结点
  • 由于结构严密,层次命令趋于程序化

(2)网状模型

A:网状模型的数据结构(图)

在数据库中定义满足下面两个条件的基本层次联系的集合就为网状模型

  • 允许一个以上的结点无双亲
  • 一个结点可以有多于一个的双亲

例如

B:网状模型的优缺点(了解)

优点

  • 能够更为直接地描述现实世界
  • 具有良好的性能,存取效率较高

缺点

  • 结构复杂,不利于用户掌握
  • 其DDL、DML复杂,嵌入高级语言中也难以让用户掌握
  • 用户需要了解结构细节,加重了编写程序的负担

(3)关系模型

A:关系模型的数据结构

关系不同于上面的两种模型,它是建立在严格的数学概念上的(更严格的定义在二章给出)。

用户的角度看,关系模型由一组关系组成,每个关系的数据结构是一张规范化的二维表


涉及术语如下

关系:一个关系对应一张表

元组:表中一行或者是一条记录叫做一个元组

属性:表中一列叫做一个属性,给每一个属性起一个名称叫做属性名

码:用于唯一确定一个元组

域:属性的取值范围

分量:元组的每一个属性值,关系的每一个分量都不可以再分

关系模式:对关系的描述,必须是规范化的

  • 关系名(属性1,属性2,… ,属性n)

B:关系模型的优缺点

优点

  • 建立在严格的数学概念的基础上
  • 关系模型的概念单一,无论实体还是联系都用关系表示,对数据的检索和更新结果也是关系。因此简单、清晰,易用
  • 关系模型的存取路径对用户透明

缺点

  • 查询效率往往不如格式化数据模型
  • 开发相应数据库管理系统难度大

(数据库系统概论|王珊)第一章绪论-第二节:数据模型相关推荐

  1. 数据库系统概论:第一章 绪论

    1.1 数据库系统概论 1.1.1 数据库系统概论 1. 数据 描述事物的符号记录称为是数据; 数据的解释叫做语义,他与数据时密不可分的; 记录是计算机中表示和储存数据的一种格式或者一个方法; 2. ...

  2. (王道408考研数据结构)第一章绪论-第二节2:算法的时间复杂度和空间复杂度

    文章目录 一:算法的时间复杂度 (1)事后统计方法 (2)事前分析估算的方法 (3)函数的渐进式增长 (4)算法时间复杂度 A:算法时间复杂度定义-大 O O O记法 B:推导大 O

  3. (王道408考研数据结构)第一章绪论-第二节1:算法的基本概念、算法的特性及设计要求

    文章目录 一:算法的基本概念 (1)数据结构和算法的关系 (2)算法(Algorithm)的定义 二:算法的特性 三:算法设计要求 程序=数据结构+算法,前面我们已经探讨了什么是数据结构,明白了如何用 ...

  4. 程序员编程艺术第一章(第二节)

    第二节:两指针逐步翻转 思路: abc defghi,要 abc 移动至最后 abc defghi->def abcghi->def ghiabc 定义俩指针, p1 指向 ch[0], ...

  5. 《数据库系统概论》第一章笔记

    本书第一章,介绍了一些数据库的基本概念,是理解后序章节的基础. 笔记基本上对这些基础概念的摘录. 做笔记的目的,一是加深记忆和理解,二是方便以后资料查找. 1.1 数据库系统概述 1.1.1 数据库系 ...

  6. ps分辨率像素英寸和厘米的区别_南南带你免费学习超级强大的做图软件-PS(第一章:第二节)...

    型男靓女们大家好,几天不见了,大家们都久等了!今天我们继续学习PS的主菜单的主要功能,大家一定要跟好了!记好笔记. 今天我们主要学菜单里最基本的工具,文件菜单,很重要的哦! 左上角:文件菜单的功能 在 ...

  7. (考研湖科大教书匠计算机网络)第一章概述-第二节:三种交换方式(电路交换、报文交换和分组交换)

    获取pdf:密码7281 专栏目录首页:[专栏必读]王道考研408计算机网络+湖科大教书匠计算机网络+网络编程万字笔记.题目题型总结.注意事项.目录导航和思维导图 王道考研408计算机组成原理万字笔记 ...

  8. 数据库系统概论笔记——第一章

  9. 高数_第一章_第二节_极限

    极限(重难点) 一.考试概要 极限的概念 1)数列的极限 ε 限 制 两 者 的 范 围 , N 用 来 表 示 数 列 以 后 的 项 部 分 列 极 限 必 须 相 等 才 能 成 为 数 列 极 ...

最新文章

  1. 浏览器及时感知服务端数据变化的方式
  2. java内存溢出排查jstack_Java命令行监控工具(jmap,jstack,jstat,jinfo,jps)
  3. 全球及中国太阳能光伏发电产业规模容量调研及投资可行性研究报告2021-2027年
  4. QT学习笔记(2)----- QT安装教程
  5. 项目中cxf和weblogic整合时报错的问题
  6. python: 使用socket实现局域网不同主机通信。解决ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。
  7. linux下 c语言 用write open二进制写文件,Linux下用C语言fopen、fread和fwrite函数对二进制文件的操作-Go语言中文社区...
  8. 全数字实时仿真平台SkyEye的同步数据流语言可信编译器的构造
  9. html ajax 双引号的问题
  10. 图解算法之排序算法(4)——堆排序
  11. Vue购物商城项目(二) 数据请求使用
  12. 「每天一道面试题」AQS是什么?了解其内部同步队列实现结构吗?
  13. 数字电子技术第二章--逻辑代数与逻辑函数化简
  14. TX2(linux系统、Ubuntu系统)输入法不显示拼音候选框、下拉框
  15. autojs读取文字_Auto.js 获取识别图片文本
  16. Java基础Day05
  17. 将英文字符串转换为数字
  18. linux系统下 usb网卡的驱动安装
  19. iphoneipad图标尺寸
  20. 高等数学之极限的原理及易错题计算

热门文章

  1. linux安装mysql后如何连接_Linux安装mysql后开启远程连接(记录相关命令)
  2. python批量将pdf转成word_如何用Python把pdf转换成word
  3. ROS----龟界三角恋
  4. SQLite | Insert、Delete、Updata 与 Drop 语句
  5. 使用Mfuzz包进行基因表达的时间趋势分析并划分聚类群
  6. Acoustica 7 Premium Edition for Mac(音频处理软件) v7.3.28
  7. 生成器 python0 1 8 27 64_python 生成式和生成器
  8. 【三】Java运算符
  9. jquery触发点击事件
  10. Windows辅助开发笔记-辅助开发逻辑思路