数据库系统概念笔记——第2章 关系模型介绍

第2章 关系模型介绍

关系数据库的结构

关系数据库由表(table)的集合构成,每个表有唯一的名字。一般来说,表中一行代表了一组值之间的一种联系,由于一个表就是这种联系的一种集合,表这个概念和数学上的关系这个概念密切相关的。

在数据模型的术语中,关系(relation)用来指代表,而元组(tuple)用来指点行,类似的属性(attribute)指代表中的列。

我们用关系实例(relation instance)这个术语表示一个关系的特定实例。

空(null) 值是一个特殊的值,表示值未知或者不存在。

数据库模式

谈论数据库时,必须区分数据库模式(database schema)和数据库实例(database instance),前者是数据库的逻辑设计,后者是给定时刻数据库中数据的一个快照。

关系的概念对应于程序语言中变量的概念,而关系模式(relation schema)的概念对应于程序设计中类型定义的概念。

授课情况的关系模式为:
数据库系统概念笔记——第2章 关系模型介绍

超码(superkey)是一个或多个属性的集合,这些属性的组合可以使得我们在一个关系中唯一地标识一个元组。

形式化描述:设RR表示关系rr模式中的属性集合。如果我们说RR的一个子集KKrr的一个超码,则限制了关系rr中任意两个不同元组不会再KK的所有属性上取值完全相等。即如果t1t_1t2t_2rr中且t1t2t_1\ne t_2,则t1Kt2Kt_1\cdot K \ne t_2 \cdot K

最小的超码称为候选码(candidate key)。

我们用主码(primary key)这个术语用来代表被数据设计者选中的,用来在一个关系中区分不同元组的候选码。

一个关系模式(如r1r_1)可能在它属性中包含另一个关系模式(如r2r_2)的主码。这个属性在r1r_1上称作参照(r2r_2)的外码(foreign key)。关系r1r_1也称为外码依赖的参照关系(referencing relation)r2r_2叫做外码的被参照关系(referenced relation)。

模式图

一个含有主码和外码依赖的数据库模式可以用模式图(schema diagram)来表示。

数据库系统概念笔记——第2章 关系模型介绍

关系查询语言

查询语言(query language) 是用户用来从数据库中请求获取信息的语言。查询语言可以分为过程化和非过程化的。在过程化语言(procedural language)中,用户知道系统对数据库执行一系列操作以计算所需要结果。在非过程化语言(nonprocedural language)中,用户只需要描述所需要的信息,而不用给出获取该信息的具体过程。

关系运算

关系运算要么施加到单个关系上,要么施加于一对关系上,这些运算具有一个很好的,并且也是所需的性质。

后面会有详细的介绍