关系数据库
来源:互联网 发布:考研形势数据图表分析 编辑:程序博客网 时间:2024/05/16 19:28
关系模型、关系模式、关系数据库等基本概念以及关系代数理论;
能够运用关系代数(并、交、差、除、笛卡尔积、选择、投影、连接)完成关系运算。
1. 关系模型
关系模型由关系模型的数据结构、关系模型的操作集合、和关系模型的完整性规约三部分组成。这三部分也称为关系模型的三要素。
(1)数据结构:
关系系统中,表是逻辑结构,而不是物理结构,表是对物理存储结构的一种抽象表示。
(2)数据操作;
关系模型按集合进行操作,操作的数据以及操作的结果都是完整的集合(或表)。
关系数据库物理层也使用指针,但关系语言的特点是高度非过程化,很多细节对用户来说都是不可见。
(3)数据完整性约束:
数据的完整性是指保证数据正确性的特征。
2.基本术语:
关系(Relation)就是二维表。
属性(Attribute)二维表中的每个列。
值域(Domain)二维表中属性的取值范围。
元组(Tuple)二维表中的一行数据。
分量(Component)元组中的每一个属性值称为元组的一个分量。
关系模式(Relationschema)就是二维表的表框架或表头结构。如果将关系模型理解为数据类型,则关系就是该数据类型的一个具体值。
关系数据库(Relationdatabase)对应于一个关系模型的所有关系的集合称为关系数据库。
候选键(Candidate Key)如果一个属性或属性集的值能够唯一标志一个关系的元组而又不包含多余的属性,则称该属性或属性集为候选键。
主键(Primary Key)是表中的属性或属性组,用于唯一地确定一个元组。一个关系中有多个候选键时,可以从中选择一个作为主键。
主属性(Primary attribute)是包含在任意候选键中的属性,非主属性(Nonprimary attribute)是不包含在任意候选键中的属性。
关系型模型是建立在集合论的基础上的。
3.完整性约束:
(1) 实体完整性
实体完整性是保证关系中的每个元组都是可识别的和唯一的。
(2) 参照完整性(引用完整性)
参照完整性就是描述实体之间的联系。这种限制一个关系中某列取值受另一个关系中某列的取值范围约束的特点称为参照完整性。
设F是关系R的一个或一组属性,如果F与关系S的主键相对应,则称F是关系R的外键(Foreign Key),并称关系R为参照关系,关系S为被参照关系。关系R和关系S不一定是不同的关系。
(3) 用户定义的完整性
用户的定义的完整性实际上就是指明关系中属性的取值范围。
4.关系代数
关系代数是关系操作语言的一种传统表示方式,是一种抽象的查询语言。
关系代数的三大要素:运算对象、运算符和运算结果。
(1) 传统的集合运算
并运算(union)
设关系R与关系S均是n目关系,关系R与关系S的并记为:
R∪S={t | t∈R ∨t∈S }
交运算(intersection)
设关系R与关系S均是n目关系,关系R与关系S的交记为:
R∩S={t | t∈R ∧t∈S }
差运算(difference)
设关系R与关系S均是n目关系,关系R与关系S的差记为:
R-S={t | t∈R ∧t∈S }
广义笛卡儿积(Cartesian product)
若R有K1个元组,S有K2个元组,则关系R和关系S的广义笛卡尔积有K1×K2个元组,记做:
R×S={tr^ts | tr∈R ∧ ts∈S}
(2) 专门的关系运算
选择(selection)
从指定的关系中选择满足给定条件(用逻辑表达式表达)的元组而组成一个新的关系。
σF(R)={ r | r∈R ∧ F(r)=‘真’ }
投影(projection)
从关系R中选择若干属性,并用这些属性组成一个新的关系。
ΠA(R) = (t(A)| t∈R)
连接(join)
连接运算用来连接相互之间有联系的两个关系,从而产生一个新的关系。
θ连接
连接运算从R和S的广义笛卡尔积中选择R关系在A属性组上的值与S关系在B属性组上的值满足θ的元组。θ是比较运算符。
等值连接(θ连接的特例)
θ为“=”的连接成为等值连接。它是从关系R与S的笛卡尔积中选取A,B属性值相等的那些元组:
自然连接
是一种特殊的等值连接,它去掉了等值连接结果中的重复的属性列。
外部连接(或称外连接)
外连接有三种:
左(右)外连接:把连接符号左(右)边的关系中不满足连接条件的元组也保留到连接后的结果中,并在连接结果中将该元组所对应的右(左)边关系的各个属性均置成空值(NULL)。
全外连接:把连接符号两边的关系中不满足连接条件的元组均保留到连接后的结果中,并在连接结果中将不满足连接条件的各元组的相关属性均置成空值(NULL)。
半连接
在两个关系之间执行连接操作,并将其结果投影在第一个操作关系的所有属性上。
半连接的一个优点是可以减少必须参与连接的元组的数目。
除(division)
设关系S的属性是关系R的属性的一部分,则R÷S为这样一个关系:
此关系的属性是由属于R但不属于S的所有属性组成;
R÷S的任一元组都是R中某元组的一部分。但必须符合下列要求,即任取属于R÷S的一个元组t,则t与S的任一元组连接后,都为R中原有的一个元组。
5.关系代数综合实例:
例1. 查询选了C002号课程的学生的学号和成绩。
∏Sno, Grade(σCno=‘C002‘ (SC))
2. 查询信息管理系选了C004号课程的学生的姓名和成绩。
或:
3.查询选了第2学期开设的课程的学生的姓名、所在系和所选的课程号
或:
6.查询选了全部课程的学生的姓名和所在系。
(1)选了全部课程的学生学号(2)这些学生的姓名和所在系
- 关系数据库
- 关系数据库
- 关系数据库
- 关系数据库
- 关系数据库
- 关系数据库
- 关系数据库
- 关系数据库
- 关系数据库
- 关系数据库
- 关系数据库
- 关系数据库
- 关系数据库
- 关系数据库
- 关系数据库
- 关系数据库
- 关系数据库
- 关系数据库 非关系数据库
- mysql实现分页查询
- 快速幂
- 搭建maven环境
- VS2012 asp.net开发之“IIS配置网站”
- sql语句使用-插入列与连接查询
- 关系数据库
- 编程题:旋转数组的最小数字
- 【特征匹配】ORB原理与源码解析
- 递推递归练习 P 二分查找
- eclipse中格式化代码快捷键Ctrl+Shift+F失效的原因以及解决办法
- 什么是算法-数据结构学习笔记1.2(基本概念)
- 机器学习----神经网络(二)BP算法
- 在职研究生经济学报考条件
- 九宫格算法