第三章 关系数据模型

3.1   关系数据模型和关系数据库

数据结构

关系数据模型源于数学,用二维表来组织数据,而这个二维表在关系数据库中就称为关系。关系数据库就是表或者说是关系的集合。

在关系系统中,表是逻辑结构而不是物理结构。

因此,表是对物理存储数据的一种抽象表示——对很多存储细节的抽象,如存储记录的位置,记录的顺序,数据值的表示以及记录的访问结构,对用户来说都是不可见的。

数据操作

关系模式的操作对象是集合(或表),而不是单个数据行,也就是说,关系模型中操作的数据以及操作的结构(查询操作的结果)都是完整的集合(或表),这些集合可以是只包含一行数据的集合,也可以是不包含任何数据的空集合,而非在关系数据模型数据库中典型的操作是一次一行或一次一个记录。

因此,集合处理能力是关系型数据库区别于其他类型数据库的一个重要特征。

在非关系模型中,各个数据记录之间是通过指针等方式连接的,当要定位到某条记录时,需要用户自己按指针的链接方向遍历查找,我们称这种查找方式为用户‘导航’。而在关系数据模型中,由于是按集合进行操作。因此,用户只需要指定数据的定位条件,数据库管理系统就可以自动定位到该数据记录,而不需要用户来导航。这也是关系数据模型在数据操作上与非关系模型的本质区别。

传统的关系运算

并,交,差,广义笛卡尔乘积

专门的关系运算

选择,投影,连接,除

有关的数据操作

查询,插入,删除,更改

关系操作是通过关系语言实现的,关系语言的特点是高度非过程化的。所谓非过程化是指以下两个方面:

  • 用户不必关心数据存取路径和存取过程,用户只需要提出数据请求,数据库管理                 系统就会自动完成用户请求的操作。
  • 用户也没有必要编写程序代码来实现对数据的重复操作。

数据完整性约束 

在数据库中数据的完整性是指保证数据正确性的特征。数据完整性是一种语义概念,他包括两个方面:

  • 与现实世界中应用需求的数据的相容性和正确性。
  • 数据库内数据之间的相容性和正确性。

数据完整性(在关系数据模型中)

实体完整性

系统级约束。

是关系模型必须满足的完整性约束

参照完整性(引用完整性)

用户定义的完整性(域的完整性)

应用级约束。

限制属性的取值在有意义的范围内

 3.2   关系模型的基本术语与形式化定义

基本术语

关系模型采用单一的数据结构——关系来表示实体以及实体之间的联系,并且用直观的观点来看,关系就是二维表。

关系

通俗的讲,关系就是二维表,二维表的名字就是关系的名字。

属性

二维表中的每个列称为一个属性,每个属性(或叫字段)有一个名字,称为属性名,二维表中对应某一列的值称为属性值,二维表中列的个数称为关系是的元数。如果一个二维表有n个列,则称其为n元关系。

值域

二维表中属性的取值范围称为值域。例如:‘年龄’列的取值为大于0的整数 ,性别的取值为‘男’和‘女’两个值,这些都是列的值域。

元组

二维表中的一行数据称为一个元组。

分量

元组中的每一个属性值称为元组的一个分量,n元关系的每个元组有n个分量。例如:对于元组(081101,李勇,21,男,计算机系),有5个分量。

关系模式

二维表的结构称为关系模式,或者说,关系模式就是二维表的表框架或表头结构。设有关系名为R,属性分别为A1,A2,······,An,则关系模式可以表示为:

R(A1,A2,······,An)

对每个Ai(I=1,···,n)还包括该属性到值域的映像,即属性的取值范围。

关系数据库

对应于一个关系模型的所有关系的集合称为关系数据库。

候选键(候选关键字或候选码)

如果一个属性或属性集的值能够唯一标识一个关系的元组而又不包含多余的属性,则称该属性或属性集为候选键。

在一个关系中可以有多个候选键。

主键(主码或主关键字)

主键是表中的属性或属性组,用于唯一地确定一个元组,主键可以有一个属性组成,也可以由多个属性共同组成,每个关系只能有一个主键。

由多个属性共同组成地主键为复合主键。(用括号将多个属性括起来)

主属性和非主属性

包含在任一候选键中的属性称为主属性;不包含在任一候选键中的属性称为非主属性。

