关系数据库是支持关系模型的数据库系统。第一章初步介绍了关系模型及其基本的概念。本章将深入的解析。关系模型。按照关系模型的三个要素关系模型由关系数据库关系操作集合和关系完整性约束三部分组成。下面分别对这三部分进行介绍。

1 关系数据库结构及形式化定义

关系模型的数据结构很简单,只包含单一的数据结构关系。而在我们看来,关系就是一张扁平的二维表。
域: 域是一组相互数据类型的值的集合,,它的概念就是给数据库中集合的概念。
笛卡尔集: 笛卡尔集是两组域乘积,两个集合的笛卡尔集。最后这个维度等于相乘的集合的个数,也就是说两个集合相乘之后,那么他们笛卡尔集集合的元素的维度是2。
关系: 关系是笛卡尔集的子集。我们在定义关系的时候,,可以理解为从笛卡尔集中抽出我们所需要的有效的维度信息,而不是全部的维度信息。
候选码: 候选码是唯一能标识元组的一组值而他的自己不能达到这个目的。我们称属性组为候选码,当有多个候选码时,我们选其中的一个作为主码。
关系模式: 关系的描述,我们称之为关系模式。在关系数据库中,我们讲键与值的概念,而键是指了关系模式,值是指关系。

2 关系操作

2.1 基本的关系操作

关系模型中常用的操作呢包括:查询、插入、删除、和修改,即我们所说的增删改查。

查询:查询操作又可分为、选择、投影、连接、除、并、交、笛卡尔积,在后面的章节我们会对这些操作进行一一的讲解。

3 关系的完整性

实体完整性 顾名思义实体完整性就是指。任何一个属性。如果是关系的主属性的话,那么他则不能是空值,这个空值就是说他不可以是不知道不存在无意义的事,因为作为他的主属性,我们是要根据它的主属性去区分不同的元组。之间相当,于是对它的一个定位,如果它存在空值和暧昧的话,我们就无法实现对它的精准查找。

参照完整性。在实际生活中关系之间存在,相互联系。一个关系经常会引用到另一个关系,那么,呃,我们在设计的时候要满足参照完整性及。相互引用的关系要相一致匹配。不可以说我们引用了一个不存在或者是错误的一个只。换句话说。不同的关系中某些属性的值的取值要参照另一个关系的属性取值。

用户自定义完整性。任何关系数据库都支持实体完整性和参照完整性,这是关系模型的要求但是在用户自定义完整性呢?它会根据它的应用环境而有所不同那用户自定义纹理性顾名思义就是用户自己定义的对数据的一个。完整度的考量,比如说我们定义某一个属性取唯一值,这个属性不能涉及,嗯,一些我们不满足的语义信息,比如说我们这个呃这个数据的语义信息必须是字符串或者说整形。如果是成绩的话,我们定义它的取值范围在哪段区间之内。这是这些是我们自己定义的规则。用户自定义完整性你主动

4 关系代数

传统的集合运算。

专门的关系运算。

选择选择又称为限制级在我们选择的时候要对我们所选的属性线进行相应的限制,即满足一定的条件。

连接 连接是两个关系,进行笛卡尔集。选取属性,满足一定条件。的元组。在连接过程中,我们通常会选择对应的属性值相同或。满足小于大于等一些条件。在连接中呢有一个特殊的情况,叫做自然连接自然连接。它要求两个关系,进行比较的分量必须是同名的属性组,即我们在最后的连接表中,呃,连接的关系中不存在,呃。同样的属性出现两次。其实,很好理解。在观察呃,两个关系的等值连接和自然连接的过程中你会发现,呃,存在两列。除了它们的名称不同,它们的值相同,这样会在存储的时候造成一个浪费那我们可以省略掉这部分。描述。因为他们都是相同的,所以不会影响我们最后的关系的。确立。

投影 想象一下,光从上照下来之后。相当于把。遮挡的光线压缩成影子。那么在数据库中投影的概念也类似于此你可以想象。你的眼神从上往下去扫描关系的每一列。对于所需要的列进行选择,这个就是投影,要记住投影操作是从列的角度进行的运算。

除运算 除运算呢,是一个不太好理解的定义,因为我们在理解种运算的时候,我们还需要理解一个项集的概念。在这里呢,我想用一个比。比较。通俗的概念去讲解,虽然这个可能带一点点。想象力的因素 我们都知道在夏季的时候象是走田字这个田字你会发现它其实像一个关系表的样子,其实相机它还是一个关系,只不过呢这个关系是限制了某一个。元素的值的一个关系,你可以停下来好好理解一下这句话。那知道了这样的概念呢?我们看这个例子就会很明白。

其实在除的时候它隐形的满足一个条件就是这两个关系,它是有共同的属性列的。而我们去计算相机的时候也用到这个概念。