数据库基础-02

二、关系数据库

一、关系数据库概述

——定义:支持关系模型的数据库系统

——三要素:关系数据结构(二维表

关系操作(选择、投影、链接、除、并、交、差等查、增、删、改)

完整性约束(实体、参照、自定义)

——关系数据语言:关系代数语言(ISBL)

关系演算语言(元组关系(ALPHA,QUEL)域关系(QBE))

具有关系代数和关系演算双重特点的语言(SQL)

二、关系数据结构

(一)、关系

——域:一组具有相同数据类型的值的集合,值的个数成为域的基数

——笛卡尔乘积(d1, d2, d3,..,dn)

——关系:笛卡尔乘积的任意子集称作集合上的关系

(二)、关系模式

——关系的描述称为关系模式,一般表示为R(U,D,DOM,F),其中,R是关系名,U是组成该关系的属性集合,D为属性组U中属性所来自的域,DOM是属性向域的映像集合,F是属性间数据的依赖关系集合。

(三)、关系数据库

——关系数据库的值(关系模式在某一时刻对应的关系集合)与关系数据库模式(关系数据库的型,对关系数据库的描述,包括域的定义等)通称为关系数据库。

三、关系的完整性

——实体完整性、参照完整性、自定义完整性

四、关系代数

  • 关系代数由一组关系运算组成,是对于关系的操作集。

  • 关系代数运算符

    • 集合运算符:交、并、差、笛卡尔积

    • 专门运算符:σ选择、Π投影、▷◁链接、除

    • 比较运算符:>、≥、<、≤ 、=、≠

    • 逻辑运算符:非、与、或

  • 常用的关系运算

    • 交、并、差、笛卡尔积、投影、选择、链接、除

  • 基本关系运算

    • 并、差、笛卡尔积、投影、选择

  • 同类选择:具有相同的度,且两个关系每个属性属同一个域

(一)、传统集合运算(easy)

(二)、专门的关系运算

引入以下记号:

  • 关系模式R(A1, A2, A3,...,An),它的一个关系为R1, t∈R1表示t是R1的元组,t[Ai]则表示元组t中相应于Ai的一个分量

  • A1, A2, A3,...,An的一部分成为属性列(组)或域列t[A] = ∑ t[Ai]

  • R为n元关系,S为m元关系。m+n列元组,前几个分量为R中的一个n元组,后m个分量为S中的一个m元组

1.投影

—关系R上的投影是从R中选择出若干属性、 并且去掉重复元组组成一个新关系。

\prod_A(R) = \{t[A]|t\in R\}

2.选择

——又称限制,在给定的关系R中,抽出满足条件的元组,组成一个新关系,新关系与原关系同类,是原关系的一个子集

\sigma_F(R) = \{t \in R\cap F(t) = 'true'\}

3.链接

——从两个关系的笛卡尔乘积中选取属性满足一定条件的元组,组成新的关系。

  • 等值链接:θ为"="是称为等值连接

  • 自然连接:两个关系中具有相同的属性,并且在相同的属性上做等值链接。自然链接需要取消重复列,而等值链接不需要

4.除法

——给定关系R(X,Y)和S(Y,Z),R中的Y和S中的Y必须有相同的域,记R÷S。令P(x)=R÷S,则P是R中满足以下条件的元组在X属性列上的投影:元组在X上的分量值x的像集Yx包含S在Y上投影的集合。

5.其他

  • 外链接:自然连接时,该舍弃的元组未舍弃,如果R中该舍弃保留称左链接,如果S中该舍弃保留称右链接,新增属性值添NULL

  • 外部并:R和S不同类,属性由R和S属性组成,新关系的元组由R或S元组构成、新增的属性添NULL

  • 半链接:R和S的自然链接在关系R的属性集上的投影

(三)、关系代数式的等价原则

1.链接、笛卡尔积交换律

2.链接、笛卡尔积结合律

3.投影的串接定律

4.选择的串接定律

\sigma_{F1}(\sigma_{F2}(R)) \equiv \sigma_{F1\cap F2}(R)

5.选择和投影的交换律

\prod_{A1,A2,\dots,An}(\sigma_F(R))\equiv\sigma_F(\prod_{A1,A2,\dots,An}(R))

\prod_{A1,A2,\dots,An}(\sigma_F(R))\equiv \prod_{A1,A2,\dots,An}(\sigma_F(\prod_{A1,A2,\dots,An,B1,B2,\dots,Bn}(R)))

6.选择对笛卡尔积的分配律

\sigma_F(E1*E2) \equiv \sigma_{F1}(E1)*\sigma_{F2}(E2))

\sigma_F(E1*E2)\equiv\sigma_F(E1)*E2

\sigma_F(E1*E2)\equiv \sigma_{F2}(\sigma_{F1}(E1)*E2)

7.选择对并的分配率

\sigma_F(E1\cup E2)\equiv \sigma_{F1}(E1) \cup \sigma_{F2}(E2)

8.选择对差的分配律

\sigma_F(E1-E2)\equiv \sigma_{F1}(E1) - \sigma_{F2}(E2)

9.投影对笛卡尔积的分配律

\prod_{A1,A2,\dots,An,B1,B2,\dots,Bn}(E1*E2)\equiv \prod_{A1,A2,\dots,An}(E1)*\prod_{B1,B2,\dot,Bn}(E2)

10.投影对并的分配律

\prod_{A1,A2,\dots,An}(E1\cup E2)\equiv\prod_{A1,A2,\dots,An}(E1)\cup\prod_{A1,A2,\dots,An}(E2)

11.选择对自然链接的分配律

\sigma(E1\triangleright \triangleleft E2)\equiv\sigma_{F1}(E1){\triangleright \triangleleft }\sigma_{F2}(E2)

12.选择与链接操作的结合律

\sigma_F(E1*E2)\equiv E1 {\triangleright \triangleleft }_{F} E2

\sigma_{F1}(E1){\triangleright \triangleleft }_{F2}E2)\equiv E1{\triangleright \triangleleft }_{F1\cap F2}E2

—————————————基于语法树优化———————————

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值