为什么进度跳这么厉害:这周正好要复习自己学校离散课本的关系一章,并且也存在之后要给别人补讲这部分内容的可能性,所以有用另一本课本给自己在这一章拓宽视野的动力。

二元关系:二元关系定义在集合A、B上。一个从A到B的二元关系ARB是AXB(A到B的全域关系)的子集。

这本书用正常的括号表示序偶(a, b),学校课本用了尖括号。考试记得用一下尖括号就好,其他时候还是按照这本书的格式来。

关系可用自然语言、集合符号、有向图、表、关系矩阵表示。记一个用表表示在定义A = { 0, 1, 2 },B = { a, b }前提下,关系{ (0, a), (0, b), (1, a), (2, b) }的例子:

函数与关系的联系:函数是有更强限制的关系,具体体现就是函数的前域中的每一个元素都必须要在陪域中存在唯一的映射。而关系根本不存在这个限制。

关系的自反、反自反、对称、反对称、传递性:

假设前提,a、b、c属于集合A,关系R在集合A上,则五种关系性质的命题表示依次在下方的图中:

一个有n个元素的集合上,可以定义2 ^ (n ^ 2) 种关系,可以定义2 ^ (n ^ 2 – n) 种自反的关系。

关系的合并,记法中注意类似g(f(x)),合并关系中靠前的关系写在记法的右侧。

一个关系是传递的当且仅当这个关系的任意次正整数幂都是原关系的子集。书上关于这个关系的必要性证明,自己是不太认同的……认为用上传递闭包的定义,去证明必要性,更具有严格性。

n元关系:n元关系就是A1 X A2 X … X An集合的子集。n个集合本身叫做n元关系的,值n是n元关系的

关系数据模型:

记录:即n元组的集合。一个记录由若干字段组成。

表示数据库的关系被称为。表的每一列对应一个数据库的属性

主键:当一个域中的值唯一确定记录集合的某一个n元组时,则成这个域为主键。

数据库的所有n元组称为该关系的外延。数据库的元信息(如数据库名、数据库属性等)被称为数据库的内涵

复合主键:同时使用多个域,能唯一确定一条数据库记录时,则多个域的笛卡尔积就是复合主键。

n元关系上的运算:选择、投影、连接

选择:该操作需要给定一组条件和选择的源关系。运算结果是满足给定条件的多元组集合。

投影:该操作需要给定选择的列信息(比如列号、字段名等),运算结果是原n元关系中包括给定列信息的子集。

注:

  1. SQL里的select,与关系运算里的投影其实是等价的。这算是一个术语的语义不匹配。
  2. 投影操作会对结果相当于又执行一次.unique() 操作。

连接:该操作将两个表进行合并,需要一个表的后p个字段和另一个表的前p个字段相同。操作结果是合并后的数据表,字段数增多。