2.关系数据库

学习过程参考(后续章节同)
【公开课】数据库系统概论(王珊老师)(完结)

《数据库系统概论》思维导图

【专栏必读】数据库系统概论第五版(王珊)专栏学习笔记目录导航及课后习题答案详解

数据库系统概论课后习题答案(第五版 王珊、萨师煊)

一、思维导图

在这里插入图片描述
(关系演算可忽略)

二、基础梳理

  • 域:一组 具有相同数据类型的 值的集合
  • 笛卡尔积:是一种域上面的集合运算,得到每个域中元素的所有可能的组合,它可以表示为一张二维表
    (笛卡儿积是没有实际意义的,只有某些真子集才有实际意义)
  • 关系:在域D1,D2,…,Dn上笛卡儿积D1D2…*Dn的子集,表示为R(D1,D2,…,Dn)
  • 元组:关系中的每个元素是关系中的元组
  • 属性:表中的每一列

关系模型三个组成部分

  • 关系数据结构
  • 关系操作集合
  • 关系完整性约束
    • 实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值
    • 参照完整性规则:若属性(或属性组)F是基本关系R的外码它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:
      • 或者取空值(F的每个属性值均为空值)
      • 或者等于S中某个元组的主码值
        (实体&参照完整性是关系模型必须满足的完整性约束条件,称为关系的两个不变性(由关系系统自动支持))
    • 用户定义的完整性:针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求

关系数据语言的特点和分类

  • 共同特点:
    语言具有完备的表达能力
    是非过程化的集合操作语言
    功能强,能够嵌入高级语言中使用
  • 关系数据语言可以分为三类:
    关系代数语言。
    关系演算语言:元组关系演算语言和域关系演算语言。
    SQL:具有关系代数和关系演算双重特点的语言

  • 候选码:如果关系中的某一属性组能唯一标识 一个元组,而其子集不能,则称该属性组为候选码

  • 超码:能够唯一标识 一条记录的属性或属性集。
    超码是候选码的扩充,候选码是最小的超码

  • 主码:能够唯一标识 一条记录的 最小属性集
    (若一个关系有多个候选码,则选其一为主码)

  • 全码:关系中的所有属性组都是该关系模式的候选码

  • 外码:是本关系的属性但不是码,而是另一个关系的主码
    (参照表和被参照表可以是同一个表,
    例如课程(课号,课名,先修课))

  • 主属性:包含在候选码中的属性

  • SQL:即结构化查询语言,是一种高度非过程化的语言,集数据查询、数据操纵、数据定义、数据控制功能于一体。是关系数据库的标准语言
    (关系语言特点:高度非过程化
    关系代数特点:集合操作方式)

  • 多个选择条件的优先级
    在这里插入图片描述

  • 自身连接的更名操作
    在这里插入图片描述

  • 类似一个人不能同时是清华和北大的研究生

