数据库系统知识总结(二):关系数据库与关系代数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010095372/article/details/87931971

二、关系数据库与关系代数

1、关系模型的数据结构——关系

关系实际上就是关系模式在某一时刻的状态或内容。也就是说,关系模式是型,关系是它的值。关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。但在实际当中,常常把关系模式和关系统称为关系,读者可以从上下文中加以区别。

关系可以有三种类型:基本关系查询表视图表。其中基本关系是实际存在的表,它是实际存储数据的逻辑表示;查询表是查询结果对应的表;视图表是由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据

2、关系操作

主要是增删改 和 查 这两大部分,查询里又有(选择、投影、连接、除、并、差、交、笛卡儿积)

3、关系完整性

关系模型有三类完整性约束:实体完整性参照完整性用户定义完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称为是关系的两个不变性,应由关系系统自动支持。用户定义的完整性是应用领域需要遵循的约束条件,体现了具体领域中的语义约束。

实体完整性

关系数据库中的每个元组应该是可区分的,是唯一的。这样的约束条件用实体完整性来保证。

实体完整性规则:若属性(只一个或者一组属性)A是基本关系R的主属性,则A不能取空值。所谓空值就是“不知道”或“不存在”或“无意义”的值。

类似于必须有个主键吧。

参照完整性

关系和关系之间存在相互引用、相互约束的情况。参照完整性主要是定义外码,将一个关系的主码放在另一个关系中,作为该关系的属性,就称其为外码。外码的取值有两种情况,一种为空,另外一种就是被参照表的主码的域。

参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。

我理解就是,比如有两个表,一个是学生表,一个是成绩表。在学生表里加学生A的信息,这是才能在成绩表中添加学生A的成绩,要是添加学生B的成绩信息是不可以的,因为被参照表里就是学生表没有学生B的信息,要想添加的话,学生B的识别就空着就好了。

用户定义完整性

这个就是用户自己定义的了,比如往表里添加数据的时候,名字一栏我就规定不能空着,学号一栏我就规定不能重复,就酱。

4、关系代数

也就是一种抽象的查询语言,它用对关系的运算来表达查询,这个我理解就是给SQL语句做理论基础吧。在这里插入图片描述

5、关系演算

这个就是各种查询操作了。理解一下就好了

猜你喜欢

转载自blog.csdn.net/u010095372/article/details/87931971