在数据管理技术发展的三个阶段中,数据共享最好的是(  )。

说白了,C选项之所以是正确答案,其实很简单。
数据管理的发展经历了三个阶段:人工管理阶段、文件系统阶段和数据库系统阶段。
先说最重要的,数据库系统阶段结构简单,使用方便,逻辑性强,物理性少。
比如,去年我们跑的那个项目,数据库系统就大大提高了数据处理的效率,大概3 000量级的数据处理起来游刃有余。
另外一点,这个阶段的数据库系统能够实现数据的集中管理和共享,这在文件系统阶段是难以想象的。
还有个细节挺关键的,数据库系统在数据安全性、完整性、并发控制等方面都有很好的表现。
我一开始也以为文件系统阶段就足够了,但后来发现不对,随着数据量的增长和业务复杂度的提升,数据库系统的重要性愈发凸显。
等等,还有个事,虽然数据库系统表现优秀,但过度依赖也可能导致性能瓶颈,所以使用时还需注意优化。

所以,我觉得数据库系统阶段的数据管理方法值得推崇,但也需要注意它的局限性。

数据库发展的三个阶段

说白了,数据库的发展历程其实很简单。
先说最重要的,2 0世纪5 0年代中期以前,数据管理完全是人工的,那时候计算机的功能仅限于计算。
另外一点,到了5 0年代后期到6 0年代中期,随着硬件的进步,出现了磁盘、磁鼓等存储设备,软件方面也有了专门的数据管理软件,这就是文件系统管理阶段。
还有个细节挺关键的,6 0年代,硬件价格下降,软件价格上升,这时候,人们需要更高效的联机实时处理,于是数据库管理系统应运而生。

我一开始也以为数据库就是简单的电子文件柜,后来发现不对,它是一个多用户共享、低冗余、独立于应用程序的数据集合。
等等,还有个事,一个数据库由多个表空间构成,这是它的基本结构。

所以,如果你打算涉足数据库领域,记得这三大阶段,还有,别忽视表空间这个关键点。
我觉得值得试试,先从理解数据库的基本概念开始。

数据库发展的三个阶段

记得大学时候,帮老师整理一批学生成绩,那时候还是用那种厚厚的表格,每个人名和分数都手写,改起来特别麻烦。
那时候真没想到,这背后是数据库的早期雏形——人工管理。

人工管理那会儿,数据量少得可怜,可能就几百条记录。
数据和程序是绑在一起的,你要查询某个学生的成绩,就得写一段专门针对这个学生的代码,换个人就又要重写。
数据不保存是常态,算完结果直接打印出来,第二天可能就找不到了。
程序员得像个修理工,既要懂逻辑结构,又要懂物理存储,累得要死。

后来有了文件系统,磁盘容量上来了,数据开始用文件保存。
比如学生成绩存成一个.txt,老师工资存成另一个.txt。
程序通过文件名找数据,不用管具体在哪块磁盘上。
这时候数据可以保存很久了,但问题也来了:同一个学生,可能既在成绩文件里,又在奖学金文件里,数据重复得厉害。
要是两个老师用不同版本的成绩文件,数据就乱套了。

再后来就是数据库系统。
我实习那会儿,公司用的是Oracle 8 i,数据库管理员天天在调优SQL语句。
数据关联起来了,一个学生既能在成绩表里,又能出现在选课表里,查询的时候随便写条JOIN语句,几秒钟就出来了。
最神奇的是,程序根本不用知道数据是怎么存的,数据库会自己搞定索引、备份、恢复。

不过话说回来,现在云数据库那么火,感觉又到了新阶段。
分布式架构、NoSQL这些,是不是又要把程序员拉回那个修理工的角色?等等,好像看到某篇报告说,现在企业数据量又翻了几百倍,比当年人工管理那会儿还夸张。
这循环往复的,数据管理这事儿,是不是永远也玩不腻啊?