数据库概论课堂笔记-03 关系数据库系统

第三讲拖的时间有点久了,主要是国庆没啥斗志。但这章的内容很重要,关系代数的运算算是一个大重点了,虽然相关概念因为之前自学过sql所以都懂,但是用数学公式表示仍然很有难度。、

老师还专门整了一个额外课件讲关系代数的例题,但是没有整理到这里面来。之后我啃明白了看看能不能单独写一篇。

目录

03 关系数据库系统

1 关系数据库系统的优点

2 关系数据库系统衡量准则

初期的‘六条准则’(1974年IFIP会议)

完全关系型的12条严格标准(1985年)

依据上述衡量准则对关系数据库产品的类别划分

3 关系模型数学理论——关系代数(重点)

3.1 名词术语解释

3.2 关系上的操作

3.3 用关系代数表示关系

表的表示方式

关系运算的表示


03 关系数据库系统

关系数据库系统就是基于关系模型的数据库系统。70年代末以后所问世的数据库产品大多为关系模型,并且取代了其它数据库系统而成为主流。关系数据库的崛起与它明显的优越性有关。

1 关系数据库系统的优点

  1. 数据结构简单:

    关系数据库使用统一的二维表作为存储结构,不存在复杂的内部连接关系。

  2. 用户使用方便:

    不涉及系统的内部物理结构;所用数据语言均为非过程性语言,操作简单。

  3. 功能强:

    模型的表达能力强;可方便地修改数据间关系;以及路径选择的灵活性、存储结构的简单性等。

  4. 数据独立性高:

    关系数据库的组织、使用不涉及物理存储因素和过程性因素,所以数据的物理独立性很高。

  5. 理论基础深

  6. 可移植性好

  7. 标准化程度高

    数据子语言SQL具有统一标准

  8. 分布式功能

    Client/Server分离;分布式数据库

  9. 开放性

    通过提供各种网络环境下的数据访问接口实现系统的开放性

2 关系数据库系统衡量准则

初期的‘六条准则’(1974年IFIP会议)
  • 提供高度的数据独立性

  • 提供严格的数据视图

    • 视图是一种虚拟的关系,可由用户通过数据库中的基本关系导出,可直观理解为一张”虚拟的表“,其中的数据由用户对原始表数据筛选而来。

  • 减轻DBA的工作

    • DBA是数据库管理员的意思

  • 建立理论基础

  • 事务管理与文件管理相结合

  • 操作对象是记录集合,而不是单个记录

完全关系型的12条严格标准(1985年)
  1. 信息准则

    关系数据库的所有信息都应能在逻辑一级唯一地用‘表’中的值显式表示;数据库的结构描述信息也应在逻辑上组织成关系形式

  2. 确保访问准则

    应能保证用逻辑方式依靠表名、关键字值与列名的组合来访问数据库中每一个原子数据

  3. 空值的关系处理准则

    系统应该有处理空值的能力。定义空值的比较运算,含有空值的表达式计算,含有空值成员的集合上的统计运算等。

  4. 基于资源管理的动态联机目录

    ‘数据库的描述信息’与‘用户数据’具有相同的表示形式与操作方式。被授权用户可以采用同样的方式对‘数据库的描述信息’进行查询与扩充。

  5. 统一易用的数据子语言

  6. 视图更新准则

  7. 高级的插入、删除及修改操作

  8. 物理数据独立性

  9. 逻辑数据独立性

  10. 数据完整性原则

  11. 分布独立性

  12. 无损害原则

    如果某关系数据库管理系统允许使用每次处理一个元组的低级语言,则此种使用不能损害数据完整性准则。

依据上述衡量准则对关系数据库产品的类别划分

基于上面的12条标准,关系数据库产品可分为三类:

  1. 半关系型系统:满足12条中的少量要求

  2. 基本关系型系统:满足12条中的大部分要求

  3. 完全关系型系统:严格符合全部12条要求

