第二章 关系数据库回顾


参考中科大金培权ppt

数据库体系结构

ANSI/SPARC体系结构——三级模式结构+两级映像

数据库模式的概念

  1. 模式:数据库中全体数据的逻辑结构和特征的描述(不涉及到具体的值)
  2. 实例:模式的一个具体值
  3. 三级模式结构:

1)概念模式(模式、逻辑模式)
定义:数据库中全体数据的逻辑结构和特征的描述(数据项、类型、取值范围、数据间的联系、数据的完整性)
特点:不涉及物理存储的细节和硬件环境、具有唯一性
概念视图:概念模式的实例
通过模式DDL定义

2)外模式(子模式、用户模式)
定义:单个用户看到的局部数据的逻辑结构和特征的描述
特点:对于用户而言,外模式就是数据库;同一概念模式可能有多个不同的外模式
外部视图:外模式的实例
通过子模式DDL定义

3)内模式(存储模式)
定义:数据物理结构和存储方式的描述(记录的存储方式、索引组织方式、加密/压缩)
特点:不涉及具体的磁盘块大小;具有唯一性
内部视图:内模式的实例
通过内模式DDL定义

  1. 二级映像和数据独立性
    二级映像实现三级模式结构间的联系和转换,使用户可以逻辑地处理数据,不必关心数据的底层表示方式和存储方式

在这里插入图片描述
外模式/模式映像

1)定义:外模式和概念模式之间的对应关系(外模式中的属性可能由模式中的多个属性运算而得)

2)概念模式发生改变时,只要修改外模式/模式映像,可保持外模式不变,从而保持用户应用程序不变,保证了数据与用户程序的逻辑独立性——数据的逻辑独立性

模式/内模式映像

1)定义:概念模式和内模式之间的对应关系(概念模式中的逻辑记录和字段在内部如何表示)

2)当数据库的内部存储结构发生改变时,只要修改模式/内模式映像,可保持概念模式不变,从而保持外模式以及用户程序的不变,保证了数据与程序的物理独立性——数据的物理独立性
在这里插入图片描述

  1. SQL数据库体系结构
    在这里插入图片描述

关系数据模型

数据模型是描述现实世界实体、实体间联系以及数据语义和一致性约束的模型

数据模型的分类

目的分类

  1. 概念数据模型:按用户的观点建模,应用于数据库的概念设计
  2. 结构数据模型:按计算机系统的观点建模,面向数据库的逻辑结构
    在这里插入图片描述

数据模型实例

  1. 现实世界(客户存款)
  2. 概念模型(E-R模型)
  3. 机器世界(数据模型(关系模型))

数据模型要素

  1. 数据结构
  2. 数据操作
  3. 数据的完整性约束(数据及数据间联系应具有的制约和依赖规则)

关系模型

  1. 结构:

实体集:规范化的二维表格结构
实体间联系:外码
三类完整性表示数据约束的数据模型
在这里插入图片描述

术语

  1. 属性:二维表格的每一列称为关系的一个属性
  2. 度:列的数目
  3. 元组:每一行称为关系的一个元组
  4. 势:元组的数目
  5. 域:一组具有相同数据类型的值的集合,每个属性有一个域
  6. 关系:元组的集合
  7. 超码:在关系中能唯一标识一个元组的属性集称为关系模式的超码
  8. 候选码:不含多余属性的超码

主属性:包含在任何一个候选码中的属性
非主属性:不包含在任何一个候选码中的属性

  1. 主码:用户选择元组标识的一个候选码称为主码(注意不一定是主属性)
  2. 替换码:除主码的其余的候选码
    在这里插入图片描述

关系的性质

一个关系是一个规范的二维表格

  1. 属性值不可分解(不允许表中有表)
  2. 元组不可重复(因此一定存在至少一个候选码)
  3. 没有行序,即元组之间无序
  4. 没有列序,即属性之间无序

关系模式与关系数据库

  1. 关系模式:关系的逻辑结构和特征的描述,对应表头,通常由属性集和各属性域表示(不关心域时可以去除)
  2. 关系:关系模式的实例,元组的集合(二维表)
  3. 关系数据库模式:关系模式的集合
  4. 关系数据库:关系数据库模式的实例

关系模式的形式化定义

  1. 定义:R(U,D,dom,F)
    其中R为关系模式名,U是一个属性集,D是域,dom是属性到域的映射集合,F是属性间的依赖关系
    在这里插入图片描述

函数依赖

R(U,D,dom,F)中的F在实际中一般只考虑函数依赖

  1. 定义:函数依赖是指一个关系模式中一个属性集和另一个属性集间的多对一关系
  2. 例子:SC(S#,C#,Score)中给定的S#值和C#值,只有一个Score对应;反过来可以存在多个S#和C#它们对应的Score值相等
  3. 形式化定义:
    4.

关系模型的形式化定义

  1. 数据结构:关系,数据库中全部数据及数据间联系都以关系来表示
  2. 数据操作:关系运算(关系代数、关系演算)
  3. 数据的完整性约束:关系模型的三类完整性规则

关系代数

在这里插入图片描述

操作笛卡尔积选择投影联接重命名赋值
数学表达 ∨ \lor ∧ \land − - × σ \sigma σ π \pi π ⋈ \Join ÷ ρ x ( E ) \rho_x(E) ρx(E) ← \gets
英文表达UnionIntersectMinusTimesWhereAll but…JoinDivideby
  1. 其中笛卡尔乘积为
    在这里插入图片描述
  2. 联接有三种方式

自然联接: R ⋈ S R\Join S RS相当于在R×S中选取R和S的所有公共属性值都相等的元组,并在结果中去除重复属性(列)
在这里插入图片描述
θ 联 接 \theta 联接 θ R ⋈ A θ B S R\Join_{A \theta B} S RAθBS相当于在R×S中选取R的属性A值和S的属性B值满足比较关系 θ \theta θ的元组
在这里插入图片描述
等值联接:当 θ \theta θ为等号时
在这里插入图片描述

  1. 关系代数具有封闭性:任何关系代数操作的结果仍然是一个关系

增:插入一个新学生 S 1 ← S 1 ∪ { i d , n a m e , c i t y } S1\gets S1\cup \{id,name,city\} S1S1{id,name,city}
删:删除id为1的学生 S 1 ← S 1 − σ i d = 1 ( S 1 ) S1\gets S1-\sigma_{id=1}(S1) S1S1σid=1(S1)
查:查找老乡
在这里插入图片描述
改:将所有学生id前加S S 1 ← π S ∣ ∣ i d , n a m e , c i t y ( S 1 ) S1\gets \pi_{S||id,name,city}(S1) S1πSid,name,city(S1)(这里是广义投影)

关系模型的三类完整性规则

  1. 实体完整性:主码不为空
  2. 参照完整性:R的任一外码值必须等于被参照关系S中所参照的候选码的某个值,否则为空
  3. 用户自定义完整性:具体应用的特殊语义要求

SQL

SQL基本组成

DDL数据定义语言模式操作Create(Alert、Drop) Table
DML数据修改语言记录操作Insert
DCL数据控制语言权限操作Grant

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值