数据库系统概念-----关系模型介绍

本节目录

1、关系数据库的结构

2、数据库模式

3、码

4、模式图

5、关系查询语句

6、关系运算

7、总结


1、关系数据库的结构

       关系数据库是由表的集合构成,每个表有唯一的名字。一般来说,表中的一行代表了一组值之间的联系,由于一个表就是这种联系的一个集合,表这个概念和数学上的关系这个概念是密切相关的,这也正是关系数据模型名称的由来,在数学术语中,元组只是一组值的序列(或列表)。在n个值之间的一种联系可以在数学上用关于这些值的一个n元组来表示,换言之,n元组就是一个有n个值得元组,它对应表中的一行。

        在关系模型的术语中,关系用来指代表,而元组用来指代行,类似的,属性指代的表中列。关系实例这个术语用来表示一个关系的特定实例。

        对于每个关系的属性,都存在一个允许取值的集合,称为该属性的域。如果域中的元素被看做不可再分的单元,那么域是原子的。

        空值是一个特殊的值,表示值未知或不存在。

2、数据库模式

        数据库模式是数据库的逻辑设计,数据库实例是给定时刻数据库中数据的一个快照。关系的概念对应程序设计语言中变量的概念,而关系模式对应程序设计语言中类型定义的概念。

        一般来说,关系模式由属性序列以及各属性对应域组成。

3、码

        我们必须有一种能区分给定关系中的不同元组的方法,这用它们的属性来表明,也就是说,一个元组的属性值必须能够唯一区分元组,也就是说,一个关系中没有两个元组在所有属性上取值相同。

        超码是一个或多个属性的集合,这些属性的组合可以使我们在一个关系中唯一的表示一个元组。通常只对这样的一些超码感兴趣,它们的任意真子集都不能成为超码,这样的最小超码称为候选码。

        用主码这个术语来表示被数据库设计者选中,主要用来在一个关系中区分不同元组的候选码。码(不管是主码、候选码还是超码)都是整个关系的一种性质,而不是单个元组的性质。

        主码的选择必须慎重。最好是唯一的标识符。

        一个关系模式(r1)可能在它的属性中包括另一个关系模式(r2)的主码,这个属性在r1上称作参照r2的外码。关系r1也被称为外码依赖的参照关系,r2叫做外码的被参照关系。

        参照完整性约束,要求在参照关系中任意元素在特定属性上的取值,必然等于被参照关系中某个元组在特定属性上的取值。

4、模式图

        一个含有主码和外码依赖的数据库模式可以用模式图来表示。如下图,每一个关系用一个矩形表示,关系的名字显示在矩形上方,矩形内列出各属性,主码属性用下划线标注,外码依赖用从参照关系的外码属性到被参照关系的主码属性之间的箭头表示。

         

        除了外码约束之外,模式图中没有显示出参照完整性约束,后面还会学到一个不同的称为实体-联系图的图形化表示。

5、关系查询语句

        查询语句是用户用来从数据库中请求获取信息的语言。查询语言可以分为过程化和非过程化的,在过程化语言中,用户指导系统对数据库执行一系列操作以计算出所需结果,在非过程化语言中,用户只需描述所需信息,而不用给出获取该信息的具体过程。

        实际使用的查询语句既包含过程化的成分又含有非过程化的成分,比如广泛应用的查询语言SQL。

6、关系运算

        所有的过程化关系查询语言都提供了一组运算,这些运算要么施加于单个关系上,要么施加于一对关系上。这些运算具有一个很好地,并且也是所需的性质,运算结果总是单个的关系,这个性质使得人们可以模块化的方式来组合几种这样运算,特别是由于关系查询结果本身也是关系,所以关系运算可以施加到查询结果上,正如施加到给定关系集上一样。

        最常用的关系运算是从单个关系中选出一些满足特定谓词的特殊元组,其结果就是一个新关系。

        连接运算可以通过下面的方式来结合两个关系,把分别来自两个关系的元组对合并成单个元组,有几种不同的方式来对关系进行连接。

7、总结

        *关系数据模型,建立在表的基础上。

        *关系的模式,是指它的设计逻辑,而关系的实例是指他在特定时刻的内容。

        *关系的超码,是一个或多个属性的集合。候选码是一个最小的超码。

        *参照关系中的外码,在外码属性上的取值等于被参照关系的某个元组在主码上的取值。

        *模式图,是数据库中模式的图形化表示,显示了数据库中的关系、关系的属性、主码和外码。

        *关系查询语句,定义一组运算集,这些运算可以作用在表上,并输出表座位结果,这些运算可以组合成表达式,表达所需的查询。

        *关系代数,提供一组运算,它们以一个或多个关系作为输入,返回一个关系作为输出。      

posted @ 2019-03-21 10:36  吾之求索  阅读(755)  评论(0)    收藏  举报