数据库系统原理之关系模型的基本概念(一) |
您所在的位置:网站首页 › 关系型数据库的基本概念包括哪些 › 数据库系统原理之关系模型的基本概念(一) |
关系型数据库是基于关系模型理论的,在学习关系型数据库之前,最好掌握一些关系模型的知识,方便进行类比的学习。 首先来看一下关系模型的介绍。 关系模型的介绍关系模型最早是由 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)各自指什么呢?它们之间有什么样的区别?要弄清这个问题,首先需要知道关系的确切含义。 域域是一组具有相同数据类型的数据的集合,集合中的个数叫做域的基数。每一列中的数据,都是域中某一个值,虽然不一定知道具体是域中的哪一个值,但我们知道总共有哪些类型的取值。 对于行也是如此,虽然我们不知道某一行(元组)具体的值是什么,但我们知道这一行(元组)有哪些可能的值。 笛卡尔积所有行(元组)的集合,就是笛卡尔积。举例来说,我们有两个域:手机(小米,三星,苹果)和电脑(联想,戴尔,惠普)。这两个域构成的所有可能的元组如下: 手机 电脑 小米 联想 小米 戴尔 小米 惠普 三星 联想 三星 戴尔 三星 惠普 苹果 联想 苹果 戴尔 苹果 惠普这两个域构成了一共有 多个域构成的笛卡尔积中的元组并不都是有意义的,我们把这些有意义的元组提取出来形成的新的集合,就叫做关系。关系是由一系列有意义的元组的集合,其是笛卡尔积的子集。 他们之间也有一些区别,如笛卡尔积使用列,关系使用字段或属性,笛卡尔积使用行,关系使用元组。 关系和笛卡尔积,都是数学上的概念。 关系模式通过 关系模式是固定不变的,是稳定的。关系是关系模型在某一时刻的值,是可以发生变化的,关系模式是关系的结构。 关系和表关系是数学上的概念,表是关系型 DBMS 对于关系的实现,二者有着基本相似的概念,也有一些区别。比如关系要求元组不能相同,而数据库表中的行是可以相同的(不考虑主键)。 总结本文主要介绍了关系模型的一些基本概念,包括关系模型的介绍,研究内容,以及对笛卡尔积,关系,域,关系模式这些概念进行了介绍,关系模型和关系是数学上的概念,数据库的表则是对关系模型的一种实现。这部分概念性的东西有点多,一篇文章来写感觉太长了,剩下的一点内容,在后文进行介绍。 完。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |