![Access 2013从入门到精通(第2版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/288/31729288/b_31729288.jpg)
1.2 关系型数据库基础
了解关系型数据库的一些基本概念、特点和运算等
关系模型是在20世纪70年代初由美国IBM公司的E.F.Codd提出的,为数据库技术的发展奠定了理论基础。
1.2.1 关系型数据库中的一些基本概念
关系模型中数据的逻辑结构是一张二维表,它由行和列组成。下面分别介绍关系模型中的相关术语。
1.关系(Relation)
一个关系就是一张二维表,如图1-3所示,就是一个在Access 2013中的二维表,它展示了员工基本资料之间的关系。
![](https://epubservercos.yuewen.com/ECD98A/17180248105286406/epubprivate/OEBPS/Images/img00020001.jpg?sign=1738895080-qcS5eZOc056ehA88KL8Z8MwgdpPmPLUy-0-73a0467dad89b8e9c946ca302557663f)
图1-3 关系数据库中使用二维表表示关系
2.元组(Tuple)和分量(Component)
元组也称记录,关系表中的每行对应一个元组,组成元组的元素称为分量。数据库中的一个实体或实体之间的一个联系均使用一个元组来表示。比如在图1-3的表中,“0001,黄龙,男,销售部,业务员,1342569****”就是一个元组,该元组由6个分量组成。
3.属性(Attribute)
表中的一列即为一个属性,给每个属性取一个名称为属性名。比如在图1-3的表中有6个属性(员工编号,姓名,性别,部门,职务,联系电话)。
属性具有型和值两层含义:属性的型指属性名和属性值域;属性的值是指属性具体的取值。关系中的属性名具有标识列的作用,所以在同一个关系中的属性名(列名)不能相同。一个关系中通常有个多个属性,属性用于表示实体的特征。
4.域(Domain)
域就是属性的取值范围,如图1-3中的性别属性的域是(男,女)。
5.候选码(Candidate key)
若关系中的某一属性或属性组的值能唯一标识一个元组,则称该属性或属性组为候选码,候选码简称为码。
6.主码(Primary key)
若一个关系中有多个候选码,则选定其中一个为主码。如图1-3表中应该选择“员工编号”作为主码。
7.全码(All-key)
在最简单的情况下,候选码只包含一个属性;在最极端的情况下,关系模式的所有属性是这个关系模式的候选码,称为全码。全码是候选码的特例。
8.主属性(Prime attribute)和非主属性(Non-prime attribute)
在关系中,候选码中的属性称为主属性,不包含在任何候选码中的属性称为非主属性。
1.2.2 关系的特点
关系用于存储数据库中的数据,因此,关系应该具有二维表和数据库中的一些性质,如图1-4所示。
![](https://epubservercos.yuewen.com/ECD98A/17180248105286406/epubprivate/OEBPS/Images/img00021001.jpg?sign=1738895080-sTjqhsCIkAqnvfxVl599iJjPDeRRRBM9-0-1b1f3830e201383a8a48e2c00442e345)
![](https://epubservercos.yuewen.com/ECD98A/17180248105286406/epubprivate/OEBPS/Images/img00022001.jpg?sign=1738895080-TA1o6mZpXmciPsaIESS1DJHVcNhRfNuN-0-0dded8b6b462aea21462243b0c23bd02)
图1-4 关系的特点
1.2.3 关系的运算
通过关系的运算,可以在关系表中查询所需的数据。按照关系运算的方法,可以将关系的运算分为两类:一类是传统的关系运算,如交、并、或、异或等;另一类是专门的关系运算,如选择、投影和联接等。
1.传统的关系运算
传统的关系运算又称为逻辑运算,两个结构相同的关系通过这样的运算,可以得到一个结构相同的新关系,如图1-5所示,两个关系进行交运算,得到一个新的关系。
![](https://epubservercos.yuewen.com/ECD98A/17180248105286406/epubprivate/OEBPS/Images/img00022002.jpg?sign=1738895080-q2xuJdq41zlwJfZHFv8qEvBiGEAsDdQi-0-6e50669fbd44a9a4671e9b3b433ba0da)
图1-5 交运算
2.专门的关系运算
♦ 选择:从关系中找出符合条件元组的操作称为选择,如图1-6所示。
![](https://epubservercos.yuewen.com/ECD98A/17180248105286406/epubprivate/OEBPS/Images/img00022003.jpg?sign=1738895080-JV8G3eLg45fWUA67l8KwqKqs9i2k24Rg-0-c5e80343472c98095681e67b761c5f46)
图1-6 选择运算
♦ 投影:从关系中选取几个属性构成新关系的操作称为投影,如图1-7所示。
![](https://epubservercos.yuewen.com/ECD98A/17180248105286406/epubprivate/OEBPS/Images/img00023001.jpg?sign=1738895080-tBEgfTfusO1Gk4ThPbY2AP65U1z6yDwH-0-ec5f9ac13713aa416e0226a51d2c0b58)
图1-7 投影运算
♦ 联接:将多个关系的属性组合成一个新的关系的操作称为联接,如图1-8所示。
![](https://epubservercos.yuewen.com/ECD98A/17180248105286406/epubprivate/OEBPS/Images/img00023002.jpg?sign=1738895080-rcmACnSX5xsPpRDYvfafL7ltnaqo1c0o-0-4d99f6cde304adb84e0901baf5c29c13)
图1-8 联接运算
♦ 自然联接:在联接运算中,按字段值相等执行的联接称为等值联接,去掉重复值的等值联接称为自然联接,如图1-9所示。
![](https://epubservercos.yuewen.com/ECD98A/17180248105286406/epubprivate/OEBPS/Images/img00023003.jpg?sign=1738895080-s3PFs4cm1s83z72L7hKXblMmSDvKQlyR-0-69c5098823e1b3f796f9f4a7e337d6c2)
图1-9 自然联接运算
1.2.4 关系的完整性
关系的完整性指关系数据库中数据的正确性和可靠性。关系数据库管理系统的一个重要功能就是保证关系的完整性。关系完整性包括实体完整性、值域完整性、参照完整性和用户自定义完整性。
♦ 实体完整性:若属性A是基本关系R的主属性,则属性A不能取空值。
♦ 值域完整性:元组每个分量的取值必须在其对应属性的域内。
♦ 参照完整性:相关数据表中的同一个数据必须一致,如果其在某个表中允许为空时,也可以为空,即一个为空一个不为空的情况是允许的。
♦ 自定义完整性:用户根据需要对属性设置的约束条件,如某个属性下的值不能为空,取值范围为0~100之间的整数等。