【如此简单!数据库入门系列】之学霸数据库(3) -- 数据库基本原理


回顾

接上集故事【如此简单!数据库入门系列】之学霸数据库(2)


三明治

在这里插入图片描述

我接着看幻灯片内容:

数据库系统通过具有以下功能来满足这些要求:

  1. 通过视图指定外部模式的能力
  2. 通过语言编译器/解释器,将用户在概念表上的查询转换为物理文件上的可执行代码
  3. 通过查询优化器,将低效的查询转换为更高效的查询。

视图?外部模式?概念表?物理文件?看得我一头雾水。

“学霸,老师讲的有点跳跃啊,这都是啥意思呀?”我疑惑地问。

“看来你是一点基础都没有啊!还是拿我记笔记这件事来慢慢给你解释吧!”

“还记得我提到的速记法吗?这相当于一种物理模式,描述了如何实现数据库。“

“至于概念模式,你应该熟悉呀,就是上过哪门课,每门课有哪些章节,每个章节有哪些知识点。概念模式,描述了数据库中有什么数据。”

“还有外部模式,这个得多说两句。每个同学关心的问题大多都不一样。比如,学渣关心背会哪些知识点就能考及格,而学霸关心掌握哪些难点可以考高分。也就是说,外部模式描述了特定用户希望如何查看数据。”

“外部模式,概念模式,物理模式,从上到下构成数据库系统的三层体系架构。数据库的工作原理,就是将用户的外部模式的请求,自动转换成概念模式,进而自动转换成物理模式。”

“这么说有点抽象,拿笔记来说吧。你上课前问了我一个关于本次考试重点的问题,这就是外部模式的请求。我将它转换成概念模式,即本次考试包含的章节、每个章节包含的重点、以及这些重点的优先级顺序。进一步我再将它转成物理模式, 我先在脑中构思大致结构,然后顺着索引,快速查阅笔记,最后将答案汇总在一张纸上。“

我突然说:“原来如此!这样就把整个流程都串起来了。”

学霸立刻打断我:“别高兴太早,重点我还没说呢。”

“你先等等,这段内容老师讲义上可没有,我赶紧先记下来。” 我打开自己的笔记本,快速地写下几行文字。

数据库三层体系架构:

  • 物理模式描述了如何实现数据库
  • 概念模式描述了数据库中有什么数据
  • 外部模式描述了特定用户希望如何查看数据

为了独立

“我记完了,你接着说。“

”你写得太慢了,就不能提高点效率吗?想不想学我的速记法?“ 他幸灾乐祸地说。

“得了吧,我可没工夫学那玩意。我有问题直接问你不就好了吗?”

“你还挺有自知之明。”

“赶紧往下接着说呀!” 我着急地说。

“好吧,刚才说到哪了?对了,通过视图来定义外部模式。视图其实是SQL中的一种对象,SQL是一种关系数据库的高级查询语言,关系数据库是一种… ” 他突然停了下来。

“这就是为什么我不愿意回答学渣的问题,为了解释一个问题,又引出一堆问题。反正,你就先记着,视图是高级接口的一种用法。”

“没事,我先记下来,回去我补一下功课。” 我谦虚地说。不对呀,今天不是刚上数据库的第一节课吗!你当我们人人都跟学霸一下,什么都会吗?先不管了,还是接着听他讲完吧。

“还记得概念模式转成物理模式吗?数据库系统中的语言编译器/解释器,就是负责这种转换的,它将概念上的表的查询转换为物理文件上的执行代码。表是关系模型中关系的概念。" 他突然又停顿了一下,然后接着说:” 至于关系模型吗,以后有时间我再跟你解释。”

“SQL?关系模型?我先记下来,以后有时间一定要给我讲清楚啊!”

“现在不了解SQL和关系模型都没关系,不影响你理解三层架构。“

他接着说道:“ 把数据库系统分成三层,用户不会直接和物理模式交互,这叫做物理数据独立性。”

“这个我知道,就像我不需要看懂你的笔记一样。我需要答案时,直接问你就行了。” 我得意地说。

“你终于有点开窍了!” 他接着说:“这么做有三点好处。”

“第一,让数据库更容易使用。”

“第二,物理模式更改不影响用户,比如哪天我又发明了一种速写法2.0,对你们来说没有影响。”

“第三,查询可以自动优化,比如我可以把你们的问题转化为更高效的等价查询方式。也就是老师讲义上说的查询优化器的作用。”

“有了前面的铺垫,这些确实不难理解!”

“别着急,我还没说完,更进一步讲。” 他打断我,继续说道。

”让用户拥有外部模式,这叫做逻辑数据独立性。这样做也有三个好处。“

“第一,用户可以得到一个定制模式。”

“第二,概念模式更改不影响用户。”

“第三,防止用户访问未授权的数据。”

"这个也不难理解,比如 … " 我还没说完,下课铃声突然响起。

“先停一下,我的脑子有点蒙了,你讲的太多我有点记不住了。“ 我赶紧打开自己的笔记本,快速写下几行字…


总结

学霸数据库的故事告一段落,让我们来回顾一下核心知识点。

什么是数据库和数据库系统?

  • 数据库是存储在计算机上的数据的集合。数据库中的数据通常以记录的形式组织起来。
  • 数据库管理系统(数据库系统)是一种管理数据库中的记录的软件。

数据库系统基本要求:

  • 它必须提供一个容易交互的高级接口,以便用户安全地操作数据
  • 它必须能够处理大型数据库,这些数据库的数据必须存储在持久化设备上(通常性能较慢),同时保证合理的请求响应时间(通常利用缓存)
  • 面对系统崩溃或相互冲突的用户更新请求时,它必须确保数据的准确性和完整性

数据库系统通过具有以下功能来满足这些要求:

  1. 以一种比文件系统提供的更高效的存储格式,将记录存储在持久化设备中
  2. 通过复杂的算法实现索引文件中的数据,从而支持快速访问
  3. 能够在内存中缓存数据库记录,并同步数据库的持久化版本和内存版本,在系统崩溃时将数据库恢复到一个合理的状态
  4. 能够处理来自网络的多个用户的并发访问,在必要时阻塞用户操作
  5. 支持更新提交和回滚
  6. 能够对用户进行身份验证,并防止他们访问未经授权的数据
  7. 通过视图指定外部模式的能力
  8. 通过语言编译器/解释器,将用户在概念表上的查询转换为物理文件上的可执行代码
  9. 通过查询优化器,将低效的查询转换为更高效的查询。

数据库三层体系架构:

  • 物理模式描述了如何实现数据库
  • 概念模式描述了数据库中有什么数据
  • 外部模式描述了特定用户希望如何查看数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

架构师昌哥

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值