数据库——关系数据模型

第二章  关系数据模型

1   数据模型

    1. 定义

数据模型是一个描述数据、数据联系、数据语义、以及数据一致性约束的工具集合,例如关系模型、实体-联系模型、基于对象的数据模型

    1. 基本要素

数据结构:是对系统静态特征的描述

数据操作:对数据库中各种对象的实例允许执行的操作的就和,包括操作及有关的操作

规则。两大类操作包括:检索、更新(插入、删除、修改),数据模型必须定义操作的确切含义、操作符号、操作规则(如优先级)及实现操作的语言,是对系统动态特征的描述

数据的约束条件:是一组完整性规则的集合,反映和规定本数据模型必须遵守的基本的

通用的完整性约束条件,数据模型还应提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件

  1. 关系数据模型
    1. 关系模型:

关系:用于表示现实世界的实体以及实体间的各种联系,从用户的角度,关系模型中的

数据的逻辑结构是一张二维表,建立在集合代数的基础上

域:属性的取值范围。同一属性只能在相同域中取值

元组:表中的每一行,表示一个实体,关系是由元组集合

属性:表中的每一列,每个属性都有一个属性名,属性值是各元组属性的取值

分量:元组中的一个属性值

键:能唯一区分不同元组的属性或属性组合,也称为关键字、码,关键字的属性值不能

取“空值”

候选键:凡能够唯一区分不同元组的属性或属性组合。主属性:包括在候选键中的属性

非主属性:不包括在候选键中的属性

主键:当一个关系中有多个候选健的时候,则从中选定一个作为关系的主键,每个关系

中有且只有一个主键。

外键:某个属性或属性组合并非该关系的键,但却是另一个关系的主键,称此属性或属

性组合为本关系的外键。

    1. 关系模式

是对关系的描述

关系模式通常可以简记为R (U) 或 R (A1,A2,…,An)

    1. 关系数据库

在一个给定的应用领域中,所有实体及实体之间联系的关系的集合构成一个关系数据库。

    1. 数据约束

数据模型中固有的约束,分为可以和不可以在数据模型的模式中直接表述的约束

  1. 关系
    1. 域、笛卡尔积和关系

域:是一组具有相同数据类型的值的集合。

笛卡尔积:给定一组域D1,D2,…,Dn,允许其中某些域是相同的。

    D1,D2,…,Dn的笛卡尔积为:

D1×D2×…×Dn =  {(d1,d2,…,dn)|diÎDi,i=1,2,…,n}

其中每一个元素( d1,d2,…,dn )叫作一个n 元组,元组中每一个值 di 叫做一个分量。

基数:若Di(i=1,2,…,n)为有限集,其基数为mi(i=1,2,…,n),则D1×D2×…×Dn的基数M为:

笛卡儿积的表示方法:笛卡尔积可表示为一张二维表,表中的每行对应一个元组,表中的每列对应一个域

文本  描述已自动生成

    1. 关系完整性

三类完整性约束:

实体完整性和参照完整性:关系模型必须遵守的两个约束条件,称为关系的两个不变性,

应该由关系系统自动支持

用户定义的完整性:应用领域需要遵循的约束条件,体现了具体领域中的语义约束

空:代表当前不知道或是对这个元组不可用的一个属性值。空是处理不完整或异常数据

的一种方法。空并不等于零值或空格所组成的字符串 。

实体完整性:基本关系的所有主关键字对应的主属性都不能取空值,实体完整性是针对

表中行的完整性,要求表中所有行都有唯一标识符

关系间的引用:在关系模型中实体及实体间的联系都是用关系来描述的,因此可能存在

着关系与关系间的引用。

外码(外键):

设F是基本关系R的一个或一组属性,但不是关系R的码。如果F与基本关系S的主

码Ks相对应,则称F是R的外码

基本关系R称为参照关系(Referencing  Relation)

基本关系S称为被参照关系(Referenced Relation)或目标关系(Target Relation)