3 关系模型数学理论——关系代数(重点)

3.1 名词术语解释

二维表(简称表)的组成有表框架元组

  • 表框架(Frame)由​个命名的属性组成。每个属性有一个取值范围,即值域。

  • ​被称为表的元数(n元表)。

元组

  • 在表框架中可按行存放数据,其中的每行数据被称为元组。

  • 一个元组由n个分量组成,它们对应着表框架中的属性。

  • 一个表框架可以存放m个元组,m被称为表的基数。

  • 在二维表中能够唯一最小标识元组的属性集称为该表的键,或“关键字”。

  • 在键中可选中一个键,称为“主键”,其余为“候选键”。

外键

  • 如果表A中的属性集F是表B的键,则F为表A的“外键”。

  • 其中,表A称为“引用表”,表B为“被引用表”。

  • 表A和表B可以是一个表。

3.2 关系上的操作

关系模型上的数据查询操作可分为四类:增、删、改、查。

  • 数据查询:

    • 单张表的数据查询:行选择(选择满足某些逻辑条件的元组)--列指定(指定关系中的一些属性)

    • 两张表的~:先将两种表合并为一张,再同单张表一样进行查询。

    • 多张表的~:将多张表两两合并整合成一张大表,再进行查询。我对这部分持保留意见

  • 数据删除:

    • 数据删除的基本单位是元组。确定被删除的元组的方式可以参照数据查询中确定元组的方式。

    • 一次删除只能删除一个关系内的元组(就是只能在一张表内删)。

  • 数据插入:在指定关系中插入一个或多个新的元组。同样一次插入操作只能向一个关系中新增元组。

  • 数据修改:在一个关系中修改指定元组的某些列上的值。

    • 数据修改操作的具体实现方式是先删除要修改的元组,再插入修改后的新元组。

3.3 用关系代数表示关系

表的表示方式

有一个二维表,其数据如下:

snonamedept
1张三数学
2李颖英语
3王华语文

上述关系可表示为下面的集合:S={(1,张三,数学),(2,李颖,英语),(3,王华,语文)}

关系运算的表示
  • 并操作:R \cup S(这里R和S都是集合,下同)

  • 交运算:R \cap S

  • 差运算:R-S

  • 投影运算:设关系R有n个属性A_1,A_2,..,A_n,在其中选取m个属性B_1,B_2,...,B_m的投影运算表示为\Pi_{B_1,b_2,...,B_m}(R),B_i\in \{A_1,A_2,...,A_n\}.

    • 直观理解:运算结果是从R中选择出了这m列。

  • 选择运算:\sigma_F(R),其中F是条件,由若干基本逻辑条件经逻辑运算符(\and, \or)组合成

    • 例如:查询‘人事档案’表E中‘年龄’小于或等于20岁的女职工

    • 写法:\sigma_{年龄\leq20\and性别=‘女’}(E)

  • 可以结合投影和选择运算来实现单张表的查询操作,形如:\Pi_A(\sigma_F(R))

    • 可以简写为:\Pi_{A}\sigma_{F}(R)。未加括号时,运算顺序为从右到左

  • 笛卡尔乘积运算:R\times S

  • 除运算:R\div S

    结果元组为关系S的所有元组在关系R中所对应的同一个值。看图理解可能更直观:

  • 联接运算: R \bowtie_F S(原本F应该写在符号正下方的,打不出来了)

    F表示连接条件。从关系R和S中分别任取一个元组r和s,如果它们满足联接条件F,则 将r和s合并构成结果关系T中的一个元组。且有以下推导公式:

    • 自然联接运算:不写联接条件F,直接写R \bowtie S就是自然联接运算。这时,联接条件就是R和S中的公共属性完全相同。下面是一个例子:

  • 此外还有外联接、左外联接、右外联接。(TODO:这部分PPT没详写,之后得自己补上)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值