数据库原理(二 )

一、 关系模型有关概念

  • 关系模型:用二维表结构形式表示实体及实体之间联系的数据模型。
  • 属性:二维表的列称为属性(也称字段),各属性有独立的名称,属性值对应于各行的字段值。
  • 记录:二维表的行称为记录(也称元组);一条记录的一个属性值被称为一个分量(也称为数据项)。
  • 关系:二维表记录的集合称为关系,每个关系有一个关系名。
  • :是一组相同数据类型的属性值的集合。在关系中用域表示属性的取值范围。
    属性A的域用D(A)表示,域中所包含的值的个数(行数)称为域的基数(用m表示)。
    在这里插入图片描述

二. 关系的类型和性子

2.1 类型

类型:关系有三种类型:基本表,查询表和视图表
(1)基本表实际存在的表,存储数据的逻辑表示
(2)查询表示查询结果对应的表
(3)视图表由表/其他视图表导出的表,虚表,不对应实际存储数据(一张图而已)

2.2 基本关系的六条性质

(1)同一属性(列)的数据是同质的(Homogeneous),即每列值为同类数据,且来自同域.(同列同类同域)。
(2)关系中每个属性值都不可分解.即各分量都是不可分的数据项。
(3)任意两列不能相同,同一关系的属性(列)名不能重复,即不同列可出自同一个域,称其中的每列为一个属性。
(4)任意两行元组(记录)不能完全相同。
(5)列的顺序无所谓,即列的次序可任意交换。
(6)行的顺序无所谓,即行的次序可任意交换。

三、 E-R图转换为关系模型的方法

(1)实体转换关系规则:将每个实体转换成一个关系模式时,实体的属性就是关系的属性。如学生实体中的属性“学号” 就是关系的属性
(2)二元联系转换规则

3.1 实体联系 1:1

可以在两个实体任选一个,其关键字和联系的属性放入另一个实体对应的关系模式中
在这里插入图片描述
辅导员(教师号,教师名,性别,年龄,称职)PK:教师号
班级(班号,所在系,班级名称,辅导员教师号,接管时间)PK:班号 和 辅导员教师号

3.2 实体联系:1:n

方法一

1 端实体的关键字放入 n 端实体的关系模式中,联系有属性也一起放进 n 端中,关键字是n端的关键字
在这里插入图片描述
辅导员(教师号,教师名,性别,年龄,称职)PK:教师号
班级(班号,所在系,班级名称,辅导员教师号,接管时间)PK:班号 和 辅导员教师号

方法 二

是独立构建一个关系模型,实体是两端实体的关键字加上联系的属性,而关键字为n 端实体的关键字
在这里插入图片描述
辅导员(教师号,教师名,性别,年龄,称职)PK:教师号
班级(班号,所在系,班级名称)PK:班号
管理(辅导员教师号班号,接管时间)FK:辅导员教师号,班号

3.3 联系实体 m: n

新构建一个关系模型,其属性为两端实体关键字加上联系的属性,而关键字为两端实体关键字的组合
在这里插入图片描述
学生(学号,姓名,性别,年龄,籍贯)PK:学号
课程(課号,科目,课程性质)PK:課号
选课(学号,课程,成绩)

四、 关系模型的完整性

4.1 实体完整性规则

(1)实体完整性规则:主键中的主属性不可取空值。一个基本关系通常对应现实世界的一个实体集。例如学生关系对应于学生的集合。实体完整性如图2-7所示。
在这里插入图片描述

4.2 参照完整性

2)参照完整性规则(Referential Integrity)要求:若属性组F是关系模式R1的主键,同时F 也是关系模式R2的外键,则在R2的关系中,F 的取值只允许两种可能**:空值或等于R1关系中某个主键值**.R1称为被参照关系模式,R2称为参照关系模式

参照完整性就是定义外键和主键之间的引用规则。学生选修表中每个元组上的学号属性必须为空(F的每个属性值均为空值);或等于S即学生数据表中某个元组的主键。
在这里插入图片描述

4.3 用户定义完整性

用户定义的完整性:是针对某一具体关系数据库的约束条件,反映出某一具体应用所涉及的数据必须满足的语义要求。(特定的查询数据)
在这里插入图片描述

五、 关系运算种类及运算符

  • 传统的集合运算:将元组(记录)作为集合中元素进行运算,其运算是从关系的**“水平”方向即行的角度进行的。包括并、差、交和笛卡尔积**等运算。
  • 专门的集合运算:针对关系数据库的应用而专门设计的。涉及关系的行运算和关系的列运算。它包括选取、投影连接和除等运算。
  • 关系代数所使用的运算符有4类:
    (1)集合运算符:∪(并),—(差),∩(交),×(广义笛卡儿积)。
    (2)专门的关系运算符:σ(选择),π(投影), (连接),÷(除)
    (3)比较(算数)运算符:>(大于),≥(大于等于),<(小于),≤(小于等于),=(等于),≠(不等于)
    (4)逻辑运算符:¬(非),∧(与),∨(或)。

5.1 并

关系R和关系S的并由属于R或属于S的元组组成,即R和S的所有元组合并,删除重复元组,组成一个新的关系,其结果仍为n目关系。记作:
R∪S = { t | t∈R ∨ t∈S } 其中,t是元组变量(关系表的行)
在这里插入图片描述
在这里插入图片描述
注意:并、差和交运算R和S的属性一定要相同,否则无法进行运算。

5.2 交

关系R和关系S 交由既属于R又属于S的元组组成,运算结果是R和S中相同的元组组成一个新的关系,仍为n目关系。记作:
R∩S = { t | t∈R ∧t∈S }
关系的交也可用差表示,即R∩S =R-(R-S)。
在这里插入图片描述
在这里插入图片描述

5.3 差

关系R和关系S的差由属于R而不属于S的所有元组组成,即R中删除与S中相同的元组,组成一个新的关系,其结果仍为n目关系。记作:
R-S = { t | t∈R ∧t S } t是元组变量
在这里插入图片描述
在这里插入图片描述

5.4 广义笛卡尔积

两个分别为n目和m目的关系R和 S的广义笛卡尔积是一个(m+n)列的元组的集合,元组的前n列是关系R的一个元组,后m列是关系S的一个元组。若R有k1个元组,S有k2个元组,则关系R和关系S的广义笛卡尔有k1×k2个元组,记作: R×S≡{t︱t=<t r, t s>∧t r∈R∧t s∈S }
在这里插入图片描述

5.5 选择

选择运算是在表中选择符合给定条件的元组,即对二维表进行水平分割
在这里插入图片描述

5.6 投影

投影运算是在一个关系中选取某些列,并重新安排列的顺序,再删去重复元组,即对二维表进行垂直分割.
在这里插入图片描述

5.7 连接

在这里插入图片描述
在R 与 S 的笛卡尔积中进行连接
B>D
在这里插入图片描述
R.A=R.A(同时也删除重复元组)
在这里插入图片描述
R与S 的自然连接
那两个相同的属性进行比较,值相同则保留,重复则保留一个,其他属性列没有相同的那就直接加进来
在这里插入图片描述

5.8 除

除运算过程:
关系的除运算操作是从行和列同时进行的。具体计算过程为:
(1)将被除关系的属性分为像集属性和结果属性两部分,与除关系相同的属性属于像集属性不相同的属性属于结果属性

(结果属性是指最后结果表,需要具备这些结果属性列)
(2)在除关系中,在与被除关系相同的属性(像集属性)上投影,得到除目标数据集。
(3)将被除关系分组,将结果属性值相同的元组分为一组。
(4)观察每个组,若其像集属性值中包括除目标数据集,则对应的结果属性值应属于该除法运算结果集.并差去与原被除关系相同的分组.
在这里插入图片描述

(1)先分出像集属性进而结果属性
在R关系中学号属性的值可以取
在这里插入图片描述

BX15120 对应的像集为{(P2637,周),(A3103,杨),(P637,张) }

BE16227 对应的象集为{(李),(杨),(张)}

BG16245 对应的象集为{ (王),(杨)}

BG16238 值对应的象集为{(张) }

关系S在学号上的投影为{(周),(杨),(张)}
(其实大概意思就是查找满足信息是周+杨+张的学号)
只有 BX15120 的值对应象集包含关系S的投影集,所以只有a1包含在A属性中
结果为这个:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值