数据库系统概论第二章关系数据库

本文介绍了关系数据库的基础知识,包括关系数据结构、关系模式、关系操作如选择、投影和连接,以及实体完整性、参照完整性和用户自定义完整性这三大完整性约束。此外,还讨论了关系代数中的集合运算和专门的关系运算,如选择和投影等。
摘要由CSDN通过智能技术生成

二,关系数据库

2.1,关系数据结构及其形式化定义
2.1.1关系
  • 域:是一组具有相同数据类型的值的集合
  • 笛卡尔积:给定几组域,D1,D2…Dn,笛卡尔积定义为D1×D2×…×Dn
  • 关系:笛卡尔积在域上的子集称为关系,表示为R(D1,D2,…,Dn)
    • n=1时称为单元关系
    • n=2时称为二元关系
  • 候选码:若关系中的某一属性组的值能唯一的标识一个元组,而其子集不能,则称该属性为候选码。
  • 主码:若一个关系中有多个候选码,则选定其中一个为主码
  • 主属性:候选码的诸多属性称为主属性
  • 非主属性:不包含任何候选码中的属性称为非主属性或非码属性

关系可以有三种类型:

  • 基本关系(基本表或者基表)
  • 查询表
  • 视图表

基本关系有以下6种性质:

  • 列是同质的:即每一列的分量是同一类型的数据,来自同一个域
  • 不同的列可出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名
  • 列的顺序无所谓
  • 任意两个元组的候选码不能取相同的值
  • 分量必须取原子值,即每一个分量都必须是不可分的数据项

最基本的一条就是,关系的每一个分量必须是一个不可分的数据项

2.1.2关系模式
  • 关系的描述称为关系模式
  • 它可以形式的表示为R(U,D,DOM,F)
    • R为关系名,U为组成该关系属性名的集合,D为U中属性所来自的域,DOM为属性向域的映像集合,F为属性间数据的依赖关系集合。
2.2关系操作
2.2.1基本的关系操作
  • 选择、投影、并、差、笛卡尔积
2.2.2关系数据语言的分类
  • 关系代数(例如ISBL):用对关系的运算来表达查询要求
  • 关系演算:用谓词来表示查询要求
    • 可按谓词变元的基本对象是元组变量还是域变量分为:
    • 元组关系演算(例如ALPHA、QUEL)
    • 域关系演算(例如QBE)
  • 结构化的查询语言(例如SQL)
2.3关系的完整性

关系模式中有三类完整性约束:

  • 实体完整性
  • 参照完整性
  • 用户自定义的完整性
2.3.1实体完整性

实体完整性:若属性(指一个或一组)A是基本关系R的主属性,则A不能取空值。所谓空值就不知道或不存在或无意义的值

2.3.2参照完整性

设F是基本关系R的一个或者一组属性,但不是关系R的码,Ks是基本关系S的主码。如果F与Ks对应,则成F是R的外码,并称R为参照关系,基本关系S为被参照关系或目标关系。

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

  • 或者取空值(F的每个属性均为空值)
  • 或者等于S中某个元组的主码值
  • 空值
  • 非空值
2.3.3用户自定义的完整性
2.4关系代数
2.4.1传统的集合运算
  • 差:R-S表示属于R不属于S
  • 笛卡尔积:表中的每一行为一个元组,把几个表的每一个元组进行组合形成一个新的元组组成的表

例如:

关系R

A B C

1 2 3

4 5 6

关系S

A B

1 2

3 4

则R×S为:

R.A R.B R.C S.A S.B

1 2 3 1 2

1 2 3 3 4

4 5 6 1 2

4 5 6 3 4

R中k1个元组,m列

S中k2个元组,n列

R×S中(m+n)列,k1×k2个元组

2.4.2专门的关系运算

象集:

关系R

属性 属性列

x1 Z1

x1 Z2

x1 Z3

x2 Z1

x2 Z2

x3 Z3

属性取值x1,x2,x3

则象集:Zx1={Z1,Z2,Z3},Zx2={Z1,Z2},Zx3={Z1}

  • 选择

    • σF(表名),F(下标)为选择的条件,它是一个逻辑表达式
    • 例如在关系R中选出年龄大于18的,σage>18®
    • 等价与select *from R where age>18
  • 投影:从关系中选出若干属性列组合新的关系

    • ∏A(R),A为选出来的列名
    • 例如从关系R中选出age、sex等字段
    • 等价于select age,sex from R
  • 连接:从两个关系的笛卡尔积中选择符合要求的元组

    • R▷◁S

      A∅B

      从R和S的笛卡尔积中选出满足 A∅B的元组

    • 等值连接(特殊的一般连接):∅为=

    • 自然连接(特殊的等值连接):首先找表中同名属性,然后进行等值连接,合并两个同名的属性为一个

      • 悬浮元组:在R和S自然连接时,选择的是相等且同名的属性,会导致关系R中某些元组可能在S中不存在公共属性上相等的元组,从而造成R中的这些元组被舍弃,同样S的元祖也被舍弃,这些被舍弃的元祖称为悬浮元组。
      • 外连接:如果把悬浮元祖也保存在结果关系中,而在其他属性上填空值(NULL),那么这种连接叫做外连接。
      • 左外连接:如果只保留左边关系R的悬浮元祖叫做左外连接。
      • 右外连接:如果只保留右边关系R的悬浮元祖叫做右外连接。
  • 除运算

    • R÷S
    • 首先找两个表的同名属性
    • 前表求象集(非同名列的),后表求投影(同名列的)
    • 象集是否包含投影(投影是否是象集的子集)
2.5关系验算
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值