数据库系统概论 2.关系数据库

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

2.1.1关系

关系模型是建立在集合代数的基础上的。
:域是一组具有相同数据类型的值的集合。(例:{0,1,2}、{男,女}……)
笛卡尔积:给定一组域D1、D2……Dn;允许其中某些域是相同的,则D1、D2……Dn的笛卡尔积为D1×D2×……×Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…n}
每一个元素(d1,d2,…,dn)叫做一个n元组,也叫元组;元素中的每一个di的值叫做一个分量,一个域允许的不同取值个数称为这个域的基数

给出三个域:
D1=SUPERVISOR = { 张清玫,刘逸 }
D2=SPECIALITY= {计算机专业,信息专业}
D3=POSTGRADUATE = {李勇,刘晨,王敏}
则D1,D2,D3的笛卡尔积为D:
D=D1×D2×D3 ={(张清玫, 计算机专业, 李勇), (张清玫, 计算机专业, 刘晨),
(张清玫, 计算机专业, 王敏), (张清玫, 信息专业, 李勇),
(张清玫, 信息专业, 刘晨), (张清玫, 信息专业, 王敏),
(刘逸, 计算机专业, 李勇), (刘逸, 计算机专业, 刘晨),
(刘逸, 计算机专业, 王敏), (刘逸, 信息专业, 李勇),
(刘逸, 信息专业, 刘晨), (刘逸, 信息专业, 王敏)}
关系:D1×D2×……×Dn的子集叫做在域D1、D2……Dn上的关系,表示为R(D1,D2,…Dn),R为关系名,n为关系的目或度。n=1,则该关系为单元关系或一元关系;n=2,则该关系为二元关系。
由于域可以相同,则每列必须取名,列明就为属性。
候选码:某一属性组的值能唯一识别一个元组,而其子集不行,则该属性组为候选码。
若一个关系有多个候选码,则选择其中一个作为主码,候选码的诸属性称为主属性,不包含在候选码中的属性称为非主属性或非码属性。
在最极端情况下,关系模式的所有属性是这个关系模式的候选码,称为全码。
关系可以有三种类型:基本关系(基本表或基表)、查询表和视图表。基本表是实际存在的表,是实际存储数据的逻辑表示;查询表是查询结果对应的表;视图表是由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据。
基本关系的6个性质
1.列是同质的,每一列中的分量是同一类型的数据,来自同一个域。
2.不同的列可出自同一个域,其中每一列为一个属性,不同的属性要给予不同的属性名。
3.列的次序可以随意交换。
4.任意两个元组的候选码不能取相同的值。
5.行的次序可以随意交换。
6.分量必须去原子值,不可分。

2.1.2关系模式

关系的描述称为关系模式,可以形式化地表示为R(U,D,DOM,F);R为关系明光,U为组成该关系的属性名集合,D为U中属性所来自的域,DOM问问属性向域的映像集合,F为属性间数据的依赖关系集合。
关系是关系模式在某一时刻的状态或内容。关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断的更新着数据库中的数据。

2.1.3关系数据库

关系数据库的型也称为关系数据库模式,是对关系数据库的描述。关系数据库模式包括若干域的定义,以及在这些域上定义的若干关系模式。
关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常就称为关系数据库。

2.1.4关系模型的存储结构

因为关系数据模型中实体及实体见的联系都用表来表示,表示关系数据的逻辑模型;所以在关系数据库的物理组织中,有的关系数据库管理系统中一个表对应一个操作系统文件,将物理数据组织交给操作系统完成;有的关系数据库管理系统从操作系统那里申请若干个大的文件,自己划分文件空间,组织表、索引等存储结构,进行存储管理。

2.2关系操作

2.2.1基本的关系操作

常用的关系操作包括:查询操作和插入、删除、修改操作两大部分。(增删改查)
查询操作可以分为选择、投影、连接、除、并、差、交、笛卡尔积等;其中选择、投影、并、差、笛卡尔积是5中基本操作,其他操作可以用基本操作来定义和导出。
关系操作的特点是集合操作方式,操作的对象和结果都是集合,所以也称为一次一集合;非关系数据模型的数据操作方式则为一次一记录。

2.2.2关系数据语言的分类

抽象的语言:
1.关系代数语言,例如:ISBL
2.关系演算语言 (1)元组关系演算语言,例如:ALPHA、QUEL
(2)域关系演算语言,例如:QBE
结构化查询语言(SQL):具有丰富的查询功能,并且具有数据定义和数据控制功能,是集查询、数据定义语言、数据操纵语言和数据控制语言(DCL)于一体的关系数据语言,且高度非过程化。

