数据库原理及应用——关系数据库详解

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

关系
关系模式
关系数据
关系模型的存储结构

关系的相关概念

  • (1)(Domain):一组具有相同数据类型的值的集合。

  • 例:整数、实数、介于某个取值范围的整数,{‘男’,‘女’}等。

  • (2)笛卡尔积

  • 注:所有域的所有取值的一个组合,不能重复。

  • 实例:计算笛卡尔积

  • 给出三个域:

  • D1=SUPERVISOR ={ 张清玫,刘逸}

  • D2=SPECIALITY={计算机专业,信息专业}

  • D3=POSTGRADUATE={李勇,刘晨,王敏}

  • 计算D1,D2,D3 的笛卡尔积。

  • D1×D2×D3 =

  • {(张清玫,计算机专业,李勇),

  • (张清玫,计算机专业,刘晨),

  • (张清玫,计算机专业,王敏),

  • (张清玫,信息专业,李勇),

  • (张清玫,信息专业,刘晨),

  • (张清玫,信息专业,王敏),

  • (刘逸,计算机专业,李勇),

  • (刘逸,计算机专业,刘晨),

  • (刘逸,计算机专业,王敏),

  • (刘逸,信息专业,李勇),

  • (刘逸,信息专业,刘晨),

  • (刘逸,信息专业,王敏) }

  • 笛卡儿积的表示方法

  • 笛卡儿积可表示为一个二维表。表中的每行对应一个元组,表中的每列对应一个域。在这里插入图片描述

  • (3)关系(relation):

  • D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的关系,

  • 表示为 R(D1,D2,…,Dn)。

  • 注:关系名:R

  • 关系的目或度(Degree):n

  • 单元关系(n=1)二元关系(n=2)

  • (4)元组:笛卡儿积中的一个元素、关系(表)中的一行、概念模型中的一个实体、现实世界中的某一具体事物。

  • (5)属性:主属性:候选码的诸属性,非主属性:不隶属任何候选码的属性

  • (6)码(候选码、主码、全码)

  • (7)域的概念

三种关系形态

  1. 基本关系(基本表或基表):实际存在的表,是实际存储数据的逻辑表示。
  2. 查询表:查询结果对应的表。
  3. 视图表:由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据。

基本关系的性质

  1. 列是同质的(Homogeneous):每一列中的分量是同一类型的数据,来自同一个域。
  2. 不同的列可出自同一个域:其中的每一列称为一个属性,不同的属性要给予不同的属性名。
  3. 关系中列的位置具有顺序无关性。
  4. 关系具有元组无冗余性:即关系中的任意两个元组不能完全相同。
  5. 关系中元组的位置具有顺序无关性:即元组的顺序可以任意交换。
  6. 关系中每个分量必须取原子值:即每个分量都必须是不可分的数据项。

关系模式的定义

  • 关系模式可以形式化地表示为: R(U,D,dom,F)
  • R 关系名
  • U 组成该关系的属性名集合
  • D 属性组U 中属性所来自的域
  • dom 属性向域的映象集合
  • F 属性间的数据依赖关系集合

关系数据库

关系模式”为型,“关系”为值

  • 在一个给定的应用领域中,所有实体及实体之间联系的关系的集合构成一个关系数据库。
  • 关系数据库的型称为关系数据库模式,是对关系数据库的描述。 即若干域的定义,以及在这些域上定义的若干模式。
  • 关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常简称为关系数据库。

关系模型的存储结构

  • List item
  • 存储结构:表文件,表文件的具体存储方式对用户透明。

关系操作

基本的关系操作

常用关系操作

  • 查询(Query)、插入(Insert)、删除(Delete)、更新(Update)

查询操作

  • 选择(select),并(union),投影(project),交(intersection),连接(join),差(except),除(divide),笛卡儿积(Cartesian Product)

关系操作的特点

  • 集合操作方式,操作对象和结果都是集合。
  • 不同于非关系数据模型。

关系数据语言的分类

  • (1)关系代数语言:(如:ISBL),
  • 特点是:用对关系的运算来表达查询要求。
  • (2)关系演算语言(元组,域),元组关系演算语言(如:ALPHA、QUEL),域关系演算语言(如:QBE)。
  • 特点是:用谓词来表达查询要求。
  • (3)具有关系代数和关系演算双重特点的语言(如:SQL)
  • 特点是:非过程化。

关系的完整性

关系的完整性包括:实体完整性,参照完整性,用户自定义完整性。

实体完整性

  • 实体完整性规则:若属性A是基本关系R的主属性,则A不能取空值 。
  • 实体完整性规则是针对基本关系而言的。一个基本表对应现实世界的一个实体集。
  • 现实世界中的是实体是可区分的。
  • 主码:唯一标识(值不可重复)。
  • 主码中的属性不能取空值。

参照完整性

  • 设F是关系R的一个或一组属性,但不是关系R的码。Ks是基本关系S的主码。如果F与Ks相对应,则称F是R的外码(foreign key),并称基本关系R为参照关系(Referencing Relation),基本关系S为(Referenced Relation)被参照关系或目标关系(Target Relation)。关系R和S不一定是不同的关系。

参照完整性规则

  • 外码F的取值必须符合以下规则:
  • 空值或者基本关系S中的某个元组的主码值。

用户定义的完整性

用户定义的完整性(User-defined Integrity):针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的涉及必须满足的语义要求。

关系代数

关系代数运算符

  • 集合运算符(并、差、交、笛卡尔积)
  • 比较运算符(大于(等于)、小于(等于)、等于、不等于)
  • 关系运算符(选择、投影、连接、除)
  • 逻辑运算符(与、非、或)

传统集合运算

  • 并(union)
  • 差(Except)
  • 交(Intersection)
  • 笛卡尔积(Cartesian Product)

专门关系运算

  • 选择(Select)
  • 投影(Project)
  • 连接(Join)
  • 除(Divide)
    在这里插入图片描述
    在这里插入图片描述

并操作运算实例

在这里插入图片描述

差操作运算

在这里插入图片描述

交操作运算

在这里插入图片描述

笛卡尔积运算

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值