数据库
首页 > 数据库> > U2-关系数据库

U2-关系数据库

作者:互联网

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

2.1.1 关系

1-域

eg.{0, 1}; {man, woman}

2-笛卡尔积

eg.给定一组域D1,D2,D3,,,,则其笛卡尔积为:D1*D2*D3...={(d1,d2,d3,....) | di∈Di}

  1. 没一个元素(d1,d2,d3...,dn)叫做一个n元组(简称元组),元组的每一个值di叫做一个分量。
  2. 一个域允许的不同取值个数称为这个域的基数

3-关系

基本关系的六条性质:
  1. 列是同质的:每个列中的分量是同一类型的数据,来自同一个域。
  2. 不同的列可出自同一个域,此时每一个列为一个属性
  3. 列的顺序无所谓:列的次序可以任意调换
  4. 任意两个元组的候选码不能取相同的值
  5. 行的顺序无所谓
  6. 分量必须取原子值,每一个分量都必须是不可分的数据项。

2.1.2 关系模式

关系模式是型,关系是值。关系模式是对关系的描述。

2.1.3 关系数据库

  1. 关系数据库的型也成为关系数据库模式,是对关系数据库的描述
  2. 关系数据库的值是这些关系模式在某一时刻对应的关系的集合 - 关系数据库。

2.2 关系操作

2.2.1 基本关系操作

  1. 查询:集合操作方式,即操作的对象和结果都是集合
    • 查询的五种基本操作:选择、投影、并、差、笛卡尔积
  2. 插入
  3. 删除

2.2.2 关系数据语言的分类

  1. 关系代数语言(ISBL)
  2. 关系演算语言
    1. 元组关系演算语言(ALPHA,QUEL)
    2. 域关系盐酸语言(QBE)
  3. 关系代数和关系演算双重特性:SQL
    • SQL是一种结构查询语言,集查询、数据定义、数据操纵和数据控制于译题的关系数据语言。(高度非过成化)
  4. 修改

2.3 关系完整性

2.3.1 实体完整性

2.3.2 参照完整性

若F为基本关系R的一个或一组属性但不是R的码,Ks是基本关系S的主码。若F与Ks相对应,则F是R的外码,R为参照关系,S是被参照关系或目标关系。(RS可为同一关系)

2.3.3 用户定义完整性

用户定义完整性即为针对某一具体关系数据库的约束条件,其反映某一具体应用所涉及的数据必须满足的语义要求。

2.4 关系代数

关系代数是一种抽象的查询语言,用对关系的运算来表达查询

2.4.1 传统集合运算(二目运算)

  1. 并:R∪S={t|t∈R V t∈S}
  2. 差:R-S={t|t∈R ⋀ t ∉ S}
  3. 交:R∩S={t|t∈R ⋀ t∈S}
  4. 笛卡尔积:R*S={tr⌒ts|tr∈R⋀ts∈S}

2.4.2 专门的关系运算

1-符号引入

  1. 设关系模式为R(A1,A2...An),其一关系设为R,t∈R标识t是R的一个元组。t[Ai]表示元组t中相应于属性Ai的一个分量
  2. 若R为n目关系,S为m目关系。tr∈R,ts∈S,tr⌒ts称为元组的链接或元组的串接,其是一个n+m列的元组
  3. 若A={Ai1,Ai2,Ai3,...,Aik},Ain为Ai中的一部分,则A称为属性列或属性组。t[A]=(t[Ai1],t[Ai2],t[Ai3]...)表示元组t在属性列A上诸分量的集合,A平均表示{A1,A2,...}去除{Ai1,Ai2,...}后剩余的属性组。
  4. 给定关系R(X,Z),XZ为属性组。当t[X]=x时,x在R中的象集定义为:Zx={t[Z]|t∈R,t[X]=x},表示R中属性组X上值x的诸元组在Z上分量的集合。

2-关系运算定义

  1. 选择(限制)
  2. 投影:关系R上的投影是从R中选择若干属性列组成新得关系
  3. 连接(join):两个关系的笛卡尔积中选取属性间满足一定条件的元组
  4. 除运算:设关系R除关系S结果为关系T,则T包含所有在R但不在S中的属性和值,且T的元组与S的元组的所有组合都在R中

3-符号整理

image

标签:关系,...,元组,关系数据库,完整性,U2,属性
来源: https://www.cnblogs.com/jingqz/p/15324425.html