欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据库原理:笔记-0x01

程序员文章站 2022-05-09 09:02:17
...

关系数据结构及其定义

域和笛卡尔积

三个域:

D1=导师集合={刘老根,范德彪}
D2=专业集合={播种,浇水,松土}
D3=学生集合={张三,李四}

D1×D2×D3的笛卡尔积:

D1×D2×D3={
(刘老根,播种,张三),(刘老根,播种,李四),
(刘老根,浇水,张三),(刘老根,浇水,李四),
(刘老根,松土,张三),(刘老根,松土,李四),
(范德彪,播种,张三),(范德彪,播种,李四),
(范德彪,浇水,张三),(范德彪,浇水,李四),
(范德彪,松土,张三),(范德彪,松土,李四),
}

其中,(刘老根,播种,张三)(刘老根,播种,李四)等是元组;刘老根浇水李四等是分量。

关系

关系是笛卡尔积的有限子集,是一个二维表,表中的每一行称为元组(记录),表中的每一列称为属性。
  • 候选码(关键字):能够唯一地标识一个元组的属性或属性组合
  • 主码:候选码多于一个时,选其中之一。
  • 主属性:候选码中的属性。

基本关系具有的性质:
(1)不同的列可出自同一个域
(2)行、列的次序可任意交换
(4)任意两个元组不能完全相同
(5)每个分量必须是不可分的数据项

关系模式的定义:R(U, D, DOM, F)

  • R:关系名
  • U:组成关系的属性集合
  • D:属性集U所来自的域
  • DOM:属性向域的映象集合
  • F:属性间数据的依赖关系集合
    简记为:R(U, F)或R(U)

关系操作

数据库原理:笔记-0x01
(红色为基本操作)

关系的完整性

实体完整性

规则:若属性A是关系R的主属性,则A不能取空值(即不确定的值)
作用:用于标识实体的存在性(非空)与实体的可区分性(主码值唯一)
例:学生表中学号属性不能为空且取值唯一

参照完整性

外码:设F是关系R的一组属性,但不是R的码,若F与关系S的主码Ks相对应,则称F是关系R的外码。
规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值要么取空值(F中每个属性值均空),要么等于S中某个元组的主码值。

用户定义完整性

用于表达应用系统的特殊约束与语义要求
例:学生成绩A∈[0,100]、职工年龄B∈[18,60]

关系代数

关系代数运算符

数据库原理:笔记-0x01

集合运算

数据库原理:笔记-0x01
数据库原理:笔记-0x01

关系运算

选择运算(Selection)

含义:从关系中找出满足给定条件的元组构成新关系。
数据库原理:笔记-0x01
图解:
数据库原理:笔记-0x01
举例:
数据库原理:笔记-0x01

投影运算(Projection)

含义:从关系中挑选符合条件的属性组成新关系
图解:
数据库原理:笔记-0x01
举例:
数据库原理:笔记-0x01

连接运算(Join):

θ连接
数据库原理:笔记-0x01
数据库原理:笔记-0x01

等值连接:
数据库原理:笔记-0x01

自然连接是一种特殊的等值连接,两个关系中进行比较的分量必须是相同的属性组,在结果中把重复的属性列去掉。
外连接:如果把舍弃的元组也保存在结果关系中,而在其他属性上填空值(Null),这种连接就叫做外连接。
左外连接:如果只把左边关系R中要舍弃的元组保留就叫做左外连接。
右外连接:如果只把右边关系S中要舍弃的元组保留就叫做右外连接。

除运算(Division)

含义:R的元组在X上分量值x的象集Yx包含S在Y上投影的集合。
举例:
数据库原理:笔记-0x01
R和S共有的属性是B、C,R有但S没有的属性是A。
S在B、C上的投影:

B C
b1 c1
b2 c1
b2 c3

R中A的取值里,a1对应的象集:

B C
b1 c1
b2 c1
b2 c3

a2对应的象集:

B C
b3 c7
b2 c3

a3对应的象集:

B C
b4 c6

a4对应的象集:

B C
b6 c6

只有a1对应的象集包含S的投影,所以R➗S为:

A
a1

(遇到全部、所有、包含字眼的,用除运算)

相关标签: 数据库原理