如何学习数据库——关于思考方式的反思

如何学习数据库——关于思考方式的反思

今天遇见了一件启发性的事。我吐槽数据库学了挺久,还是感觉晕乎乎的。结果对方思考片刻之后,问了我一连串问题。为什么要学数据库?学习数据库是什么用的?要学习数据库的哪些方面?

这可是把我问住了。我学了这么久,却还没花心思把这些事情搞明白。

同时我也吃了一惊。后来发现对方是从没学过数据库的,可是却能在第一次接触(指和我的对话)时思考这些问题。这也让我明白他为何被公认为一个学习能力超强的人。

路上我们讨论这些问题的答案,我提出很多看法:

“数据库是用来长期存储数据用的。”

“可是Java不是也能存储数据?而且序列化功能还能直接把数据转换成对象来用,他不香吗?”

“…那数据库擅长存储大量数据。”

“Java之类的语言也可以啊。调用几个方法,写几句代码不就搞定了。”

“哦对,数据库可以设置权限,不同人只能访问特定范围的文件。”

“这也没什么,其他语言存储的时候加个密之类的,也可以实现。”

“啊这… 确实没毛病。”

开始思考这些问题后,我仿佛从乱糟糟的知识迷宫里原地起飞,开始从空中寻找迷宫的出路。这比起摸着墙找路实在是舒服太多了。

那么,究竟为什么要学数据库呢?

数据库存在的意义

回来之后我查了下资料。

数据库有哪些特点?

(1)实现数据共享。

数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享。

(2)减少数据的冗余度。

同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文件。减少了大量重复数据,减少了数据冗余,维护了数据的一致性。

(3)数据的独立性。

数据的独立性包括数据库中数据库的逻辑结构和应用程序相互独立,也包括数据物理结构的变化不影响数据的逻辑结构。

(4)数据实现集中控制。

文件管理方式中,数据处于一种分散的状态,不同的用户或同一用户在不同处理中其文件之间毫无关系。利用数据库可对数据进行集中控制和管理,并通过数据模型表示各种数据的组织以及数据间的联系。

(5)数据一致性和可维护性,以确保数据的安全性和可靠性。

主要包括:①安全性控制:以防止数据丢失、错误更新和越权使用;②完整性控制:保证数据的正确性、有效性和相容性;③并发控制:使在同一时间周期内,允许对数据实现多路存取,又能防止用户之间的不正常交互作用;④故障的发现和恢复:由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏。

点击查看:完整版通俗易懂的介绍。

以往在教科书的开头常常也能看见这些基础介绍,可总是觉得啰嗦。学了段时间,回过头再看,方觉文字内涵深刻。

或许换种规划方式能让教科书更加合理。又或者,读者自己养成一些思维习惯,在学习一开始就尝试俯瞰知识,一眼给它望到底。

那么,所谓的“学习数据库”,究竟学的是什么呢?

学习数据库的哪些方面?

这点,我们由表及里地说。

数据库的使用

首先便是学习如何用数据库。即如何用数据库语言操作数据库。

这点大概是最容易的一步了。大概是学习语法知识以及一些API的用法。方法就是查资料(手册、书籍、看博客),然后实践练习,就能越来越熟练。接下来就能去关心下一层的事情了。

数据库是如何实现的

接下来可以思考数据库是如何实现它的各种操作的,开始关心较底层的东西。

在进一步理解每个操作的底层实现原理之后,写出来的代码的性能就会更加的优化,结构更加清晰,运行速度更快,程序的表现也就更好。大佬的养成关键就在于此。

更进一步

更进一步呢?或许是最底层的物理实现,上一步的衍生。 我还没有其他类似领域能拿来作为参考的例子。更深的答案需要从大佬的书籍中寻找。可以由浅入深地去看相关书籍,一步一步,最终必能抵达目的地。

参考资料

简述数据库的重要性、作用及意义
如何学好数据库

猜你喜欢

转载自blog.csdn.net/weixin_39591031/article/details/110507437