在这里插入图片描述

  • ∪,-,∩:有并相容性(属性数目(目)相等,属性域相同)
    ①错,只能排除只选了2号课的同学
    ②错,不能进行差运算(因为不满足 相容性
    ③对,②的基础上加了层投影改正
    在这里插入图片描述
    在这里插入图片描述

  • 并:或者……或者……

  • 交:既……又……

  • 除:查询……全部的/所有的……
    在这里插入图片描述

  • 了解概念即可
    在这里插入图片描述

!!!做关系代数的思维

在这里插入图片描述

等值连接VS自然连接

  • 区别:
    • 等值连接不要求两个关系中进行比较的分量是相同的属性组,而只要可以进行相等比较即可,是从行进行的一种运算。
    • 自然连接要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,是从行和列进行的一种运算。
  • 联系:
    等值连接是关系的广义笛卡尔积的子集。
    自然连接是一种特殊的等值连接。即两者都是两个关系连接之后的产物。
    (等值连接:连接运算符是“=”的连接运算称为等值连接,它是从关系R和S的广义笛卡尔积中选取A,B属性值相等的那些元组
    自然连接:自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉

三、习题

1.选

2004

在这里插入图片描述
(A 表中不能有表)
在这里插入图片描述
(B 投影是对列的操作)

章节习题
  • 例如不规范化(表中有表)
    在这里插入图片描述
    (C)
  • 同上在这里插入图片描述
    (B 属性的个数也称目/度/元)

2.填

2004

在这里插入图片描述
选择 投影 连接 除

章节题

在这里插入图片描述(θ)

3.判

2002

4.关系R度数为n,关系S的度数为m,则R与S的连接运算产生的新关系的度数必为n+m。(错)
(自然连接的话,小于n+m)

2004

在这里插入图片描述
(错)
在这里插入图片描述
(对)

4.简答

5.计算

四、课后题答案

1. 关系模型的三大组成部分

关系数据结构
关系操作集合
关系完整性约束

2. 关系数据的 特点&分类

  • 共同特点:
    语言具有完备的表达能力
    是非过程化的集合操作语言
    功能强,能够嵌入高级语言中使用
  • 关系数据语言可以分为三类:
    关系代数语言。
    关系演算语言:元组关系演算语言和域关系演算语言。
    SQL:具有关系代数和关系演算双重特点的语言
    在这里插入图片描述

3定义术语,分析之间的联系&区别

(1)

  • 域:一组具有相同数据类型的值的集合(属性的取值范围)
  • 笛卡尔积:是一种域上面的集合运算,得到每个域中元素的所有可能的组合,它可以表示为一张二维表
  • 关系:在域D1,D2,…,Dn上笛卡儿积D1xD2x…xDn的子集称为关系,表示为R(D1,D2,…,Dn)(一个关系对应一张表)
  • 元组:表中的一行或者一条记录
  • 属性:表中的一列

(2)

  • 候选码:若关系中的某一属性组的值能唯地标识一个元组,而其子集不能,则称该属性组为候选码( candidate key)。
  • 主码:若一个关系有多个候选码,则选定其中一个为主码(primary key)。
  • 外码:设F是基本关系R的一个或一组属性, 但不是关系R的码,如果F与基本关系R的主码K相对应,则称F是基本关系R的外部码( foreign key),简称外码。
    (3)
  • 关系模式:关系的描述称为关系模式( relation schema)。它可以形式化地表示为
          R(U,D,DOM,F)
    其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,DOM为属性向域的映像集合,F为属性间数据的依赖关系集合。
  • 关系:见(1)
  • 关系数据库:在一个给定的应用领域中,所有关系的集合构成一个关系数据库
    (关系数据库也有型和值之分。关系数据库的型称为关系数据库模式,是对关系数据库的描述,它包括若干域的定义以及在这些域上定义的若干关系模式。关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常就称为关系数据库。

4.关系VS关系模型

关系模式是型;关系是值,是关系模式的实例。
关系是关系模式在某一时刻的状态或内容。

关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。
例如:
Student( Sno,Sname ,Sage) 是关系模式,下面的表是关系,即某一时刻关系模式的值。
Sno Sname Sage
S1 张俊丽 18
S1 李红钰 19

5.完整性约束

关系模型中可以有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。关系模型的完整性规则是对关系的某种约束条件。

  • 实体完整性规则
    若属性A是基本关系R的主属性,则属性A不能取空值。
  • 参照完整性规则
    若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:
       或者取空值(F的每个属性值均为空值);
       或者等于S中某个元组的主码值。
  • 用户定义的完整性:
    是针对某一具体关系数据库的约束条件。它反映某一具体应用所设计的数据必须满足的语义要求。
       在参照完整性中,如果外码属性不是其所在关系的主属性,则可以取空值,否则不能取空值。

6.关系代数

1)求供应工程 J1 零件的 供应商号码SNO:
πSno(σJno=‘J1’(SPJ))

2)求供应工程J1 零件 P1的 供应商号码SNO:
πSno(σJno=‘J1’∧Pno=‘P1‘(SPJ))

3)求供应工程J1零件为红色的供应商号码SNO:
πSno(πSno,Pno(σJno=‘J1‘ (SPJ))∞πPno(σCOLOR=’红‘ (P)))
(红色&J1 的SNO)
4)求没有使用天津供应商生产的红色零件的工程号JNO:
πJno(SPJ)- πJNO(σcity=‘天津’∧Color=‘红‘ (S∞SPJ∞P)
(排除掉 天津产&红色 的JNO)
(也可以非掉两次(嵌套)投影的天津&红色)
5)求至少用了供应商S1所供应的全部零件的工程号JNO:
πJno,Pno(SPJ)÷ πPno(σSno=‘S1‘ (SPJ))
(关键是找到SI提供的全部零件,借助实际意义锁定SPJ表)

7.等值连接VS自然连接

  • 区别:
    等值连接不要求两个关系中进行比较的分量是相同的属性组,而只要可以进行相等比较即可,是从行进行的一种运算。
    自然连接要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,是从行和列进行的一种运算。
  • 联系:
    等值连接是关系的广义笛卡尔积的子集。
    自然连接是一种特殊的等值连接。即两者都是两个关系连接之后的产物。
    (等值连接:连接运算符是“=”的连接运算称为等值连接,它是从关系R和S的广义笛卡尔积中选取A,B属性值相等的那些元组
    自然连接:自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉

8. 关系代数的基本运算,与其他运算关系

并、差、笛卡尔积、投影和选择是基本运算(五个吉吉算)。
其余运算(交、连接、除)均可由基本运算导出

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值