全国计算机三级数据库考点分析之数据库系统基本原理[2]
展开全部
考点12关系数据模型
关系模型由关系数据结构、关系操作集合和关系完整性约束3部分组成。
1.关系数据结构
关系模型中的数据结构非常单一。实体及实体间的联系都用关系表示,一个关系就是一张二维表,是关系模型中数据的逻辑结构。
2.关系操作集合
关系模型中的关系操作的理论依据为关系代数和关系演算。
关系模型中常用的关系操作包括:选择(select)、投影(project)、连接(join)、除(divide)、并(union)交(intersection)和差(difference)等,以及查询(query)操作和增(insert)、删(delete)、改(update)操作两大部分。查询的表达能力是其中最主要的部分。
关系数据语言可以分为如下3类:关系代数语言、关系演算语言(包括元组关系演算语言和域关系演算语言)及具有关系代数和关系演算双重特点的语言。
3.关系的完整性约束
数据库的数据完整性是指数据库中数据的正确性和相容性,那是一种语义概念,包括两个方面:与现实世界中应用需求的数据的相容性和正确性数据库内数据之间的相容性和正确性。
关系模型中有3类完整性约束:实体完整性、参照完整性和用户自定义的完整性。
4.5关系模型的数据结构
考点13关系模型的数据结构和基本术语
(1)关系( Relation) ;关系是个元素个数为K(K,1 )的元组集合。一个关系对应一个二维表,二维表名就是关系名。
(2)属性(Attribute)和值域(Domain):二维表中的列(字段),称为属性,属性的个数称为关系的元数,列的值称为属性值.属性值的取值范围称为值域
(3)关系模式(Relation Schema):关系的描述称为关系模式。
(4)元组(Tuple):二维表中的行(记录的值)称为一个元组。关系模式和元组的集合通称为关系。
(5)候选码(Candidate Key)或候选键:如果在一个关系中,存在多个属性(或属性集合)都能用来标识该关系的元组,这些属性(或属性集合)都称为该关系的候选码或候选键。而包含在任何一个候选码中的属性称为主属性或码属性,相反,不包含的为非主属性或非码属性。关系模式的所有数据组是这个关系模式的候选码,称为全码。
(6)主码(Primary Key)或主键:在一个关系的若十个候选码中指定一个用来标识该关系的元组,这个的码称为该关系的主码或主键。
(7)外码(Foreign Key)或外键:当关系中的某个属性(或属性组)不是该关系的主码或只是主码的一部分,但却是另一个关系的主码时,称该属性(或属性组)为这个关系的外码。
(8)参照关系(Referencing Relation)与被参照关系( Referenced Relation):它们是指与外码相关联的两个关系。以外码作为主码的关系称为参照关系;外码所在的关系称为被参照关系或目标关系。
(9)分量(Component):元组中的一个属性值。
(10)主属性(Primary Attribute)和非主属性(Nonprimary Attribute):关系中包含在任何一个候选码中的属性称为主属性或码属性,不包含在任何一个候选码中的属性称为非主属性或非码属性。
考点14关系的形式定义和关系数据库对关系的限定
1.关系的形式定义
关系从数学的观点来定义有以下两种解释。
(1)集合论观点:即前面所述,关系是一个元素个数为K(K,1)的元组集合。
(2)值域的观点:关系是属性值域笛卡儿积的一个子集。
2.关系数据犀对关系的限定
当关系作为关系数据模型的数据结构时,关系数据库对关系有如下的限制。
(1)列是同质的.即每一列中的分量是同一类型的数据,来自同一个域。
(2)不同的列可以出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名。
(3)列的顺序无关紧要,即列的次序可以任意交换。
(4)任意两个元组不能完全相同。
(5)行的顺序无关紧要,即行的次序可以任意交换。
(6)每一个属性是不可分解的这是关系数据库对关系的最基本的一条限定。分量必须取原子值,即每一个分量都必须是不可拆分的数据项。
4.6关系模型的完整性约束
考点15数据完整性规则的分类
关系模型的完整性规则是对关系的某种约束条件。关系模型中可以有3类完整性约束:实体完整性、参照完整性和用户自定义的完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称为两个不变性、应该由关系系统自动支持。
1.实体完整性规则
实体完整性规则:若属性“是基本关系“的主属性,则属性A不能取空。实体完整性关系的所有主属性都不能取空值,而不仅是主码整体不能取空值。说明实体完整性规则应包括如下几个方面:
(1)实体完整性规则是针对基本关系而言的。一个关系(基本表)通常对应现实世界的一个实体集。
(2)现实世界中的实体是可区分的,即它们具有某种性标识。
(3)相应地,关系模型中以主码作为标识。
(4)主码中的属性即主属性不能取空值。所谓空值就是“不知道”或“不确定”的值。
2参照完整性规则
若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码K.s相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:取空值(F的每个属性值均为空值)或者等于S中某个元组的主码值。
3用户有定义的完整性
用户定义的完整性通常是定义对关系中除外码与主码属性之外的其他属性取值的约束,即对其他属性值域的约束,也称为域完整性规则,包括数据类型、精度、取值范围、是否允许空值等。
4.7关系代数
考点16传统集合运算
传统的集合运算包括并、交、差和广义笛卡儿积4种运算。
1.并(union)
设关系R和关系S具有相同的目n(即都有n个属性),且相应的属性取自同一个域,则关系R与S的并是由属于R或属于S的元组组成的,结果仍为n目关系,记做:
RUS={t/t∈R∨t∈S},t是元组变量。
2.差(difference)
设关系R和关系S具有相同的目n,且相应的属性取自同一个域,则关系R与关系S的差是由属于R而不属于S的所有元组组成的,结果仍为n目关系,记做:
R-S={t/t∈R∧t¢S},t是元组变量.
3.交(intersection)
设关系R和关系S具有相同的目n,且相应的属性取自同一个域,则关系R与关系S的交是由既属于R而不属于S的所有元组组成的,结果仍为n目关系,记做:
R∩S={t|t∈R∧t∈S}t ER八:ES},t是元组变量。
显然R自s=R一(R一s)。
4.广义笛卡儿积(Extended Cartesian Product)
设关系R和s的元数分别是厂和,,定义R和s的笛卡儿积是一个(r+s)元元组的集合,每一个元组的前r个分量来自R的一个元组,后s个分量来自S的一个元组。若R有m个元组,S有n个元组,则关系R 和S的广义笛卡儿积有m ×n个元组,记做:
R×S={t|t=<t¬¬¬¬r ,ts>∧t¬¬¬¬r ∈ts∈S
考点17专门的关系运算
专门的关系运算包括:对单个关系进行垂直分解(投影操作)或水平分解(选择操作)和对多个关系进行结合(连接操作)等。
1.选择(selection)
选择又称为限制,是在关系R中选择满足给定条件的各元组,记做:
(R)={t|t∈R∧F(t=′真′)},其中F表示选择条件,是一个逻辑表达式。
选择运算实际上是从关系R中选取使逻辑表达式F为真的元组。这是从行的角度进行的运算。
2.投影(projection)
关系R上的投影是从R中选择出若干属性列组成新的关系,记做:
二1(R、={t[A〕I t ER{,A为R的属性列。
投影操作实际上是从关系中选取某些列,即从列的角度进行的运算。
3.连接(join )
连接是从两个关联的笛卡儿积中选取属性间满足一定条件的元组。
连接运算中有两种最为重要也是常用的连接,一种是等值连接( equi - join),一种是自然连接(naturaljoin)自然连接是构造新关系的有效方法。一般,自然连接使用在两个关系有公共属性的情况中。
4.除(di%-ision)
给定关系R(X,州和别Y, Z),其中X,Y, Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集R与S的除运算得到一个新的关系尸(X),P是R中满足下列条件的元组在X属性列上的投影:元组在X分量值的对象Yx包含S在Y上投影的集合。记做:
R÷S=t,[X]t,ER八二,(S) C-玖}
除操作是同时从行和列的角度进行运算。
4.8 SQL概述:
考点18结构化查询语言SQL
SQL (Structured Query Language)称为结构化查询语言,是于1974年由Boyce和Chamberlin提出的,1975年IBM公司研制的关系数据库管理系统的原型系统System R实现了SQL语言。SQL是一个通用的、功能极强的关系数据库语言。我国制定了SQL的国家标准为GB12911, SQL已经成为关系数据库领域中的一种主流语言。
考点19 SQL的特点一
SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,主要特点包括以下几个方面:
(1)综合统一。
(2)高度非过程化。
(3)面向集合的操作方式。
(4)以同一种语法结构提供两种使用方式。
(5)语言简洁,易学易用。
考点20 SQL数据库体系结构
SQL语言支持关系数据库三级模式结构:其中外模式对应于视图和部分基本表,模式对应于基本表,内模式对应于存储文件:
基本表是本身独立存在的表,在SQL中一个关系就是一个基本表。一个基本表对应一个存储文件,一个表可以带若干索引,索引也存放在存储文件中存储文件的逻辑结构组成了关系数据库的内模式。存储文件的物理结构是任意的,对用户是透明的。
视图是从一个或几个基本表导出的表二视图是一个虚表视图在概念上与基本表等同,用户可以在视上再定义视图。
4.9 SQL的数据定义
考点21基本表
1.定义基本表
SQL语言使用CREATE TABLE语句定义基本表,其格式如下:
CREATE TABLE<表名>(<列名><数据类型>[列级完整性约束〕
[,<列名><数据类型>[列级完整性约束]…=
〔,<表级完整性约束>〕);
如果完整性约束条件涉及到该表的多个属性列,则必须定义在表级上,否则既可以定义在列级,也可以定义在表级。
2.修改基本表
SQL语言用ALTER TABLE语句修改基本表,其格式为:
ALTER TABLE<表名>
「ADD<新列名><数据类型>[完整性约束〕〕
[DROP<完整性约束名>〕
[MODIFY<列名><数据类型>」;
ADD子句用于增加新列和新的完整性约束条件。DROP子句用于删除指定的完整性约束条件。MOD-IFY子句用于修改原有的列定义,包括修改列名和数据类型。
3.删除基本表
当某个基本表不再需要时,可以用DROP TABLE语句进行删除,其格式为:
DROP TABLE<表名>
基本表一旦被删除,表中的数据、此表上建立的索引和视图都将自动被删除。因此执行删除基本表的操作时一定要格外小心。
关系模型由关系数据结构、关系操作集合和关系完整性约束3部分组成。
1.关系数据结构
关系模型中的数据结构非常单一。实体及实体间的联系都用关系表示,一个关系就是一张二维表,是关系模型中数据的逻辑结构。
2.关系操作集合
关系模型中的关系操作的理论依据为关系代数和关系演算。
关系模型中常用的关系操作包括:选择(select)、投影(project)、连接(join)、除(divide)、并(union)交(intersection)和差(difference)等,以及查询(query)操作和增(insert)、删(delete)、改(update)操作两大部分。查询的表达能力是其中最主要的部分。
关系数据语言可以分为如下3类:关系代数语言、关系演算语言(包括元组关系演算语言和域关系演算语言)及具有关系代数和关系演算双重特点的语言。
3.关系的完整性约束
数据库的数据完整性是指数据库中数据的正确性和相容性,那是一种语义概念,包括两个方面:与现实世界中应用需求的数据的相容性和正确性数据库内数据之间的相容性和正确性。
关系模型中有3类完整性约束:实体完整性、参照完整性和用户自定义的完整性。
4.5关系模型的数据结构
考点13关系模型的数据结构和基本术语
(1)关系( Relation) ;关系是个元素个数为K(K,1 )的元组集合。一个关系对应一个二维表,二维表名就是关系名。
(2)属性(Attribute)和值域(Domain):二维表中的列(字段),称为属性,属性的个数称为关系的元数,列的值称为属性值.属性值的取值范围称为值域
(3)关系模式(Relation Schema):关系的描述称为关系模式。
(4)元组(Tuple):二维表中的行(记录的值)称为一个元组。关系模式和元组的集合通称为关系。
(5)候选码(Candidate Key)或候选键:如果在一个关系中,存在多个属性(或属性集合)都能用来标识该关系的元组,这些属性(或属性集合)都称为该关系的候选码或候选键。而包含在任何一个候选码中的属性称为主属性或码属性,相反,不包含的为非主属性或非码属性。关系模式的所有数据组是这个关系模式的候选码,称为全码。
(6)主码(Primary Key)或主键:在一个关系的若十个候选码中指定一个用来标识该关系的元组,这个的码称为该关系的主码或主键。
(7)外码(Foreign Key)或外键:当关系中的某个属性(或属性组)不是该关系的主码或只是主码的一部分,但却是另一个关系的主码时,称该属性(或属性组)为这个关系的外码。
(8)参照关系(Referencing Relation)与被参照关系( Referenced Relation):它们是指与外码相关联的两个关系。以外码作为主码的关系称为参照关系;外码所在的关系称为被参照关系或目标关系。
(9)分量(Component):元组中的一个属性值。
(10)主属性(Primary Attribute)和非主属性(Nonprimary Attribute):关系中包含在任何一个候选码中的属性称为主属性或码属性,不包含在任何一个候选码中的属性称为非主属性或非码属性。
考点14关系的形式定义和关系数据库对关系的限定
1.关系的形式定义
关系从数学的观点来定义有以下两种解释。
(1)集合论观点:即前面所述,关系是一个元素个数为K(K,1)的元组集合。
(2)值域的观点:关系是属性值域笛卡儿积的一个子集。
2.关系数据犀对关系的限定
当关系作为关系数据模型的数据结构时,关系数据库对关系有如下的限制。
(1)列是同质的.即每一列中的分量是同一类型的数据,来自同一个域。
(2)不同的列可以出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名。
(3)列的顺序无关紧要,即列的次序可以任意交换。
(4)任意两个元组不能完全相同。
(5)行的顺序无关紧要,即行的次序可以任意交换。
(6)每一个属性是不可分解的这是关系数据库对关系的最基本的一条限定。分量必须取原子值,即每一个分量都必须是不可拆分的数据项。
4.6关系模型的完整性约束
考点15数据完整性规则的分类
关系模型的完整性规则是对关系的某种约束条件。关系模型中可以有3类完整性约束:实体完整性、参照完整性和用户自定义的完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称为两个不变性、应该由关系系统自动支持。
1.实体完整性规则
实体完整性规则:若属性“是基本关系“的主属性,则属性A不能取空。实体完整性关系的所有主属性都不能取空值,而不仅是主码整体不能取空值。说明实体完整性规则应包括如下几个方面:
(1)实体完整性规则是针对基本关系而言的。一个关系(基本表)通常对应现实世界的一个实体集。
(2)现实世界中的实体是可区分的,即它们具有某种性标识。
(3)相应地,关系模型中以主码作为标识。
(4)主码中的属性即主属性不能取空值。所谓空值就是“不知道”或“不确定”的值。
2参照完整性规则
若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码K.s相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:取空值(F的每个属性值均为空值)或者等于S中某个元组的主码值。
3用户有定义的完整性
用户定义的完整性通常是定义对关系中除外码与主码属性之外的其他属性取值的约束,即对其他属性值域的约束,也称为域完整性规则,包括数据类型、精度、取值范围、是否允许空值等。
4.7关系代数
考点16传统集合运算
传统的集合运算包括并、交、差和广义笛卡儿积4种运算。
1.并(union)
设关系R和关系S具有相同的目n(即都有n个属性),且相应的属性取自同一个域,则关系R与S的并是由属于R或属于S的元组组成的,结果仍为n目关系,记做:
RUS={t/t∈R∨t∈S},t是元组变量。
2.差(difference)
设关系R和关系S具有相同的目n,且相应的属性取自同一个域,则关系R与关系S的差是由属于R而不属于S的所有元组组成的,结果仍为n目关系,记做:
R-S={t/t∈R∧t¢S},t是元组变量.
3.交(intersection)
设关系R和关系S具有相同的目n,且相应的属性取自同一个域,则关系R与关系S的交是由既属于R而不属于S的所有元组组成的,结果仍为n目关系,记做:
R∩S={t|t∈R∧t∈S}t ER八:ES},t是元组变量。
显然R自s=R一(R一s)。
4.广义笛卡儿积(Extended Cartesian Product)
设关系R和s的元数分别是厂和,,定义R和s的笛卡儿积是一个(r+s)元元组的集合,每一个元组的前r个分量来自R的一个元组,后s个分量来自S的一个元组。若R有m个元组,S有n个元组,则关系R 和S的广义笛卡儿积有m ×n个元组,记做:
R×S={t|t=<t¬¬¬¬r ,ts>∧t¬¬¬¬r ∈ts∈S
考点17专门的关系运算
专门的关系运算包括:对单个关系进行垂直分解(投影操作)或水平分解(选择操作)和对多个关系进行结合(连接操作)等。
1.选择(selection)
选择又称为限制,是在关系R中选择满足给定条件的各元组,记做:
(R)={t|t∈R∧F(t=′真′)},其中F表示选择条件,是一个逻辑表达式。
选择运算实际上是从关系R中选取使逻辑表达式F为真的元组。这是从行的角度进行的运算。
2.投影(projection)
关系R上的投影是从R中选择出若干属性列组成新的关系,记做:
二1(R、={t[A〕I t ER{,A为R的属性列。
投影操作实际上是从关系中选取某些列,即从列的角度进行的运算。
3.连接(join )
连接是从两个关联的笛卡儿积中选取属性间满足一定条件的元组。
连接运算中有两种最为重要也是常用的连接,一种是等值连接( equi - join),一种是自然连接(naturaljoin)自然连接是构造新关系的有效方法。一般,自然连接使用在两个关系有公共属性的情况中。
4.除(di%-ision)
给定关系R(X,州和别Y, Z),其中X,Y, Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集R与S的除运算得到一个新的关系尸(X),P是R中满足下列条件的元组在X属性列上的投影:元组在X分量值的对象Yx包含S在Y上投影的集合。记做:
R÷S=t,[X]t,ER八二,(S) C-玖}
除操作是同时从行和列的角度进行运算。
4.8 SQL概述:
考点18结构化查询语言SQL
SQL (Structured Query Language)称为结构化查询语言,是于1974年由Boyce和Chamberlin提出的,1975年IBM公司研制的关系数据库管理系统的原型系统System R实现了SQL语言。SQL是一个通用的、功能极强的关系数据库语言。我国制定了SQL的国家标准为GB12911, SQL已经成为关系数据库领域中的一种主流语言。
考点19 SQL的特点一
SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,主要特点包括以下几个方面:
(1)综合统一。
(2)高度非过程化。
(3)面向集合的操作方式。
(4)以同一种语法结构提供两种使用方式。
(5)语言简洁,易学易用。
考点20 SQL数据库体系结构
SQL语言支持关系数据库三级模式结构:其中外模式对应于视图和部分基本表,模式对应于基本表,内模式对应于存储文件:
基本表是本身独立存在的表,在SQL中一个关系就是一个基本表。一个基本表对应一个存储文件,一个表可以带若干索引,索引也存放在存储文件中存储文件的逻辑结构组成了关系数据库的内模式。存储文件的物理结构是任意的,对用户是透明的。
视图是从一个或几个基本表导出的表二视图是一个虚表视图在概念上与基本表等同,用户可以在视上再定义视图。
4.9 SQL的数据定义
考点21基本表
1.定义基本表
SQL语言使用CREATE TABLE语句定义基本表,其格式如下:
CREATE TABLE<表名>(<列名><数据类型>[列级完整性约束〕
[,<列名><数据类型>[列级完整性约束]…=
〔,<表级完整性约束>〕);
如果完整性约束条件涉及到该表的多个属性列,则必须定义在表级上,否则既可以定义在列级,也可以定义在表级。
2.修改基本表
SQL语言用ALTER TABLE语句修改基本表,其格式为:
ALTER TABLE<表名>
「ADD<新列名><数据类型>[完整性约束〕〕
[DROP<完整性约束名>〕
[MODIFY<列名><数据类型>」;
ADD子句用于增加新列和新的完整性约束条件。DROP子句用于删除指定的完整性约束条件。MOD-IFY子句用于修改原有的列定义,包括修改列名和数据类型。
3.删除基本表
当某个基本表不再需要时,可以用DROP TABLE语句进行删除,其格式为:
DROP TABLE<表名>
基本表一旦被删除,表中的数据、此表上建立的索引和视图都将自动被删除。因此执行删除基本表的操作时一定要格外小心。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询