上一篇文章【数据库系统概论】数据模型介绍了数据库系统中的数据模型的基本概念。其中提到了关系模型是最重要的一种数据模型。下面将介绍支持关系模型的数据库系统——关系数据库。
按照数据模型的三大要素,关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。本篇文章将介绍这三部分内容中的第一部分即关系数据结构。
关系模型的数据结构非常简单,只包含单一的数据结构——关系。在用户看来,关系模型中数据的逻辑结构是一张扁平的二维表。
在关系模型中,现实世界的实体以及实体间的各种联系均用关系来表示。关系模型建立在集合代数的基础上。
下面从集合论的角度给出关系数据结构的格式化定义:
域(Domain)
域是一组具有相同数据类型的值的集合。域(集合)的元素时单值。
笛卡尔积
给定一组域D1,D2,…,Dn,允许其中某些域是相同的。
D1,D2,…,Dn 的笛卡尔积为:
D1×D2×…×Dn = {(d1,d2,…,dn)|diDi,i=1,2,…,n}
通俗的讲,笛卡尔积的元素(d1,d2,…,dn)就是依次从每个域(集合)中取出一个值而形成的组合。也叫做元组。而元素(d1,d2,…,dn)中的每一个值di 叫作一个分量。一个域中的元素数就是基数。
笛卡尔积可表示为一张二维表。表中的每行对应一个元组,表中的每列对应一个域。
例如,给出3个域:
D1=导师集合SUPERVISOR={张清玫,刘逸}
D2=专业集合SPECIALITY={计算机专业,信息专业}
D3=研究生集合POSTGRADUATE={李勇,刘晨,王敏}
D1,D2,D3的笛卡尔积为:
D1×D2×D3={
(张清玫,计算机专业,李勇),(张清玫,计算机专业,刘晨),
(张清玫,计算机专业,王敏),(张清玫,信息专业,李勇),
(张清玫,信息专业,刘晨),(张清玫,信息专业,王敏),
(刘逸,计算机专业,李勇),(刘逸,计算机专业,刘晨),
(刘逸,计算机专业,王敏),(刘逸,信息专业,李勇),
(刘逸,信息专业,刘晨),(刘逸,信息专业,王敏) }
基数为2×2×3=12
表示为:
关系
笛卡尔积并不都具有实际语义。将其中具有现实意义的数据抽取出来就形成了关系。所以关系是笛卡尔积的一个有限子集。
关系可以有三种类型:
在数据库中要区分型和值。关系数据库中,关系模式是型,关系是值。关系模式是关系的描述。
关系模式通常可以简记为:R (U) 或 R (A1,A2,…,An)
R: 关系名
A1,A2,…,An : 属性名
注意:域名及属性向域的映象常常直接说明为
属性的类型、长度
关系模式和关系往往笼统称为关系。在具体情况中通过上下文加以区别。
在一个给定的应用领域中,所有关系的集合构成一个关系数据库。
关系数据库也有型和值的区分。
关系数据库的型:也叫关系数据库模式,是对关系数据库的描述。它包括域上的若干关系模式。
关系数据库的值:关系模式在某一时刻对应的关系的集合,通常称为关系数据库。
若干表在存储设备中如何组织?不同的DBMS的处理方式不一样。
好啦,这次的分享就到这里,感谢大家看到这里