关系数据库
关系模型概述
关系模型的基本概念
关系数据库系统是支持关系模型的数据库系统,而关系模型是由数据结构、关系操作集合和完整性约束三部分组成的。
- 数据结构
关系模型的数据结构非常单一,在用户看来,关系模型中数据的逻辑结构是一张二维表。 - 关系的操作
关系操作采用集合才坐方式,即操作的对象和结果都是集合。
关系模型中常用的关系操作包括两类。
(1)查询操作:选择、投影、连接、除、并、交、差、笛卡尔积等。
(2)更新操作:增加、删除、修改操作。
表达(或描述)关系操作的关系数据语言可以分为三类
(1)关系代数。关系代数是用对关系的运算表达查询要求的方式。
(2)关系演算。关系演算是用谓词来表达查询要求的方式。
(3)介于关系代数和关系演算之间的语言——SQL。SQL不仅具有丰富的查询能力,而且具有数据定义和数据控制功能,是集数据查询、数据定义(DDL)、数据操纵(DML)和数据控制(DCL)于一体的关系数据语言。 - 完整性约束
关系模型提供了丰富的完整性控制机制,允许定义三类完整性:实体完整性、参照完整性和用户定义的完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,应该由关系系统自动支持。
关系的定义
- 域
域(Domain)是一个集合,集合中的元素具有相同的数据类型和取值范围。
特殊值NULL是每一个域的成员
- 笛卡尔积
设D1,D2,…,Dn为域,则D1×D2×…×Dn={(d1,d2,…,dn)|di∈Di,i=1,…,n}为D1,D2,…,Dn的笛卡尔积(Cartersian Product)。其中每个元素(d1,d2,…,dn)称为一个n元组(n-Tuple),简称元组(Tuple),元素中每个di称为分量(Component),di∈Di。 - 关系
笛卡尔积D1×D2×…×Dn的任一子集称为在域D1,D2,…,Dn上的关系(Relation)表示为