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

关系

基础概念

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

笛卡尔积

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

  • 例子
    关系数据结构及形式化定义

关系的组成

关系

$D_1\times D_2\times D_3\times...\times D_n$的子集叫做域在$D_1,D_2, D_3,...,D_n$上的关系,表示为:

R(D_1,D_2,D_3,...,D_n)
  • R:关系名
  • n:关系的

元组

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

单元关系与二元关系

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

关系的表示

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

属性

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

  • 候选码
    若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码 。
  • 全码
    关系模式的所有属性组是这个关系模式的候选码,称为全码(All-key)。
  • 主码
    若一个关系有多个候选码,则选定其中一个为主码(Primary key)。
  • 主属性
    候选码的诸属性称为主属性(Prime attribute);
    不包含在任何侯选码中的属性称为非主属性( Non-Prime attribute)或非码属性;

三类关系

  • 基本关系
    实际存在的表,是实际存储数据的逻辑表示;
  • 查询表
    查询结果对应的表;
  • 视图表
    由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据。

基本关系的性质

  • 列是同质的;
  • 不同的列可出自同一个域;
  • 列的顺序无所谓,,列的次序可以任意交换;
  • 任意两个元组的候选码不能相同;
  • 行的顺序无所谓,行的次序可以任意交换;
  • 分量必须取原子值;(不能有表中表)

关系模式

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

表示方式

关系模式通常可以简记为:
$R(U)$$R(A_1,A_2,...,A_n)$
R:关系名
$A_1,A_2,...,A_n$:属性名

关系和关系模式的区别

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

关系数据库

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

关系数据库的型和值

关系数据库的型

关系数据库模式对关系数据库的描述;

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

关系数据库的值

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