2.3关系的完整性

关系模型中有三类完整性:实体完整性、参照完整性、用户定义的完整性;实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性。

2.3.1实体完整性

实体完整性保证数据库中每个元组是可以区分的。
实体完整性规则:若属性A是基本关系R的主属性,则A不能取空值。(例如:学生{学号,姓名,年龄}中,学号不可为空)
对于实体完整性规则说明如下:
1.实体完整性规则是针对基本关系而言的。
2.现实世界中的实体是可以区分的,即他们具有某种唯一性标识。
3.关系模型中以主码作为唯一性标识。
4.主码中的属性即主属性不能取空值。

2.3.2参照完整性

设F是基本关系R的一个或一组属性,但不是关系R的码,Ks是基本关系S的主码。如果F与Ks相对应,则称F是R的外码,并称基本关系R为参照关系,基本关系S为被参照关系或目标关系。(关系R和S不一定是不同的关系)
在这里插入图片描述
参照完整性规则
若属性F是基本关系R的外码,它与基本关系S的主码Ks相对应,则对于R中每个元组在F上的值必须:取空值(F的每个属性值均为空值)或者等于S中某个元组的主码值。

2.3.3用户定义的完整性

用户定义的完整性是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。(例如:性别只能为男或女、学生成绩的分数范围为0-100……)

2.4关系代数

关系代数的运算按运算符的不同可分为传统的集合运算和专门的关系运算两类。

2.4.1传统的集合运算

传统集合运算为二目运算,包括并、差、交、笛卡尔积4中运算。
假设有R与S两个关系
1.(union)
R∪S={t|t∈R V t∈S}
结果仍为n目关系,由属于R或属于S的元组组成。
2.(except)
R-S={t|t∈R ꓥ t∉S}
结果仍为n目关系,由属于R而不属于S的元组组成。
3.(intersection)
R∩S={t|t∈R ꓥ t∈S}
结果仍为n目关系,由既属于R又属于S的元组组成。
4.笛卡尔积(cartesian product)
R×S,具体运算规则见前2.1.1节。
在这里插入图片描述

2.4.2专门的关系运算

专门的关系运算包括选择、投影、连接、除运算等。
1.选择(selection)
定义:在关系R中选出满足指定条件F的元组(行操作)
表达式:σF® = {t|t∈R∧F(t)=‘真’},其中条件表达式F可进行以下运算:
比较运算符 > 大于
   ≥ 大于等于
   < 小于
   ≤ 小于等于
   = 等于
   <> 不等于
逻辑运算符 ┐ 非
   ∧ 与
   ∨ 或

2.投影(projection)
定义:从关系R中选出若干属性A组成新关系(列操作)
表达式:πA® = {t[A]|t∈R}

3.连接(join)
定义:从两个关系R和S的笛卡尔积中选取属性间满足指定条件AθB的元组
表达式:R∞S(AθB) = {t®t(s)|t®∈R∧t(s)∈S∧t®[A]θt(s)[B]}
拓展关系:
连接分两种:等值连接与自然连接
①等值连接:指定条件AθB的θ为’='时
②自然连接:在等值连接的基础上去除重复的属性

4.除运算(division)
定义:设关系R除以关系S的结果为关系T,则T包含所有在R但不在S中的属性及值,且
T的元组与S的元组的所有组合都在R中
表达式:R÷S = {t®[X]|t®∈R∧π(Y)(S)属于Y(x)},其中Y(x)为x在R中的象集,x=t®[X]

举例:
关系R 关系S
 A   B  C   B C D
a1 b1 c2 b1 c2 d1
a2 b3 c7 b2 c1 d1
a3 b4 c6 b2 c3 d2
a1 b2 c3
a4 b6 c6
a2 b2 c3
a1 b2 c1

进行选择运算:
从关系R中查询C为c3的情况如下(须去除行重复元素)
A B C
a1 b2 c3
a2 b2 c3

进行投影运算:
从关系R中查询有哪些C的情况如下(须去除列重复元素)
C
c2
c7
c6
c3
c1

进行等值连接:
从关系R和S中查询满足R.B = S.B且R.C = S.C的情况如下
A R.B R.C S.B S.C D
a1 b1 c2 b1 c2 d1
a1 b2 c3 b2 c3 d2
a2 b2 c3 b2 c3 d2
a1 b2 c1 b2 c1 d1

进行自然连接:
从关系R和S中查询满足R.B = S.B且R.C = S.C的情况如下
A B C D
a1 b1 c2 d1
a1 b2 c3 d2
a2 b2 c3 d2
a1 b2 c1 d1

进行除运算:
R÷S情况如下
A
a1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值