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

关系模型的数据结构

非结构化

这里从非结构化的角度出发

只包含单一的数据结构 ---- 关系

  • 现实世界的实体以及实体间的各种联系均用关系来表示

逻辑结构 ---- 二维表

  • 从用户角度,关系模型中数据的逻辑结构是一张二维表

结构化

下面内容从集合论角度给出关系数据结构的形式化定义

关系模型是建立在集合代数的基础上

关系

1.域

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

  • 自然数集合
  • 介于某个取值范围整数、实数集合
  • 长度小于25字符的字符串集合
  • {‘ 男’,‘女’ }

2.笛卡尔积

笛卡尔积是域上的一种集合运算

  • 给定一组域 D1 , D2 ,…, Dn
    • 这些域中可以有相同的。
  • D1 , D2 ,…, Dn 的笛卡尔积为: D1×D2×…×Dn ={( d1 , d2 ,…, dn )| di ∈Di , i = 1 , 2 ,…, n }

简单的可以理解为从每个域中取一个,然后进行组合

笛卡尔积的表示方法

  • 笛卡尔积可表示为一个二维表
  • 表中的每行对应一个元组
  • 表中的每列对应一个域
  • 表中的每一个单元格是一个分量

元组( Tuple )

笛卡尔积中每一个元素( d1 , d2 ,…, dn )叫作一个 n 元组( n-tuple )或简称元组 (Tuple)

分量( Component )

笛卡尔积元素( d1 , d2 ,…, dn )中的每一个值 di 叫作
一个分量

基数( Cardinal number )

一个域允许的不同取值个数称为这个域的基数

  • 若 Di ( i = 1 , 2 ,…, n )为有限集,其基数为 mi ( i = 1 , 2 ,…, n )
  • 则 D1×D2×…×Dn 的基数 M 为: m1×m2×…×mn
    在这里插入图片描述

3.案例

D1 = 导师集合 SUPERVISOR = {张清玫,刘逸}
D2 = 专业集合 SPECIALITY = {计算机专业,信息专业}
D3 = 研究生集合 SPECIALITY = {李勇,信息专业,王敏}

元祖

( 张清玫,计算机专业,李勇 ) 、 ( 张清玫,计算机专业,
刘晨 )、(张清玫 ,计算机专业|,王敏) 等都是元组

分量

张清玫、计算机专业、李勇、刘晨等都是分量

基数

笛卡尔积的基数为2 x 2 x 3 = 12

笛卡尔积

SUPERVISORSPECIALITYPOSTGRADUATE
张清玫计算机专业李勇
张清玫计算机专业刘晨
张清玫计算机专业王敏
张清玫信息专业李勇
张清玫信息专业刘晨
张清玫信息专业王敏
刘逸计算机专业李勇
刘逸计算机专业刘晨
刘逸计算机专业王敏
刘逸信息专业李勇
刘逸信息专业刘晨
刘逸信息专业王敏

4.关系

关系是笛卡尔积的有限子集

关系定义

D1×D2×…×Dn (笛卡尔积)的子集叫作在域 D1 , D2 ,…, Dn 上的关系,表示为
R ( D1 , D2 ,…, Dn )

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

元组

关系中的每个元素是关系中的元组,通常用 t 表示

单元关系与二元关系

  • 当 n=1 时,称该关系为单元关系( Unary relation ) 或一元关系
  • 当 n=2 时,称该关系为二元关系( Binary relation )

关系的表示

一般来说D1 , D2 ,…, Dn 的笛卡尔积没有实际意义,只有它的某个真子集有实际含义

  • 关系也是一个二维表
  • 表的每行对应一个元组
  • 表的每列对应一个域

属性

  • 关系中不同列可以对应相同的域
  • 为了加以区分,必须对每列起一个名字,称为属性( Attribute )
  • n 目关系必有 n 个属性

候选码( Candidate key )

若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码

  • 主码

若一个关系有多个候选码,则选定其中一个为主码( Primary key )

  • 主属性

候选码的诸属性称为主属性( Prime attribute )

不包含在任何侯选码中的属性称为非主属性( Non-Prime attribute ) 或非码属性( Non-key attribute )

全码( All-key )

最极端的情况:关系模式的所有属性组是这个关系模式的候选码,称为全码( All-key )

关系的三种类型

  • 基本关系(基本表或基表)

实际存在的表,是实际存储数据的逻辑表示

  • 查询表

查询结果对应的表

  • 视图表

由基本表或其他视图表导出的表,是虚表不对应实际存储的数据

基本关系的性质
  1. 列是同质的( Homogeneous ),即每一列中的分量是同一类型数据
  2. 不同的列可出自同一个域
    • 其中的每一列称为一个属性
    • 不同的属性要给予不同的属性名
  3. 列的顺序无所谓 ,,列的次序可以任意交换
  4. 任意两个元组的候选码不能相同
  5. 行的顺序无所谓,行的次序可以任意交换
  6. 分量必须取原子值
    • 这是规范条件中最基本的一条

关系模式

  • 关系型数据库中关系模式是型,关系是值
  • 关系模式是对关系的描述
  • 关系是元素的集合
  • 关系模式必须指出元素集合(关系)结构
    • 属性构成
    • 属性来自的域
    • 属性与域之间的映象关系

关系模式的定义

关系的描述称为关系模式,关系模式可以形式化地表示为:
R ( U , D , DOM , F )

元素含义
R关系名
U组成该关系的属性名集合
D属性组 U 中属性所来自的域
DOM属性向域的映象集合
F属性间的数据依赖关系集合

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

元素含义
R关系名
A1 , A2 ,…, An属性名
  • 域名及属性向域的映象常常直接说明为 属性的类型、长度

关系模式与关系

  • 关系模式
    • 对关系的描述
    • 静态的、稳定的
  • 关系
    • 关系模式在某一时刻的状态或内容
    • 动态的、随时间不断变化的

注意

关系模式和关系往往统称为关系
通过上下文加以区别

关系数据库

在一个给定的应用领域中,所有关系的集合
构成一个关系数据库

关系数据库的型与值

型(关系数据库模式)

对关系数据库的描述

  • 关系数据库模式包括
    • 若干域的定义
    • 在这些域上定义的若干关系模式

值(关系数据库)

关系模式在某一时刻对应的关系的集合,简称为关系数据库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值