关系R和S不一定是不同的关系(导师,学生,辅助导师)

目标关系S的主码Ks 和参照关系的外码F必须定义在同一个(或一组)域上

外码并不一定要与相应的主码同名

当外码与相应的主码属于不同关系时,往往取相同的名字,以便于识别。

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

            或者取空值( F的每个属性值均为空值)

            或者等于S中某个元组的主码值

    1. 关系代数

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

    1. 关系代数
      1. 并运算,差运算,交运算
      2. 笛卡尔积

两个分别为n目和m目的关系R和S的笛卡尔积是一个(nm)列的元组的集合。元组的前n列是关系R的一个元组,后m列是关系S的一个元组。若R有k1个元组,S有k2个元组,则关系R和关系S的笛卡尔积有k1k2个元组。记为:

形状  中度可信度描述已自动生成

R´S的度为R与S的度之和, R´S的元组个数为R和S的元组个数的乘积。

      1. 选择运算

从关系中找出满足给定条件的所有元组,从行的角度进行的运算,即水平方向抽取

元组。经过选择运算得到的结果可以形成新的关系,其关系模式不变,但其中元组的数目小于或等于原来的关系中的元组的个数,它是原关系的一个子集。

sF(R)={t | t Î R , F(t) = ‘真’}

图示  描述已自动生成

      1. 投影运算

从关系中挑选若干属性组成新的关系 。

PA(R) = { t[A] | tÎR } , AÍR

从列的角度进行的运算,即垂直方向抽取元组。

投影的结果中要去掉相同的行,即不含重复元组

图示, 工程绘图  描述已自动生成

      1. 连接运算

从两个关系的笛卡尔积中选取属性间满足一定条件的元组     

徽标, 公司名称  描述已自动生成

文本  描述已自动生成

图示, 工程绘图  描述已自动生成

      1. 等值连接

表格  描述已自动生成

      1. 自然连接

一种特殊的等值连接,θ为“=”的连接运算称为等值连接

计算笛卡尔积R×S,选择在R和S共有的所有属性上取值相同的元组,去掉重复属性,如果两个关系没有公共属性,自然连接就是笛卡尔积

表格  描述已自动生成

      1. 左连接

R左连接S:R的所有元组和连接字段相等处的S的元组,没有属性的列补空值

手机屏幕的截图  中度可信度描述已自动生成

      1. 右连接

R右连接S:S的所有元组和连接字段相等处的R的元组,没有属性的列补空值。

表格  中度可信度描述已自动生成

      1. 除法运算

表格  描述已自动生成

给定一个关系R(X,Z),X和Z为属性组。当t[X]=x时,x在R中的象集(Images Set)为:Zx={t[Z]|tR,t[X]=x}

表示R中属性组X上值为x的诸元组在Z上分量的集合。

其中,t[Z]和t[X]分别表示关系R中元组t在属性组Z和X上的分量的集合

X取a1时的象集为Zx={(b1),(b2)}

X取a2时的象集为Zx={(b1)}

X取a3时的象集为Zx={(d1)}

给定关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上的投影:

   R元组在X上分量值x的象集Yx包含S在Y上投影的集合。

R÷S = {tr [X] | tr Î∧ πY (S) Í Yx }

Yx:x在R中的象集,x = tr[X]

表格, 日历  中度可信度描述已自动生成

日历  描述已自动生成

找出R÷S的结果属性(只属于R不属于S的属性),为A

关系R中,A可以取四个值{a1,a2,a3,a4}

  a1的象集为 {(b1,c2),(b2,c3),(b2,c1)}

 a2的象集为 {(b3,c7),(b2,c3)}

 a3的象集为 {(b4,c6)}

 a4的象集为 {(b6,c6)}

S在(B,C)上的投影为:   {(b1,c2),(b2,c1),(b2,c3) }

只有a1的象集包含了S在(B,C)属性组上的投影

∴  所以     R÷S = {a1}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值