学习数据库需要怎样的离散数学基础?

2021-07-14 14:16:15 +08:00
 huzhikuizainali
学习五种基本运算来合成除法的目的是什么?未来在数据库设计和使用过程中哪种场景会用到这些知识?目前的 DBMS 还不支持用 sql 语言直接实现除法操作?还需要使用者自己造轮子?

sql 语言不已经是高级语言了?为什么讲数据库理论还需要用关系代数来描述很多例如“外并操作”这些关系数据库具体操作内容?当实际工作中遇到需要强行并两张表的问题时,直接用对应的 sql 语句实现不就好了。就好比日常用 excel 时张三遇到需要并两张表的问题,张三不需要知道关系代数的理论。它只需要知道 excel 通过 1 、2 、3 哪些步骤实现上述目标不就可以了?

简而言之,并表这种很具体很形象的现实问题,为什么非要用关系代数这种抽象方法来描述??难道是要为造轮子做准备?

《数据库系统基础教程》使用说明部分提到要求学过:数据结构,算法,离散数学。所以这本书中用到非常多离散数学的知识?需要先把离散数学的知识系统学一遍么?数据库中用到离散数学的内容主要是用于描述问题?还是为了像编程那用解决具体问题?
513 次点击
所在节点    数据库
1 条回复
zhangysh1995
2021-07-26 14:40:12 +08:00
关系代数 /关系演算是描述关系型数据模型的基本理论,用途不仅限于解释如何使用 SQL,还包括 SQL 的理论基础(语义),SQL 与关系代数的等价,SQL 基于关系代数的优化等。
这些知识只是使用并不需要知道,但是如果涉及到优化,debug 就需要了。
SQL 发明是后于关系代数的。
建议贴主重新看一下数据库系统概念等外国教材。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/789472

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX