数据库系统概论 – 关系数据库
关系数据库是创建在关系模式上的数据库,关系型数据库中有许多张表,每张表示意事实世界的各种实体。各种实体之间的分割均用关系模型来示意
关系模式由关系数据结构、关系操作汇合和关系完整性束缚三局部组成,所有关系的汇合形成关系数据库
关系模式是型,是关系的形容,是动态的,稳固的
关系(一张具体的二维表)是值,是元组的汇合,是动静的,随工夫一直变动的
关系数据结构
关系
笛卡儿积
给定一组域,容许其中某些域是雷同的,这些域相乘即为域的笛卡儿积,如:D1(A,B), D2(C,D)
,则 D1 * D2 = {(A,C),(A,D),(B,C),(B,D)}
。一个域容许的不同取值个数称为这个域的基数
关系
D1 * D2 * D3 * ... * Dn
的子集叫做在域 D1, D2, D3, ... , Dn
上的关系,示意为 R(D1, D2, D3, ... , Dn)
,R 示意关系的名字,n 称为关系的目或度
关系的三种类型:根本关系(理论存储数据的逻辑示意)、查问表(查问后果对应的表)和视图表(由根本表和其它视图表导出的表,不存储理论数据)
码和其分类
若关系中的某一属性或属性组的值能惟一的标识一个元组,而其任何子集都不能标识,则称该属性组为候选码。如学生实体中,能够应用 学号
辨别实体,也能够应用 姓名 + 班级
来辨别学生,则学生实体的候选码为:学号
和 姓名+班级
若一个关系有多个候选码,能够抉择其中一个作为主码,如学生实体中能够抉择 学号
或 姓名+班级
作为主码
候选码中诸属性称为主属性,不蕴含在任何候选码中的属性称为非主属性或非码属性,如果某个关系模式的所有属性都是这个关系模式的候选码,则成为全码
关系操作
基本操作
关系模式最罕用的关系操作包含查问和插入、删除、批改
查问操作分为:抉择、投影、连贯、除、并、差、交、笛卡儿积
5 种根本查问操作:抉择、投影、并、差、笛卡儿积,其余操作依据基本操作定义和导出
关系数据语言的分类
关系代数用对关系的运算来表白查问要求,关系演算则用谓语表白查问要求,结构化查询语言(SQL)介于关系代数和关系演算之间
SQL 不仅仅有数据查问性能,还有数据定义和数据管制性能
关系的完整性
实体完整性束缚和参照完整性由关系零碎主动反对,称为关系的俩个不变性
用户定义的完整性是由应用领域须要遵循的约束条件
实体完整性束缚
实体的所有主属性都不能为空,如果呈现了就不能惟一确定一个实体
参照完整性束缚
一个关系模式的属性(r1)中可能蕴含另一个关系模式的主码(r2),则这个属性在 r1 上称为参照 r2 的外码,r1 和 r2 的取值须要统一,能够取空则代表其余含意
参照完整性束缚是关系与关系之间的束缚,即表与表之间的束缚
用户定义的完整性束缚
某一具体利用所波及数据必须满足的语义,如不能为空,不能为负等
关系代数
关系代数是一种形象的语言,是用对关系的运算表白查问,依照运算符的不同能够分为传统的汇合运算和专门的关系运算
传统的汇合运算
- 交:由即属于 R 又属于 S 的元组组成
- 并:由属于 R 或属于 S 的元组组成,如果两张表当中都呈现了同一个元组,新建的表当中只会呈现一次
- 差:R-S 示意属于 R 而不属于 S 的所有元组组成
- 笛卡儿积:汇合相乘,n 目和 m 目标关系 R 和 S 的笛卡儿积是一个(n+m)列的元组汇合
专门的关系运算
- 抉择:抉择关系 R 中满足给定条件的元组
- 投影;从关系 R 中抉择若干属性列组成新的关系
- 连贯:从两个关系的笛卡儿积中选取属性间满足肯定条件的元组,等值连贯是选取属性值雷同的元组,天然连贯是一种非凡的等值连贯,要求关系 R 中的属性 A 和关系 S 中的属性 B 名字雷同,在后果中把反复的属性列去掉,非等值连贯是操作符号不是 = 的连贯,如:!= > < 等
- 除运算:关系 R 除以关系 S 的后果为关系 T,则 T 蕴含所有在 R 但不在 S 中的属性及其值,且 T 的元组与 S 的元组的所有组合都在 R 中
两个关系 R 和 S 在做天然连贯时,抉择两个关系在公共属性上值相等的元组形成新的关系,关系 R 中某些元组有可能在 S 中不存在公共属性上值相等的元组,从而造成 R 中这些元组在操作时被舍弃了,S 中某些元组也可能被舍弃,被舍弃的元组叫做悬浮元组
如果把悬浮元组也保留在后果关系中,而在其余属性上填 NULL,则成为外连贯(此时右边和左边关系的悬浮数组都保留在后果关系中),只保留右边关系 R 中的悬浮元组叫做左外连贯,只保留左边关系 S 中的悬浮元组叫做右外连贯
发表回复