《数据库系统概念》第2章 关系模型介绍

时间:2021-01-05 05:32:47

《数据库系统概念》第2章 关系模型介绍

    在商用数据处理应用中,关系模型已经成为当今主要的数据模型。

2.1 关系数据库的结构

    关系数据库由表(table)的集合构成,每个表有唯一的名字。

    表instructor:

《数据库系统概念》第2章 关系模型介绍

    《数据库系统概念》第2章 关系模型介绍

《数据库系统概念》第2章 关系模型介绍

《数据库系统概念》第2章 关系模型介绍

    由于关系是元组集合,所以元组在关系中出现的顺序是无关紧要的。

《数据库系统概念》第2章 关系模型介绍

《数据库系统概念》第2章 关系模型介绍

2.2 数据库模式

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

    区分关系模式(relation schema)和关系实例(relation instance),前者对应于程序设计语言中类型定义的概念,后者有属性序列及各属性对应域组成。

   《数据库系统概念》第2章 关系模型介绍

《数据库系统概念》第2章 关系模型介绍

《数据库系统概念》第2章 关系模型介绍

2.3 码

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

    候选码(candidate key):超码中可能包含无关紧要的属性。我们通常只对这样的一些超码感兴趣,它们的任意真子集都不能成为超码,这样的最小超码称为候选码。

    主码(primary key):被数据库设计者选中的、主要用来在一个关系中区分不同元组的候选码。

    外码(foreign key):一个关系模式r1可能在他的属性中包括另一个关系模式r2的主码,这个属性在r1上称作参照r2的外码。

2.4 模式图

《数据库系统概念》第2章 关系模型介绍

《数据库系统概念》第2章 关系模型介绍

2.5 关系查询语言

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

    被广泛应用的查询语言SQL。

2.6 关系运算

《数据库系统概念》第2章 关系模型介绍

2.7 总结

《数据库系统概念》第2章 关系模型介绍

《数据库系统概念》第2章 关系模型介绍

2.8 术语回顾

《数据库系统概念》第2章 关系模型介绍