数据库系统原理之关系模型的基本概念(一)

您所在的位置:网站首页 关系型数据库的基本概念包括哪些 数据库系统原理之关系模型的基本概念(一)

数据库系统原理之关系模型的基本概念(一)

2024-07-06 18:36| 来源: 网络整理| 查看: 265

关系型数据库是基于关系模型理论的,在学习关系型数据库之前,最好掌握一些关系模型的知识,方便进行类比的学习。 首先来看一下关系模型的介绍。

关系模型的介绍

关系模型最早是由 E.F.Codd 在 1970 年,在集合论和逻辑学理论的基础上,通过对表(Table)和表的操作进行严格的数学定义提出的。 也就是说,关系模型,是一个数学模型。使用数学的方法对表(Table)和表的操作进行了定义。 著名的 SQL 语言,就是基于关系模型的数据库操作语言。很多的数据库理论,也是基于关系模型提出的。关系模型和层次模型以及网状模型(后面两个模型已经过时,不再使用了),是三大数据库模型之一。

关系模型研究的内容

从定义上看,我们知道关系模型就是用来处理 Table 的,包含三个方面的内容:

使用数学方法描述数据库的基本结构形式(Table/Relation) 使用数学方法描述 Table/Relation 与 Table/Relation 之间的各种操作(关系运算) 使用数学方法描述实现这些操作应该遵循的约束条件(完整性约束)

现在我们使用的关系型 DBMS,就是对关系模型理论的一种实现,在 DBMS 中对表各种操作,都有一整套的数学理论作为支撑。

关系运算

关系运算就是使用数学的方法,来对 Table/Relation 和 Table/Relation 之间的操作进行描述,包括两部分内容:基于集合论的关系代数运算和基于逻辑学理论的关系演算运算。关系模型是基于集合论和逻辑学理论提出的,基于这两套数学理论进行的运算自然必不可少。 我们在 DBMS 中做的各种操作:如数据库的定义和数据库的查询,都可以转换为关系运算这样的数学语言。事实上 DBMS 也正是这样做的:提供 SQL 语言让使用者进行数据库操作,然后底层将 SQL 语言转换为相应的数学语言进行运算,得出结果。 因此,如果我们学会了怎样使用关系运算来定义表,怎样使用关系运算来操作表,那么再去学习 SQL 也就不在话下了。

什么是关系

关系(Relation)和表(Table)各自指什么呢?它们之间有什么样的区别?要弄清这个问题,首先需要知道关系的确切含义。

域是一组具有相同数据类型的数据的集合,集合中的个数叫做域的基数。每一列中的数据,都是域中某一个值,虽然不一定知道具体是域中的哪一个值,但我们知道总共有哪些类型的取值。 对于行也是如此,虽然我们不知道某一行(元组)具体的值是什么,但我们知道这一行(元组)有哪些可能的值。

笛卡尔积

所有行(元组)的集合,就是笛卡尔积。举例来说,我们有两个域:手机(小米,三星,苹果)和电脑(联想,戴尔,惠普)。这两个域构成的所有可能的元组如下:

手机 电脑 小米 联想 小米 戴尔 小米 惠普 三星 联想 三星 戴尔 三星 惠普 苹果 联想 苹果 戴尔 苹果 惠普

这两个域构成了一共有 3*3 = 9 个元组的集合,这个集合就是手机和电脑域的笛卡尔积,基数为9。 假设我们有 n 个域 D1,D2,D3...Dn,每个域的基数为 M1,M2,M3...Mn,那么它们构成的笛卡尔积的基数为 M1*M2*M3*...*Mn。 通过数学方式来描述笛卡尔积的定义如下: \{(d1,d2,d3...dn)|di 属于 Di,i = 1,2,3...,n\}

关系

多个域构成的笛卡尔积中的元组并不都是有意义的,我们把这些有意义的元组提取出来形成的新的集合,就叫做关系。关系是由一系列有意义的元组的集合,其是笛卡尔积的子集。 他们之间也有一些区别,如笛卡尔积使用列,关系使用字段或属性,笛卡尔积使用行,关系使用元组。 关系和笛卡尔积,都是数学上的概念。

关系模式

通过R(A1:D1,A2:D2,A3:D3,...,An:Dn)来表示关系的结构,可以简写为R(A1,A2,A3,...,An),这样的描述方式也叫做关系模式(Schema)。关系模式是对关系的一种结构性描述。 R 是关系名,Ai 是属性,Di 是属性所在的域,n 是关系的度或者目(属性的个数),关系中元组的数目称为关系的基数。 在 DBMS 中,我们一般使用数据类型作为域,如 integar,char,date ···,在数据库中可以这样使用关系模式: 学生表(姓名:Char,年龄:Integar,出生日期:Date) 现在我们类比着看关系模型和数据库中的一些概念,,是不是觉得很相似呢?的确,数据库可不简单,其背后有一整套的数学理论进行着支撑!

关系模式和关系

关系模式是固定不变的,是稳定的。关系是关系模型在某一时刻的值,是可以发生变化的,关系模式是关系的结构。

关系和表

关系是数学上的概念,表是关系型 DBMS 对于关系的实现,二者有着基本相似的概念,也有一些区别。比如关系要求元组不能相同,而数据库表中的行是可以相同的(不考虑主键)。

总结

本文主要介绍了关系模型的一些基本概念,包括关系模型的介绍,研究内容,以及对笛卡尔积,关系,域,关系模式这些概念进行了介绍,关系模型和关系是数学上的概念,数据库的表则是对关系模型的一种实现。这部分概念性的东西有点多,一篇文章来写感觉太长了,剩下的一点内容,在后文进行介绍。

完。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3