作者: | 来源:互联网 | 2023-10-12 14:35
数据库笔记2————关系数据库(关系代数)一.主要内容知识框架二.关系数据结构按照数据模式的三个要素,关系数据模型由关系数据结构,关系数据操作,和关系完整性约束3部分组成。
数据库笔记2————关系数据库(关系代数)
一.主要内容/知识框架
二.关系数据结构
- 按照数据模式的三个要素,关系数据模型由关系数据结构,关系数据操作,和关系完整性约束3部分组成。
1.关系的定义
a.域
- 定义:一组具有相同数据类型的值的集合。
- 例
D1 = {丁中, 王芳 ,李兵};
D2 = {男,女};
D3 ={17,18,19};
b.笛卡尔积
- 定义:A×B={(x,y)|x∈A∧y∈B}
- 例
D1XD2XD3={
(丁中,男,17)(丁中,男,18)(丁中,男,19)(丁中,女,17)(丁中,女18)(丁中,女,19)
(王芳,男,17)(王芳,男,18)(王芳,男,19)(王芳,女,17)(王芳,女,18)(王芳,女,19)
(李兵,男,17)(李兵,男,18)(李兵,男,19)(李兵,女,17)(李兵,女,18)(李兵,女,19)
}
c.关系
- 关系的定义:从笛卡尔中抽出一个子集,可以构成关系。
- 其他相关概念:
- 元组:关系中的元素
- 候选键:关系中某个属性的值能够唯一识别一个元组。
- 主键:选定候选键中的一个属性作为识别元组的键
- 例
从上面笛卡尔积中选出一些元组作为关系
{(丁中,男,19),(王芳,女,17),(李兵,男,18)}
2.关系的性质
- 任意两个元组(行)不能完全重复
- 关系中的元组(行)的次序是不重要的,可以任意交换
- 关系中的属性(列)的次序也是不重要的,可以任意交换
- 同一列中的分量必须来自同一个域。
- 属性必须有不同的名字,但不同的属性可以来自相同的域。
三.数据结构操作
1.关系中的基本操作
- 主要是查询,和增删改数据更新这两个部分
- 查询中包括:选择,投影,连接,除,并,交,差,笛卡尔积等
2.关系数据语言
- 关系代数:是用对关系的运算来表达查询要求的方式
- 关系演算:是通过谓词来表达查询要求的方式
- SQL:介于关系的代数和关系演算之间的结构化查询语言,同时还包括数据定义和数据控制功能。
四.关系的完整性
- 关系完整性分为实体完整性规则,参照完整性规则,用户定义的完整性
1.实体完整性规则
- 规则:若属性A是关系R的主属性(主键),则属性A不可以取空值。
2.参照完整性规则
- 定义:设F是关系R的一个或一组属性,但不是关系R的键。如果F和关系S的主键相对应,则称F是关系F的外键
- 规则:若属性(或属性组)F是关系R的外键,它与关系S的主键相对性,则对于R中每个元组,在F上的值要么等于S中元组的主键值,要么取空值。
例: 主键是斜体,外键用粗体标出
学生(
学号,姓名,性别,
专业号,年龄)
专业(
专业号,专业名)
按照参照完整性,学生关系中的每个元组”专业号”属性只能取下面两种可能
1.空值,表示尚未给该同学分配专业
2.非空:这个值必须和专业关系中某个元组的“专业号”值相同
3.用户定义的完整性
- 规则:由用户自定义进行约束。
- 例
成绩属性范围是0~100,性别属性只能是男女。
4.在进行数据库的操作时,检查约束性的顺序
- 执行插入操作时:先检查实体完整性约束,然后检查参照约束性,最后检查用户定义完整性。
- 执行删除操作时:只需要检查参照完整性
- 执行更新数据时:可以看做先删除然后插入。
五.关系代数
1. 定义
- 关系代数是一种抽象的查询语言,是关系数据操作语言的一种传统表达方式,它是用运算来表达查询。
2.四种基本运算
- 包括:并,差,交,笛卡尔积
1.并
- 定义:R∪S={t|t∈R∨t∈S}
- 例:R∪S
2.差
- 定义:R-S={t|t∈R∧t∉S}
- 例:R-S
3.交
- 定义:R∩S={t|t∈R∧t∈S}
- 例:R∩S
4.笛卡尔积
- 定义:A×B={(x,y)|x∈A∧y∈B}
- 例:A×B
3.四中专门运算
1.选择σ
- 定义: σF(R) = {t|t∈R ∧ F(t)=’真’}
- 例1:对与关系R,查询它A=‘a’的元组,R还是上面的R
σA='a'(R)或者σ1='a'(R)
- 例2:对与关系R,查询它A=‘a’并且B属性大于3的元组
σA='a'^B>3(R)或者σ1='a'^2>3(R)
2.投影π
- 定义: πA(R) = { t[A] | t∈R }
- 例1:输出S的AB两个属性,S还是上面的S
πA,B (S)或者π1,2(S)
πA,C (S)或者π1,3(S)
3.连接
S⋈R(B
a.等值连接:
- 定义:θ为“=”号时,即从S和R中的笛卡尔积中选出AB属性相等的元组
- 例:
b.自然连接
- 定义:一种特殊的等值连接,要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复属性去掉。
- 例:
c.外链接
- 定义:将自然连接舍弃的属性也保存在结果关系中,而其他属性上填上“空值”
- 例
d.左外链接
- 定义:只把左边关系R要舍弃的属性保留
- 例
e.右外链接
- 定义:只把右边关系S要舍弃的属性保留
- 例
4.除
呼~~~~,画的图最多的一个博客,写了一天半,终于完了,撒花。