Chapter2 关系数据库

关系数据库

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

定义

  • 关系:是笛卡尔积的有限子集,可以用二维表表示,每行对应一个元组(Tuple),每列对应一个域(Domain)
  • 候选码:该属性可以唯一地标识一个元组(候选码可以有多个)
  • 主码:选定一个候选码为主码
  • 主属性与非主属性:所有候选码的属性均成为主属性,其余的即为非主属性(或称非码属性)

关系的基本性质

image-20200916112037268

关系模式

关系模式是(静态),关系是(动态)

image-20200916112327522

关系数据库

关系数据库的型也称关系数据库模式,其值简称为关系数据库

关系操作

image-20200916183400552

关系的完整性

image-20200916183603893

实体完整性

主码作为唯一性标识不能取空值(无意义值)

参照完整性

外码:

0F0FF0DDA53CD453A590C4548C70FDE8

FA41B453C2D365A49C152E35B8123610

32044566EED0118C54C54F56DA3E979C

参照完整性规则

image-20200916190748589

用户定义的完整性

针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求

练习

image-20200916191232440
  1. 成功
  2. 课程号作为主码被赋予空值,违背实体完整性规则
  3. 同2
  4. 主码正常赋值但S与C中没有对应数据,违背参照完整性规则

关系代数

image-20200916192123138

传统的集合运算65916E777821890543086632BCB5D01B

专门的关系运算

C247B3ED3039D1CFD0835A0BF6378FDD

2D9637F3CA5D49A4560C11D1D80A701C

练习

image-20200916195236801

以学生-课程数据库为例

image-20200916195613319

删除关系中部分数据

投影

针对列(注意投影后会消除重复行,相当于默认使用了DISTINCT)

99C8A68CCB4CAF94764FCC339504EB09

选择

针对行

image-20200916200341740

关系的连接

非等值连接 等值连接 自然连接

A9A7458A7E56C93C02575081983B61C6

自然连接是一种特殊的等值连接:自然连接就是在将R,S中的同名属性等值连接的基础上去掉重复列

外连接
悬浮数组:自然连接过程中被舍弃的元组,如上图 R 中的第四个元组和 S 中的第五个元组

若将悬浮数组保留,此连接便称作外连接

左外连接

保留左边关系R中的悬浮数组,

右外连接

保留右边关系S的悬浮数组

image-20200916202521120

除运算

DEDE53D19460CB89385F02CD9B1ABBF1

原文地址:https://www.cnblogs.com/potofsalt/p/13681393.html