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


回顾

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


速记法

在这里插入图片描述

"你还没回答我第二个问题呢。你是怎么做到盲写笔记的?"我小声问道。

“一种秘制的速记法,一种特殊的记录方式。”

“什么?好好的中国字你不写,非要弄出个自己的速记法,闲得没事做吗?”。

他又是一边盯着幕布,一边记录笔记。过了一会儿,他才小声地说:“这就是速记法厉害之处!我可以将文字在脑子里进行转换,然后以一种特殊符号形式记录在纸上,因为这种符号专门为快速书写而设计,经过大量练习,完全可以做到盲写,这样可以大幅提高记笔记的效率。其实,不光是课堂笔记,包括读书笔记、开会笔记,都可以用这种方式记录,几乎可以做到眼到、心到、手到、笔记到!”

“听着挺玄乎的。不过,我也可以用电脑记录笔记呀,也可以做到盲打,甚至可以记录语音笔记,连手都不用动!感觉你的速记法也不是很有必要。”

“电脑固然可以盲打,虽然提高了单个文字的输入效率,但是记录的基本逻辑本质上没有变化。将一个一个的文字顺序记录下来。需要修改文字时,首先要找到对应的文字进行删除,然后再输入新的文字。这样的效率并不高。录音笔记的缺点就更明显了,记录容易,搜索和修改非常困难。”

“这不是很正常嘛!难道你的速记法在修改效率上能做得更好?”。我一脸疑惑。

“当然,我的速记符号中,除了能代表文字的文字符号,还有代表修改和删除的特殊符号。这样我只用追加的方式就能实现对文字的修改和删除。然后 …”。

“等等,先停一下!什么特殊符号?什么只追加?完全听不懂!但是我感觉,还是用电脑记录更方便一些,利用搜索功能,可以快速找出想要的内容,你这纸质的笔记还得一页一页翻,肯定找起来特别费劲吧”。我得意地说。

“你的问题很有针对性。不过这个问题我早就解决了,我发明了一种索引系统,通过前面几页的索引页,可以快速定位到目标内容的大致位置,然后再用眼睛扫一下,我很快就可以找到任何我想要的东西。”。他一边自豪地说,一边将笔记本翻到索引页给我看。

我的天!索引页比笔记内容更加凌乱,一堆大大小小的奇怪字符挤在一起,还有不同颜色的区分。我唯一能看懂的内容,只有一串串长短不一的数字。

”行行行!算你厉害,看不懂也理解不了你这些奇怪的东西,不过刚才你确实在很短时间内把我想要的考试重点都找了出来,这么看来,你说的倒是有点道理。”

此刻,我抬头一看,投影幕布上的幻灯片已经切换到了下一页,上面写着:

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

  1. 以一种比文件系统提供的更高效的存储格式,将记录存储在持久化设备中
  2. 通过复杂的算法实现索引文件中的数据,从而支持快速访问

看来,学霸为了解决笔记输入、更新和检索效率低的问题,居然自己实现了一套存储格式和索引算法,果然不是一般人!


神秘区域

我转头看了一眼学霸,他似乎在笔记本前后两个固定位置之间来回翻页,时不时还写下 一些东西。

“你这套速记法确实有点东西。不过,像我这样老提问题打断你,会不会影响你记录笔记的准确性呢?”我疑惑地问。

“速度有点影响,但不影响准确性。”

他停顿了一会儿,接着说道:“其实,我并不会把要记录的东西直接写在笔记本上。嗯~ 确切地说,是不会写在当前的位置上,而是记录在一个特殊区域,我把它叫做速记区,然后 …”

“等等!速记区?你用速记法在速记区写下… 我有点蒙!”

“听我把话说完!速记区其实很简单,它唯一的作用就是把我想记的东西以最快的速度写下来,完全不用管好不好看,甚至只记录要点都可以,以防我突然被打断思路,等有时间的时候,我再把速记区的笔记整理到当前位置。就像你刚才问的时候,我并没有立刻回应你,而是快速把内容写在了速写区。这样就保证我不会遗漏任何我想要记录的东西”。

我又看了一眼幕布上的幻灯片:

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

  1. 能够在内存中缓存数据库记录,并同步数据库的持久化版本和内存版本,在系统崩溃时将数据库恢复到一个合理的状态

我好想明白了。当要记录东西时,他先记在脑子里并转换成速记符号,然后以最快速度写到笔记本的速记区域,一有时间,他就会把速记区的笔记整理到合适位置。这样就算被打断,就算忘记刚才的内容,只要看一眼速记区域,就能回忆起来。甚至连笔记本都损坏了,只要速记区没事儿,所有笔记都能恢复出来。


概不外借

我接着又看了一眼幻灯片的内容:

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

  1. 能够处理来自网络的多个用户的并发访问,在必要时阻塞用户操作
  2. 支持更新提交和回滚
  3. 能够对用户进行身份验证,并防止他们访问未经授权的数据

等等,多个用户?哈哈,有了!我转头对学霸说:“你这个纸质数据库不支持多用户访问吧?这玩意儿除了你,别人谁能看得懂?”

“你再仔细看看老师的讲义吧!不是数据库,而是数据库系统支持多用户访问,这本笔记本是数据库系统吗?”

额!好像管理数据库的软件才是数据库系统。我反问道:“就算是你,也不能支持多用户吧?”。

“你不是第一个,估计也不是最后一个,跟我借笔记的人。大家都是一样的反应,完全看不懂,到最后只能提一个具体的要求,我再把答案告诉他们。有时候,甚至好几个人同时问我问题,我会要求他们一个一个问,我一个一个回答,你说我支不支持多用户访问呢?”

“那你这也没解决多用户更新冲突的问题呀!哦,不对,别人压根就无法修改你的笔记,你也不允许别人修改吧”。

“哼哼!为了防止别人瞎改,我的笔记从不外借!笔记可是我的制胜法宝。只有信得过的人,我才会回答他们问题。”

“行吧行吧!你这只能算特殊用途的数据库系统。那这个特殊的系统,也不支持更新提交和回滚吧?" 我接着问。

“因为只有我自己才能修改笔记,所以提交和回滚实现非常简单,只要我想提交,记录下来就好啦,只要我想回滚,划掉就好啦。”他一脸坏笑地说。

“你这相当于啥都没说啊!算啦,你这本来就不是一个完整的数据库,我也不为难你了。”


总结

还记得上次遗留的问题吗?如何满足数据库管理系统的基本要求?

这集的故事解释了满足数据库管理系统基本要求的前6项核心功能,还有更高级的几项功能,我们下次再讲。

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

  • 17
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

架构师昌哥

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

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

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

打赏作者

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

抵扣说明:

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

余额充值