关系术语

一般的表格术语

关系名

表名

关系模式

表头(表所含列的描述)

关系

(一张)二维表

元组

记录或行

属性

分量

一条记录中某个列的值

对关系的限定

关系可以看成是二维表,但并表示所有的二维表都是关系。关系数据库对关系由一些限定,归纳起来有如下几个方面:

  • 关系中的每个分量都必须是不可再分的最小属性,每个属性都不能再被分解为更小的属性,这就是关系数据库对关系的最基本的限定。
  • 表中的数据类型是固定的,即列中的每个分量都是同类型的数据,来自相同的值域。
  • 不同列的数据可以取自相同的值域,每个列称为一个属性,每个属性有不同的属性名。
  • 关系表中列的顺序不重要,即列的次序可以任意交换,不影响其表达的语义。
  • 行的顺序也不重要,交换行数据的顺序不影响关系的内容。
  • 同一个关系中的元组不能重复,即在一个关系中任意两个元组的值不能完全相同。

3.3   关系代数

基本概念:

关系代数是一种纯理论的语言,它定义了一些操作,运用这些操作可以从一个或多个关系 中得到另一个关系,而不改变源关系,因此,关系代数的操作数和操作结果都是关系,而且一个操作的输出可以是另一个操作的输入,关系代数同算术运算一样,可以出现一个套一个的表达式,关系在关系代数下是封闭的,正如数字在算术操作下是封闭的一样。

关系代数是一种单次关系(或者说是集合)语言,即所有元组可能来自多个关系,但是用不带循环的一条语句处理,关系代数的命令的语法形式有多种。

关系代数的运算对象是关系,运算结果运算关系,与一般的运算一样,运算对象,运算符,运算结果是关系代数的3大要素。

传统的集合运算(二目运算)

例题:

顾客号

姓名

性别

年龄

S01

张宏

45

S02

李丽

34

S03

王敏

28

 (a)表

顾客号

姓名

性别

年龄

S02

李丽

34

S04

钱景

50

S06

王平

24

 (b)表

并运算

顾客号

姓名

性别

年龄

S01

张宏

45

S02

李丽

34

S03

王敏

28

S04

钱景

50

S06

王平

24

 (a) U (b)

交运算

顾客号

姓名

性别

年龄

S02

李丽

34

 (a) \cap (b)

差运算

顾客号

姓名

性别

年龄

S01

张宏

45

S03

王敏

28

 (a) - (b)

A

B

a1

b1

a2

b2

   (a)表

C

D

E

c1

d1

e1

c2

d2

e2

c3

d3

e3

 (b)表

 专门的关系运算

专门的关系运算

选择

一元操作

投影

链接

二元操作

 选择

选择运算是从指定的关系中选出满足给定条件(用逻辑表达式表示)的元组而组成一个新的关系。

投影

投影运算是从关系R中选取干属性,并用这些属性组成一个新的关系。

投影运算一般由两个步骤完成:

  1. 选取出指定的属性,形成一个可能含有重复行的新关系。
  2. 删除重复行,形成结果关系。

 连接

连接运算用来连接相互之间有联系的两个关系,从而产生一个新的关系,这个过程由连接属性(字段)来实现。一般情况下连接属性是出现在不同关系中的语义相同的属性。连接是由笛卡尔乘积导出的,相当于把连接谓词看出选择公式。进行连接运算的两个关系通常是具有一对多的父子关系。

连接运算主要由如下几种形式:

  1. θ连接
  2. 等值连接
  3. 自然连接
  4. 外部连接
  5. 半连接

自然连接与等值连接的区别为

自然连接要求相等的分量必须有共同的属性名,等值连接则不要求;

自然连接要求把重复的属性名去掉,等值连接却不这样做 。

外连接:

  1. 左外连接
  2. 右外连接
  3. 全外连接

 左外连接的含义是把连接符号左边的关系中不满足连接条件的元组也保留到连接后的结果中,并在连接结果中将该元组所对应的右边关系的各个属性均置为空值(null)

 右外连接的含义是把连接符号右边的关系中不满足连接条件的元组也保留到连接后的结果中,并在连接结果中将该元组所对应的左边关系的各个属性均置为空值(null)

 全外连接的含义是把连接符号两边的关系中不满足连接条件的元组也保留到连接后的结果中,并在连接结果中将不满足条件的各元组的相关属性均置为空值(null)

