Solo  当前访客:0 开始使用


关系数据库

关系数据库

enter description here

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

关系

现实世界的实体以及实体间的各种联系均用关系来表示

建立在集合代数的基础之上

从用户角度,关系模型中数据的逻辑结构是一张二维表

域(domain)

域是一组具有相同数据类型的值得集合。

例如:

  • 整数
  • 实数
  • 介于某个取值范围的整数
  • 指定长度的字符串集合

笛卡尔积

enter description here

所有域的所有取值的一个集合
不能重复

例如给出三个域:
D1= 导师集合 ={张清玫,刘逸}
D2= 专业集合 ={计算机专业,信息专业}
D3= 研究生集合 ={李勇,刘晨,王敏}

D1×D2×D3={

(张清玫,计算机专业,李勇),(张清玫,计算机专业,刘晨),
(张清玫,计算机专业,王敏),(张清玫,信息专业,李勇),
(张清玫,信息专业,刘晨),(张清玫,信息专业,王敏),
(刘逸,计算机专业,李勇),(刘逸,计算机专业,刘晨),
(刘逸,计算机专业,王敏),(刘逸,信息专业,李勇),
(刘逸,信息专业,刘晨),(刘逸,信息专业,王敏)
}

基数为 2×3×3=12
笛卡尔积可以表示为一张二维表,表中的每行对应一个元组,表中的每列对应一个域
enter description here

实际生活中,笛卡尔积并非具有实际意义,但是生活中实体间的关系是笛卡尔积的一个子集。

关系

enter description here

元组(Tuple)

笛卡尔积中的每一个元素(d1,d2,。。。,dn)叫做一个元组(n-tuple)或简称元组。

(张清玫,计算机专业,李勇)、
(张青梅,计算机专业,刘晨)等都是元组

关系中每个元素都是关系中的元组,通常用 t 表示。

单元关系与二元关系

当 n=1 时,称该关系为单元关系(Unary relation)或一元关系
当 n=2 时,称该关系为二元关系(Binary relation)

关系的表示

关系也是一个二维表,表的每行对应一个元组,表的每
列对应一个域

属性

关系中不同列可以对应相同的域

为了加以区分,必须对每列起一个名字,称为属性(Attribute)

n 目关系必有 n 个属性

候选码(Candidate key)
若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码
简单的情况:候选码只包含一个属性
全码(All-key)
最极端的情况:关系模式的所有属性组是这个关系模式的候选码,称为全码(All-key)

主码
若一个关系有多个候选码,则选定其中一个为主码(Primary key)
主属性
候选码的诸属性称为主属性(Prime attribute)

不包含在任何侯选码中的属性称为非主属性(Non-Prime attribute)或非码属性(Non-key attribute)

enter description here

enter description here

三类关系

基本关系(基本表或基表)

实际存在的表,是实际存储数据的逻辑表示

查询表

查询结果对应的表

视图表

由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据

基本关系的性质

① 列是同质的(Homogeneous)

② 不同的列可出自同一个域

  • 其中的每一列称为一个属性
  • 不同的属性要给予不同的属性名

③ 列的顺序无所谓,,列的次序可以任意交换

④ 任意两个元组的候选码不能相同

⑤ 行的顺序无所谓,行的次序可以任意交换

⑥ 分量必须取原子值 这是规范条件中最基本的一条

关系模式

什么是关系模式

关系模式(Relation Schema)是型

关系是值

关系模式是对关系的描述

元组集合的结构

  • 属性构成
  • 属性来自域
  • 属性与域之间的映像关系
    完整性约束条件

定义关系模式

enter description here

例:
导师和研究生出自同一个域——人,取不同的属性名,并在模式中定义属性向域的映象,即说明它们分别出自哪个域:

DOM(SUPERVISOR-PERSON)
= DOM(POSTGRADUATE-PERSON)
= PERSON

enter description here

关系模式与关系

关系模式是对关系的描述,关系模式是静态的稳定的

关系 关系是关系模式在某一时刻的状态或内容,关系是动态的、随时间不断变化的

关系和关系模式笼统的称为关系,要通过上下文进行分析区别

关系数据库

关系数据库

在一个给定的应用领域中,所有关系的集合构成一个关系数据库

关系数据库的型与值

关系数据库的型: 关系数据库模式,是对关系数据库的描述
关系数据库的值: 关系模式在某一时刻对应的关系的集合,通常称为关系数据库

关系模型的存储结构

关系数据库的物理组织

有的关系数据库管理系统中一个表对应一个操作系统文件,将物理数据组织交给操作系统完成

