\[Chapter 1. \quad 绪论 \]
数据库发展史
人工管理阶段(1950) \(\Rightarrow\) 文件系统阶段(1950-1960) \(\Rightarrow\) 数据库系统阶段(1960-)
数据库管理系统(DBMS)的出现,使得数据存储、数据管理和数据应用分离。
数据库管理系统采用外模式-模式-内模式的三级模式,外模式/模式和模式/内模式的两级映象结构。
数据模型
定义:是数据及其联系在计算机中的表示和组织形式的描述。
组成三要素:数据结构,数据操纵,数据完整性约束。
经典模型:层次模型(有根树),网状模型(有向图),关系模型。
关系数据结构
关系代数
A set of fundamental operations to retrieve and manipulate tuples in a relation.
These operations take one or some relations as inputs, and outputs a new relation.
并、交、差、笛卡尔积与集合运算相似。
选择(Select)
行视角,选择出符合条件的若干元祖集合。
符号: \(\sigma_F(R)\)
举例: \(\sigma_{Name = 'qaq'}(R)\)
SQL写法: SELECT * FROM R WHERE Name = 'qaq'
投影(Projection)
列视角,选择出若干属性列组成新的关系。
符号: \(\Pi_{A_1, A_2, ..., A_m}(R)\)
举例: \(\Pi_{Name, id}(\sigma_{Name = 'qaq'}(R))\)
SQL写法: SELECT Name, id FROM R WHERE Name = 'qaq'
投影运算会把新关系中的重复行删去(集合的不可重原则)。
连接(Join)
符号: \(R \Join S _{A \theta B}\)
其中 \(A, B\) 是 \(R\) 与 \(S\) 上的度数相等且可比较的属性组,\(\theta\) 是比较运算符。
SQL: SELECT * FROM R JOIN S USING (ATTRIBUTE1, ATTRIBUTE2, ...)
若 \(\theta\) 为 \(=\),则叫做等值连接。
自然连接是一种特殊的等值连接,只不过是在等值连接的基础上去掉结果中重复的属性列。