第二章学习心得
ㅤㅤ通过第二章的学习,我了解到了关系模型的数据(逻辑)结构非常简单,它就是二维表,是关系的集合。下面我用表一来总结一下学到的知识,以及我自己对知识点的心得体会。

ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ表一(学生信息表)


ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ表二(身份信息表)

(1)对于关系来说,域是构成列(属性)必不可少的前提。域是一组具有相同数据类型的值的集合。例如学号和年薪这两个属性,它们都是属于整数这个域。而姓名、专业和就业去向这三个属性,他们都属于变长字符这个域。根据对域的选择条件不同,一个属性可以隶属于多个域,例如学号这个属性,还可以隶属于正数这个域。关系中每个属性的域都是原子的,不可再分。
(2)空值(Null)是所有可能的域的一个取值,表明值未知或值不存在。例如窃格瓦拉的专业和就业去向就是NULL,是未知的。通过学习我了解到,在SQL server中,NULL与一个数无法比较大小,但排序时放在最小端。
(3)表的每一行对应一个元组,即(1,马云,外语,阿里巴巴,1)便是一个元组。元组不同于属性,是可拆分的。
(4)1,雷军,NULL等都被称作分量。
(5)表一除去第一行用来展示属性,剩下的第二行到第四行的整体,便称之为关系,也就是基本表,实际存储了数据的逻辑表示。
(6)关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码。例如表一中,学号、姓名等属性可以确定唯一一个元组(行)的,便可称它们为候选码。
(7)全码,是候选码的特殊情况之一。当表中的所有属性组都是这个关系模式的候选码时(即没有重复的分量时),称为全码。例如表一,去掉最后一列,其他的列便可成为全码。
(8)主码是被挑选出来,作表的行的唯一标识的候选码。一个表只有一个主码。主码又可以称为主键、主关键字。 主键可以由一个字段,也可以由多个字段组成,分别称为单字段主键或多字段主键。例如我们可以挑选学号作为主码,之所以选它的原因,是因为我们要考虑后续表的增添操作,姓名、专业和就业去向等随着表的增添,可能会出现重复的分量,而学号在现实的学校中,基本是唯一的。
(9)隶属于候选码的各个属性都是主属性,不隶属的都是非主属性(非码属性)。例如年薪属性就不是主属性,是非主属性。
(10)在实战时,我们不可能会有这么小的一张表,表内的数据一定会成百上千。现在我们处于一个数据爆炸的年代,在大数据时代里一个表甚至有可能有数亿条数据。我们平时用表的时候,不可能把表全都展示,这是不现实的。这时候就需要用到查询表了。我们可以根据我们的需求,通过一些条件,筛选基表的数据,让符合条件的数据进到查询表里。
(11)行和列的次序对于表中的关系来说,是无关紧要的,可以根据需求改变。现在表一是按学号升序排列的,我们可以给它改成按年薪升序排列。
(12)关系模式是对关系的描述,是静态的稳定的。而关系是关系模式在某一时刻的内容,是动态的,是具有时间这个概念的。例如表一是开学时的学生名单,中途有一个叫马化腾的择校生来了,现在的关系模式和关系就要进行变更。这一点,我觉得跟英语中的时态语法具有相似的概念。
(13)关系型数据库是关系的集合。
(14)通过学习我了解到关系有这样三种完整性约束,分别时实体完整性、参照完整性和用户自定义完整性。
实体完整性简单的来说,就是主键不能为空。例如表一,如果选取学号为主键,则学号不能为空,这就是实体完整性约束,也可以称为主键约束。
参照完整性可以理解为,属性(或属性组)F是基本关系R的外码它与基本关系S的主码K相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为NULL或者等于S中某个元组的主码值。例如表一和表二,学号是表一的主键,且是表二的外键,则元组表二的分量1,必须和表一的分量1相同。参照完整性约束又经常被称作外键约束。
用户定义的完整性,根据不同的需求各不相同。
(15)关系代数运算包括并、差、交、笛卡尔积、投影、选择、连接、除。其中最基本的运算有并、差、笛卡尔积、投影和选择。
(16)通过写学习心得,我又在脑子里过了一遍第二章的知识,加深了我对数据库系统原理第二章内容的理解。