目录
一、关系模型
1.一些概念
E-R图三要素:实体(矩形),属性(椭圆形),实体间的联系(直线,中间为菱形)(1:1,1:n,m:n)
超键:在关系中能唯一标识元组的属性集。(数据库表格中,一行为一个元组,一列为一个属性)
候选键:不含多余属性的超键。即:在关系中能唯一标识元组的包含最少属性的属性集。
主键:用户选做元组标识的候选键。
示例:
表格中,一行为一个元组,一列为一个属性。
超键:(id),(id,username),(id,age),(id,job),(id,hobby),(id,username,age), ......
(每一个带id的属性集都可以作为超键)
候选键:id
主键:id
2.关系模型的三个组成部分
数据结构:基本的数据结构是关系
数据操作:提供了完备的关系运算--关系代数和关系演算
数据完整性约束:关系模型的三类完整性规则
3.关系模型的三类完整性规则
实体完整性:主键属性不能为空。
参照完整性:不能引用不存在的实体。
用户定义完整性:符合针对某一关系数据库的约束条件,如属性的取值范围限制。
二、关系代数
1.关系代数五大基本操作
选择():选择一行
投影():投影一列
并():
,结果由属于R或属于S的所有元组组成
差(-):R - S,结果由属于R而不属于S的所有元组组成
笛卡尔积()
2.关系代数扩展操作
交():
,结果由既属于R又属于S的元组组成
theta连接
自然连接
外连接
3.聚合函数
sum:求和
avg:求平均值
max:求最大值
min:求最小值
count:记录数量
示例一:
查询user表中爱好(hobby)为旅行的用户对应的id:(先在user表中选择hobby='旅行'的,选出了第三行和第四行,然后进行投影,投影到id一列,得到的id集合为:{3,4}
示例二:
图书表(书籍编号,书籍名称,价格),学生表(学号,姓名,性别),图书借阅表(学号,书籍编号,花费)
1)查询借阅了书籍编号101的书籍的学生姓名:
2)查询学号为“001”的同学借阅图书的花费总额:
3)查询张三同学借阅书籍的平均花费:
4)查询借阅了数据库的女生姓名: