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

0 前言

本文通过一个实例,来讲解数据模型的基础概念。

要求设计一个数据库的数据模型,统计出你的宿舍每个人(4个人)的信息,要求包括

  • 个人信息:学号、姓名、班级、年级、学院
  • 选课情况:学号、课程号、课程名称、学分
  • 获奖情况:学号、获奖内容、颁发单位

1 抽象:人类世界与计算机世界之间的“中转站”

在这里插入图片描述
所谓抽象,就是将现实问题,转换为抽象模型,然后据此,翻译为计算机语言,抽象模型众多,抽象方法众多,不具体展开,只需有一个抽象的概念即可,在不同领域会有不同的抽象方法。

2 众多抽象模型之一:数据模型

数据模型,是对现实世界的数据,进行抽象,我们举个例子,就用开篇中的一个问题。

个人信息:学号、姓名、班级、年级、学院

我们把这个问题,进行抽象,得到的结果如下(答案不唯一,这只是其中一种结果,事实上,对于抽象结果,是没用答案的,只要好用就行)

在这里插入图片描述
是的,我们将文字,抽象成了一个二维的表格

这种模型,就是数据库最重要的模型:关系模型,这个过程,就是关系模型的构建。

该模型的数据结构,就是关系结构,它包含的操作,有增、删、改、查等,同时还会有一些约束,这里不展开。

关系模型,只是数据模型的一种,其他的还有

  • 网状模型:本质就是
  • 层次模型:本质就是
  • 面向对象数据模型
  • 对象关系数据模型
  • 半结构化数据模型

有各种各种的数据模型,只需要了解即可,重点关注关系模型

3 关系模型的细节

关系模型,可以分成列和行两个重要的属性。

列包含了实体的属性名称及其数据类型
在这里插入图片描述
行(row)是数据行,包含了各种各样,符合列(column)要求的数据。
在这里插入图片描述

4 将数据模型进一步抽象:概念模型

这里,我们对之前谈及的几种关系模型(网状、层次、关系模型……),进行进一步的抽象,让你理解概念模型

将几种具体的关系模型,抽离出它们的共性,组合为一个类,这就是抽象过程,得到的结果就是概念模型,它有以下重要的概念。

  • 实体:现实世界的东西,客观存在并且可以相互区别的事物,比如我们刚才说的,学生个人信息就是一个实体,基本来说,几乎你能够知道的现实世界的所有东西,都可以作为实体,甚至看不见的但是客观存在的,也是实体,比如“我和学校的关系”(我在学校学习)。
  • 属性:实体所具备的特性,比如学生个人信息有学号、姓名、班级……,这些就是实体的属性
  • key:被称为 “码”或者“键” ,它是能够唯一标识实体的属性,比如学号就是key
  • 实体型
  • 实体集
  • 联系

5 抽象过程

之前是为了讲述知识,但这并不是实际的操作过程。

我们将概念模型称为第一层抽象,将各种数据模型称为第二层抽象,正确的操作顺序应该是这样的。

在这里插入图片描述

6 学习过程

对于初学者来说,学习过程与正常开发设计过程是不一样的

学习过程应该是:

  1. 先会使用基本的SQL语句进行简单数据的创建
  2. 再结合关系模型,以及关系模型的理论,进行进一步研究
  3. 理解关系模型的数学观念,比如笛卡尔积等等
  4. 结合概念模型,完善之前学会的内容
  5. 新的实战,继续重复上面的步骤
  6. 如果你足够熟悉了,那么,可以按照正常的开发顺序进行了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

XV_

感谢您的认可,我会继续努力!

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

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

打赏作者

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

抵扣说明:

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

余额充值