全部内容
重新认识SQL: 一种历史视角
目标更深入理解 SQL/RDBMS 历史知其所以然强调历史视角在认知事物时的意义目录E.F. Codd: Relational Data Model (1970)System R (1974 ~)Database Timeline认知模型中的历史视角E.F. Codd: Relational Data Model Edgar F. Codd (1923 ~2003), 发明了关系型数据库 (RDBMS) 以及构建了关系型数据库的理论基础,与 1981 年获图灵奖。 E. F. Codd 于 1970 年发表了一篇里程碑式的论文: A Relational Model of Data for Large Sha…
关系数据库(Relational Database)中的“关系”这个词来源于数学中的“关系代数”(Relational Algebra)。关系数据库的基本概念和理论是由数学家和计算机科学家E.F. Codd在1970年提出的。在这里,“关系”指的是一个由元组(tuples)组成的集合,每个元组包含了一组属性(attributes)。在关系数据库中,关系通常表示为一个二维表,其中每行是一个元组(即表中的一行数据),每列是一个属性(即表中的一个字段)。 关系数据库…
第三章:关系代数与关系数据库理论
一.引言以关系模型为基础的关系数据库是目前应用较为广泛的数据库。关系模型建立在数学理论的基础上。关系数据库的规范化理论是数据库逻辑结构设计的理论指南。二.关系模型及其定义1.关系模型的基本要素关系模型是数据库使用的一种典型数据模型。 在关系模型中,其数据结构为具有 一定特征的二维表。候选码(Candidate key):若关系中的某一属性或属性组的值能唯一地标识一个元组,则称该属性或属性组为候选码(Candidate key)。主…
关系代数
关系代数是抽象的查询语言。它用关系的运算来表达查询。(学会如何使用数据) • 关系代数运算符运算符含义集合U并运算符一差∩交×广义笛卡尔积运算符含义专门的σ选择关系兀投影运算符∞连接÷除辅助的 运算符含义>大于比较≥大于等于运算符<小于≤小于等于=等于≠不等于运算符含义逻辑∧与运算符∨或非 1. 传统的集合运算设关系R和关系S具有相同的目n(即两个关系都具有n个属性),且相应的属性取自同一个域,则可以定义并,…
关系代数中的双目运算包括并、交、差、笛卡尔积等,而投影操作是一元运算。在优化查询语句时,可以将投影操作与其前或后的双目运算结合起来,以减少计算量和提高效率。 例如,在以下关系R(A,B,C)中: | A | B | C | |---|---|---| | 1 | 2 | 3 | | 4 | 5 | 6 | 如果要查询A=1且B=2的记录,并只返回C列,则可以使用如下两种方式: 1. 先进行选择操作再进行投影操作 π
C
(σ
A=1 ∧ B=2
(R)) 这种方式先对整个…
[图片] 昨天一个很久不联系的女同学,突然问我一个技术问题。怎么通俗地理解数据库理论知识里面关系代数的除法运算?我挺好奇她问这个干嘛?原来是她转行做了码媛,在准备软考,而这个问题她一直理解不透。 原来如此,其实我也忘记差不多了。经过一番复习,给她讲了原理和运算步骤,结果她还是一脸懵逼。吐槽说我也是百度来的。 想了一阵后,我问她,“这么多年,你找对象了吗?” 她反问,“你问这个干嘛?” 我说,“你回答就是了,有…
【动画解释】关系数据库de关系代数小记
本文章在 Github 撰写,同时在我的博客 进行了发布 强烈建议在咱的博客 进行浏览,知乎这里不支持折叠块和markdown表格渲染,加上奇怪的排版,可能有点不便于浏览。 最近学数据库概论学到了 关系数据库的关系代数了。哎嘛,真的把我整晕了,尤其是关系代数的使用,很容易让人被蒙在鼓里。 [图片] 对我来说槽点最大的莫过于书上的例子不多了,本来就挺抽象的一种查询语言,加上没有足够多让我懂的例子(不过我本来也比较迟钝了),真的是难上…
在关系代数中,投影运算是指从一个关系中选择部分列,生成一个新的关系,其中只包含被选择的列。例如,给定一个关系R(A, B, C, D),如果我们想要从中选择A和B列,生成一个新的关系,则可以使用投影运算π(A,B)(R)。 在优化关系代数表达式时,我们可能会把投影运算与其前面或后面的双目运算结合起来,以减少计算的成本。这种结合方式被称为“投影同其前/后的双目运算结合”。 具体而言,投影运算和双目运算(如选择、连接等)结合…