零基础科普 | 我们为什么需要数据库?(二)


接上文: 零基础科普 | 我们为什么需要数据库?(一)

先讲一个故事

作为学院的教秘老师,你收到了一张表格,是所有学生的成绩单(暂时不考虑实际有多大,假设只有三个学生,每人只有三门课程),需要你帮忙用计算机录入一下
在这里插入图片描述
聪明的你想偷个懒,马上发现了这个表格存储的问题:

  1. 每个学生的信息被存储了多次,浪费了空间,于是你想到一个好主意:反正学生与学号一一对应,你只需要存一个学生信息表,成绩单中只要保留学号,不会造成任何信息损失,于是表格变成了这样。
    在这里插入图片描述
  2. 聪明的你还发现一个问题,如果可以给课程编个号,就不需要打这么多字,也不用这么多次。于是,表格被简化成了这样。
    在这里插入图片描述
  3. 聪明的你觉得还不够,发现了一个问题,如果可以存一个学院的表格多好,这样连学院也不用出现很多次了。这下,表格变成了这样。
    在这里插入图片描述
  4. 这样发现有个问题,简单是简单了,但万一别人看不懂01、02、03不知道去哪里对应怎么办,你灵机一动,加了几个箭头表示这几个表之间的关系,这样就不会有任何问题了。
    在这里插入图片描述
  5. 如果你70年代初参加工作,能够想到这一步,恭喜你,你已经接近图灵奖了!这里用到的,就是上文提到的E.F.Codd的关系模型。剩下的,就是如何开发这样一个的软件了。

回顾一下前文说过的好处

数据库将零散的数据组织起来,让数据变得结构化,易于管理和分析,数据不再是平铺的,而是有结构的了。这样大家就可以理解,数据库对于数据管理的方便之处了。为了方便下面的描述,我们把四个表分别叫做:学生表,课程表,院系表,综合表。

  1. 我们需要导出全校课程表,只需要连接一下院系表和课程表:
    在这里插入图片描述
  2. 我们需要所有学生的平均绩点,只需要连接一下学生表和综合表,然后再求平均值就可以了(大家可以理解所需信息是足够的,先忽略求平均值怎么操作)
    在这里插入图片描述
  3. 我们需要还原完整的表格,只需要先把课程表和院系表连接,然后再把连接后的表格与综合表连接,最后连接学生表即可,可惜这里空白的地方太小,我写不下了。
    在这里插入图片描述
    (图片来自网络,为数学家费马)

总结全文

你体会到(关系)数据库对数据的管理了吗?
在这里插入图片描述
(图源网络,侵删)

猜你喜欢

转载自blog.csdn.net/weixin_43997331/article/details/123387358