关系运算的优先级按从高到低的顺序为:投影,选择,乘积,连接和出(同级),交,并和差(同级)。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《TAN数据挖掘》的第四章深入探讨了不同的分类方法以及它们的应用。习题解答如下: 1. SVC可以处理线性和非线性可分的问题,是一种有监督的分类器。它通过选择更少的支持向量来构建一个超平面,能够有效地分类数据。相比于SVM,SVC在处理非线性可分问题时更加有效。 2. 朴素贝叶斯是一种基于概率的有监督分类器。它假设不同特征之间是相互独立的,并且利用贝叶斯定理计算出数据属于某个类别的概率。朴素贝叶斯是一种简单但是有效的分类方法。 3. 决策树是一种非参数的有监督分类器。它将数据集分成多个小的决策单元,最终形成一棵树形结构。决策树既可以处理离散型数据,也可以处理连续型数据。它具有易解释、易实现、易扩展等优点。 4. 随机森林是一种基于决策树的有监督分类器。它通过随机选择一定数量的特征和数据集进行训练,生成多颗决策树进行分类。随机森林具有较高的准确率和较少的过拟合问题。 5. AdaBoost是一种集成学习方法,它通过多个弱分类器的组合形成一个强分类器。AdaBoost通过对被错误分类的数据进行加权处理,使得弱分类器能够更加聚焦于较难分类的数据样本。AdaBoost的优点在于它能够处理高维度数据和二分类问题。 总体来说,不同的分类器具有不同的适用场景和优缺点,选择合适的分类器需要对具体问题进行分析,选择最合适的算法。 ### 回答2: 在Tan数据挖掘第四章的习题解答中,重点包括数据预处理和缺失值处理、数据挖掘和相关技术的应用,以及分类和预测模型的构建和评估。其中,数据预处理和缺失值处理是数据挖掘的第一步,通过数据清洗和删减,可以使数据更加完整和准确。在缺失值处理中,可以使用插值法、平均值或众数填充等方法来处理缺失值。 数据挖掘和相关技术的应用包括关联规则挖掘、聚类分析、分类和预测等技术。在关联规则挖掘中,可以通过频繁模式挖掘找出属性间的关联关系,以便进一步的分析。在聚类分析中,可以将数据进行分组,以便发现数据在某些特征上的相似性。在分类和预测中,可以使用分类模型和预测模型来进行数据的分类和预测。 分类和预测模型的构建和评估是数据挖掘的重要环节。在模型构建中,可以使用决策树、神经网络、支持向量机等算法构建分类和预测模型。在模型评估中,需要对模型的泛化能力、准确率、召回率等进行测试和评估,以得出模型的表现和优化方案。 总之,数据挖掘是一项复杂和繁琐的任务,需要在数据预处理、挖掘和相关技术应用,以及分类和预测模型构建和评估等环节上投入大量的时间和精力。通过数据挖掘和分析,可以从数据中发现潜在的信息和规律,进而指导决策和提高效率。 ### 回答3: 《数据挖掘》一书第四章的习题解答主要涉及到关联规则挖掘和分类与预测两个主题。 在关联规则挖掘方面,习题答案通过给出代码实现的方式,详细说明了如何利用Apriori算法,寻找出数据集中频繁出现的项集和关联规则。除了具体的实现过程,还介绍了如何通过设置支持度和置信度来筛选出有效的关联规则,并根据结果进行解读和分析。此外,还有一些关于数据稀疏性、高维性等问题的探讨,帮助读者更好地理解关联规则挖掘的应用场景和技术特点。 在分类与预测方面,习题答案介绍了常见的分类算法,如朴素贝叶斯分类、决策树分类、k近邻分类等,并以代码实现的方式讲解了具体操作过程。此外,还对分类器的性能评估指标进行了介绍,如准确率、召回率、F-measure等,以及基于不同评估指标进行模型选择和优化的方法,让读者能够更好地理解和应用分类算法。 总的来说,本章习题的解答通过清晰的思路和详细的代码实现,帮助读者深入理解关联规则挖掘和分类与预测的原理和应用方法,是本书中非常重要的章节。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值