这里开始有些知识要看几遍才能懂的了
今天晚上睡前想看看数据结构,所以今天的学习总结先咕。。。。。(1.20)
关系(Relation):
D1*D2*D3…….Dn的子集叫作在域D1,D2,….Dn上的关系,表示为R(D1,D2,….Dn)
R为关系名字,n为关系的目(度)n=1单目关系,n=2二目关系,关系为笛卡尔积的有限子集,关系也是二维表(笛卡尔积可表示为二维表)
如
D1=name={mike,john,alex};
D2 =major={CS,ART};
D1*D2笛卡尔积为{mike,CS},{mike,ART},{john,CS},{john,ART},{alex,CS},{alex,ART};
基数为6(3*2);
笛卡尔积的二维表为
Name | major |
mike | CS |
mike | ART |
john | CS |
john | ART |
alex | CS |
alex | ART |
可选取其中一个子集构建关系
Name | major |
mike | CS |
john | CS |
alex | CS |
2.3.3 传统的集合运算
1.并
关系R,S;R∪S为={t|t∈R∪t∈S},t为关系变量;结果认为n目关系
2.差
R-S={t|t∈R∩t不属于S}
3.交
R∩S为={t|t∈R∩t∈S};
3.2.4 专门的关系运算
1.选择(限制)
逻辑表达式F,就可由多个逻辑符号所组成,对元组里的元素进行判断,并且选择使F结果为真的所有元组t,
具体的应用实例为
3.投影
R关系上的投影是从R中选取若干字段名组成新的关系。
记作
3.连接
就像把两个关系的笛卡尔积中选取属性满足一定条件的元组
就像:R与S关系中都有一个name属性,则我们把name属性相同的元组,作笛卡尔积R*S组合成一个新的表
有等值连接和自然连接两种
4.除运算
3.3 关系模式的规范化
规范化的核心思想为表中每个决定因子都必须是候选键,若不满足,可以把表分成两或多个满足条件的表。
“关系模式有冗余问题就分解它”
函数依赖:
给定一个属性的值可以唯一确定(查找到)另一个属性的值,如从学号可查找到系别,则称系别函数依赖于学号,并且是对所有系别都是函数依赖于学号,不仅仅指只有一个系别的记录。学号 称为决定因素,系别称为依赖因素。
1)(非)平凡函数依赖
这里有比较详细的解答
https://www.zybang.com/question/655bc4cdd92119fab0acec5cfad04225.html
2)完全、部分,传递函数依赖 1NF,2NF,3NF,BCNF
这里的解释我觉得不错,就引用一下吧