有的关系数据库管理系统从操作系统那里申请若干个大的文件,自己划分文件空间,组织表、索引等存储结构,并进行存储管理

关系操作

常用的关系操作

查询操作:选择、投影、连接、除、并、差、交、笛卡尔积

  • 选择、投影、并、差、笛卡尔积是 5 种基本操作
  • 数据更新:插入、删除、修改

关系操作的特点

集合操作方式:操作的对象和结果都是集合,一次一集合的方式

关系的完整性

实体完整性规则

实体完整性规则(Entity Integrity)
若属性 A 是基本关系 R 的主属性,则属性 A 不能取空值

空值就是“不知道”或“不存在”或“无意义”的值

例:
选修(学号,课程号,成绩)
“学号、课程号”为主码
“学号”和“课程号”两个属性都不能取空值

(1)实体完整性规则是针对基本关系而言的。一个基本表通常对应现实世界的一个实体集。

(2)现实世界中的实体是可区分的,即它们具有某种唯一性标识。

(3)关系模型中以主码作为唯一性标识。

(4)主码中的属性即主属性不能取空值。
主属性取空值,就说明存在某个不可标识的实体,即存在不可区分的实体,这与第(2)点相矛盾,因此这个规则称为实体完整性

参照完整性

关系间的引用

enter description here

外码(Foreign Key)

设 F 是基本关系 R 的一个或一组属性,但不是关系 R 的码。如果 F 与基本关系 S 的主码 Ks 相对应,则称 F 是 R 的外码

基本关系 R 称为参照关系(Referencing Relation)

基本关系 S 称为被参照关系(Referenced Relation)或目标关系(Target Relation)

enter description here

关系 R 和 S 不一定是不同的关系

目标关系 S 的主码 Ks 和参照关系的外码 F 必须定义在同一个(或一组)域上

外码并不一定要与相应的主码同名
当外码与相应的主码属于不同关系时,往往取相同的名 字,以便于识别

参照完整性规则

参照完整性规则
若属性(或属性组)F 是基本关系 R 的外码它与基本关系 S 的主码 Ks 相对应(基本关系 R 和 S 不一定是不同的关系),则对于 R 中每个元组在 F 上的值必须为:

  • 或者取空值(F 的每个属性值均为空值)
  • 或者等于 S 中某个元组的主码值

例:
enter description here

用户定义的完整性

  • 针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求
  • 关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不需由应用程序承担这一功能
    enter description here

思考题:

1.说明关系与关系模式之间的区别。

关系模式是对关系的型的描述说明关系是由哪些属性组成,这些属性来自于哪些域,以及属性与关系的映像,关系模式是静态的稳定的

关系 关系是关系模式在某一时刻的状态或内容,关系是动态的、随时间不断变化的

2.说明关系的候选键与主键之间的联系和区别。

主码也就是主键,是唯一标识表中的每一行的字段或者多个字段的组合,它可以实现实体完整性,每个表只能有唯一的主码,且不能为空

候选键(候选码):关系中的一个属性组,其值能唯一标识一个元组,若从该属性组中去掉任何一个属性,它就不具有这一性质了,也就是说该属性组内不应该存在一个真子集能标识出一个元组,这样的属性组称为候选码。

当有多个候选码时,可以选定一个作为主码(主键)

3.为什么需要强制执行关系模型的实体完整性约束和参照完整性约束?

1)实体完整性规则是针对基本关系而言的。一个基本表通常对应现实世界的一个实体集。现实生活中不存在不可区分的实体,关系模型中以主码作为唯一标识,如果主码为空,就说明存在某个不可标识的实体,也就是存在不可区分的实体,与现实世界的实体相背离,因此必须强制执行关系模型中的实体完整性约束

2)在实际生活中我们选课有一个选课目录,我们学生的学号选择的选修课必须在备选课程中即为学生选课时候 参照备选课程表,我们无法选修一个根本不存在的课程,遵守参照性约束,能够保证数据的完整性和实际意义,确保数据真实有效

3)综上 需要强制执行关系模型的实体完整性约束和参照完整性约束


待更新


标题:关系数据库
作者:shuaibing90
版权声明:本站所有文章除特别声明外,均采用 CC BY-SA 4.0转载请于文章明显位置附上原文出处链接和本声明
地址:https://xysycx.cn/articles/2020/03/11/1583913208993.html
欢迎加入博主QQ群点击加入群聊:验证www.xysycx.cn

新一篇: 网络空间安全法律法规 旧一篇: 幕布高级版免费体验