数据库学习笔记之关系模型
关系数据库的结构
关系型数据库是表的集合
数据库概念与数学概念的对应关系
数据库 | 数学 |
---|---|
表(table) | 关系(relation) |
行(raw) | 元组(tuple) |
关系是元组的集合,即表是行的集合
码(key)
- 超码(superkey)是一个或多个属性的集合,可以唯一标识一个元组
- 候选码(candidate key):真子集不能成为超码的超码
- 主码(primary):用来在同一关系中区分不同元组的候选码
关系代数基本运算
一元运算
- 选择运算(selection)
选择运算选出满足给定谓词的元组
选择运算σ p(r)
p是命题表达式,用∧ (and), ∨ (or), ¬ (not)串起来,如
σA=B ^ D > 5 (r) //选出A属性等于B属性且D属性大于5的关系r中的元组
σ dept_name=“Physics”(instructor)
mysql> select * from loan where branch_name="Perryridge";
+-------------+-------------+--------+
| loan_number | branch_name | amount |
+-------------+-------------+--------+
| L-15 | Perryridge | 1500 |
| L-16 | Perryridge | 1300 |
+-------------+-------------+--------+
2 rows in set (0.01 sec)
- 投影运算(projection)
投影运算返回作为参数的关系的某些属性(去除重复行)
投影运算ΠA1,A2,…..Ak(r)
ΠID, name, salary (instructor) //选出instructor中ID,name,salary三个属性
默认去重
mysql> select loan_number,amount from loan;
+-------------+--------+
| loan_number | amount |
+-------------+--------+
| L-11 | 900 |
| L-14 | 1500 |
| L-15 | 1500 |