数据库系统概论第二章总结

数据库系统概论第二章总结

第二章 关系数据库

第二章其实可以不必过于紧张,这一章主要是为了后面的sql查询语言做铺垫,这是独立的一章,期末肯定会考,但考的不多。主要了解

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

数据模型三要素:关系模型由关系数据结构、 关系操作集合和关系完整性约束三部分组成

2.1.1 关系

关系:关系模型的数据结构非常简单, 只包含单一的数据结构。

关系的三种类型:基本关系(通常又称为基本表或基表)、 查询表和视图表

简而言之,还是表单

  • 域(domain):是一组具有相同数据类型的值的集合
  • 笛卡尔积(Cartesian Product):笛卡儿积是域上的一种集合运算

笛卡尔积,简而言之就是全排列,如果不知道的话,自己搜,按照我说的是全排列你就明白了

  • 关系 (relation)
    • 候选码 (candidate key):若关系中的某一属性组的值能唯一地标识一个元组, 而其子集不能, 则称该属性组为候选码
    • 主码 (primary key):若 个关系有多个候选码, 则选定其中一个为主码
    • 主属性(prime attribute):候选码的诸属性称为主属性
    • 非主属性(non-prime attribute)或非码属性(non-key attribute):不包含任何候选码中的属性称为非主属性

这里指的是一张表单,有多个码的时候,选一个做主码,其他的为候选码,然后,主码的属性对于主属性,其他不能作为码的属性就叫做非主属性

简而言之,还是上一章,概念模型中的东西

总结:主要知道候选码、主码等概念,然后就是基本关系(通常又称为基本表或基表)、 查询表和视图表

2.2 关系操作

2.2.1 基本的关系操作
  • 常用:查询 (query) 操作和插入 (insert)、 删除 (delete) 、 修改 (update)
  • 查询 (query) :选择(select )、投影 (project)、连接 (join )、除 (divide)、并 (union )、差 (except)、交 (intersection) 、 笛卡儿积等。
  • 特点:操作的对象和结果都是集合

总结:基本操作还是,增删改查,难点可能就是怎么个查法了。8种方法要记住,

2.2.2 关系数据语言的分类

分类:关系代数(relational algebra) 和关系演算 (relational calculus)

2.3 关系的完整性

定义:实体完整性 (entity integrity)、参照完整性 (referential integrity) 和用户定义的完整性 (user-defined integrity)。

2.3.1 实体完整性规则

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

简而言之,一个表的主属性不能为空

2.3.2 参照完整性

参照关系定义:设F是基本关系R的一个或一组属性, 但不是关系R的码,凡是基本关系 S 的主码。 如果 F 与凡相对应, 则称 F 是 R 的外码 (foreign key), 并称基本关系 R 为参 照关系 (referencing relation),基本关系S为被参照关系( referenced relation) 或目标关系(target relation)

请添加图片描述

简而言之,就是链接问题,用一个表的主属性与另一个表的非主属性链接,主属性的叫被参照关系,非主属性的交参照关系。并且,非主属性的表中的非主属性在主属性的表中叫做外码。

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

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

简而言之,就是被参照关系的那个非主属性,要么为null,要么与参照关系的主属性一 一对应

2.3.3 用户定义的完整性

书本上的解释:每插入一条记录, 必须在应用程序中写一段程序来检查其中的学号是否等千学生关系中的某个学号, 并检查其中的课程号是否等千课程关系中的某个课程号。 如果等千, 则插入这一条选修记录, 否则就拒绝插入, 并给出错误信息。

简而言之,用户定义规则,符号信息的插入,反之舍弃

2.4 关系代数

三大要素:运算对象、 运算符、 运算结果

请添加图片描述

运算符
2.4.1 传统的钜合运算 (4 种)

定义集合S、R

  1. 并(union):属于R或属于S的元组组成,记作 R U S
  2. 差(except):关系R与关系S的差,记作 R - S
  3. 交(intersection):既属于R又属于S的元组组成。关系的交可以用差来表示 ,记作R ⋂ \bigcap S = R - (R - S)
  4. 笛卡儿积 (cartesian product):若R有幻个元组, S有k2 个元组, 则关系R和关系S的笛卡儿积有k1 Xk2 个元组,记作RxS

这里记住符号即可,然后内涵在离散数学中讲过,这就不多赘述

2.4.2 专门的关系运算(4 种)

专门的关系运算包括选择、 投影、 连接、 除运算等

  1. 选择:选择又称为限制(restriction)。它是在关系R中选择满足给定条件的诸元组,记作 σ \sigma σF ®={t|t ∈ \in R ⋀ \bigwedge F(t)=‘真’} ,其中F表示选择条件, 它是一个逻辑表达式, 取逻辑值 “真” 或 “ 假 "。
    请添加图片描述
条件表达式中的运算符
  1. 投影(projection):关系R上的投影是从R中选择出若干属性列组成新的关系。记作 ∏ \prod A®={t[A]|t ∈ \in R}

简而言之,选出用户想要的属性,并且去重

  1. 链接(join):连接也称为 θ \theta θ连接。 它是从两个关系的笛卡儿积中选取属性间满足一定条件的元组

关系R中某些元组有可能在S中不存在公共属性上值相等的元组, 从而造成R中这些元组在操作时被舍弃了

  • 悬浮元组(dangling tuple):这些被舍弃的元组称为悬浮元组
  • 外连接(outer join):如果把悬浮元组也保存在结果关系中, 而在其他属性上填空伯(NULL), 那么这种连接就叫做外连接
  • 左外连接(left outer join或left join):如果只保留左边关系R中的悬浮元组就叫做左 外连接(left outer join或left join),
  • 右外连接(right outer join或right join):如果只保留右边关系S中的悬浮元组就 叫做右外连接(right outer join或right join)
  1. 除运算(division):设关系R除以关系S的结果为关系T, 则T包含所有 在R但不在S中的属性及其值,且T 的元组与S的元组的所有组合都在R中。

总结:选择、投影是对单表的表内操作,链接、除运算是对两个不同表的

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值