以后自考的总结在csdn上发表,关于数据库前三章的总结不在重复发表。连接在下面,方便对比学习。
数据库总结
前段时间米老师在三合班讲了数据库第2、3章,每一次米老师讲课总是有满满的收获。不过我感触最深的还是米老师说的学习方法,因为米老师可以运用最少
时间学到最多的知识。这是我梦寐以求的,以后结合自己之前的学习方法和米老师的学习方法,我感觉以后学习应该注意的是。
1、找中心点(也就是语文中的中心思想)
2、细节的知识围绕中心点找联系
3、用旧知识解释新知识。
这种学习方法在第四章学习的过程中得到运用,效果不同凡响啊!下面请听我分析第四章 ——关系运算。
一、中心点。
关系:元祖的集合成为关系。元祖:记录成为元祖。
那么关系也就相当于记录的集合,也就是表。 关系运算我们可以理解成为对表的运算。
ps:这里为什么叫关系而不直接叫表那?
答:因为关系运算是对关系模型的数据操纵,而关系模型属于逻辑设计阶段。当逻辑阶段过渡到物理阶段时才叫表。
二、细节知识点解析
(一)、关系代数
1、传统集合操作。
(1)并(Union)
书中解释: 关系R和S具有相同的关系模式,R和S的并是又
属于R或属于S的元祖构成的集合,记为R U S
本人 解释 :关系模式——属性(列)元祖——记录(行)
理解:并的操作是表两张表合成一张表,去掉其中相同的记
录。既然是表合并,那么列(字段)必须
(2)查(Differnce)
表是R表的真
(3)交(intersection)
理解:找R表和S表中共有的记录生成新的表。新的表
同时是R , S表的真子集。
(4)广义迪卡儿积
乘法:(cartesian product)
理解:两个表中的记录每每组合(数学中有这样的
运算)生成新的表。新生成表的属性(列)是
两个表之和。
除法(division)
理解:就是乘法的逆推,及书中(99页,表4.5
在R表中找到含被除表的属性,然后分离出其他属性生成新的表。
总结:传统的集合操作表的数量发生由2变1.
2、扩充的关系操作。
(1)投影(Projection)
书中解释:这个操作是对一个关系进行垂直分割,消去某些列。
个人解释:对表按照一定的规则分割,消去不符合规则的列。
例如:书97页、表4.2 (d)图 。就是对表R进行分割,只 留C、A列。
(2)选择(selection)
理解:按照一定的规则对表进行水平分割,消去不符合规则的记录(行)。
例如:
书97页、表4.2 (e)图。就是对表R进行水平分割,消去字段B中值小于4的记录。
(3)连接(join)
不做解释:
(4)自然连接(natural join)
理解:自然连接是在连接的基础上推广过来的,自然连 接需要提供连接 条件。自然连接的条件是默认 的及相同属性列中属性值相同的祖(行)进行连接,生成新的关系(表)
例如:99页 表4.4 是从R表B,C列 和S表B,C列中挑 出值相同的行。两两连接。这里需要注意的 是,连接的时候是值相同的每每连接,连接后 消去相同的属性。
(5)外连接(outer join)
理解:在自然连接的基础上加上没有的记录,加的记录缺的属性用null 补上。
左:把左边表中没有的记录加上,缺的属性用Null补上
右:跟左相反。
(6)外部并(outer union)
理解:当两个表合并时,列和行都不想丢失时用外部并。补上时缺的属性用Null。
总结:扩充的关系操作是表的数量可能是1变2 ,也可能是2变1。
全文总结:关系代数其实就是按照一定的规则对表进行拆分和合并。