关系 Flashcards
域
一组具有相同数据类型的值的集合。
关系模型的三个组成部分
关系数据结构,关系操作集合和关系完整性约束。
笛卡尔积
域上面的一种集合运算。
笛卡尔积可表示为一个二维表。表中的每行对应一个元组,表中的每一列的值来自一个域。
一般来说,笛卡尔积是没有实际语义的。只有它的某个子集才有实际含义。
元组
笛卡尔积中每一个元素叫作一个n元组,或简称元组。
分量
元组中的每一个值。
关系
在域D1,D2,…,Dn上,笛卡尔积D1D2…*Dn的子集称为关系,表示为R(D1,D2,…,Dn)。
R表示关系的名字,n是关系的目或度。
关系中的每个元素是关系中的元组,通常用t表示。
当n=1时,称该关系为单元关系,或一元关系。
当n=2时,称该关系为二元关系。
关系是笛卡尔积的有限子集,所以关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。
关系是元组的集合,因此关系模式必须指出这个元组集合的结构,即它由哪些属性组成,这些属性来自哪些域,以及属性与域之间的映像关系。
一个关系通常是由赋予它的元组语义来确定的。元组语义实质上是一个n目谓词(n是属性集中属性的个数)。凡使该n目谓词为真的笛卡尔积中的元素(或者说凡符合元组语义的那部分元素)的全体就构成了该关系模式的关系。
属性
关系也是一个二维表,表的每行对应于一个元组,表的每列对应于一个域。由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性。
n目关系必有n个属性。
候选码
若关系中的某一属性组的值能够唯一地标识一个元组,则称该属性组为候选码。
在最简单的情况下,候选码只包含一个属性。在最极端的情况下,关系模式的所有属性是这个关系模式的候选码,称为全码。
主码
若一个关系有多个候选码,则选定其中一个为主码。
主属性
候选码的诸属性。
非主属性(非码属性)
不包含在任何候选码中的属性。
全码
关系模式的所有属性是这个关系模式的候选码。
关系的类型
基本关系(基本表或基表),查询表,视图表。
基本表:实际存在的表,是实际存储数据的逻辑表示。
查询表:查询结果对应的表。
视图表:由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据。
当关系作为关系数据模型的数据结构时,需要给予如下的限定和扩充
1。关系数据模型中的关系必须是有限集合。(无限关系在数据库系统中是无意义的。)
2。通过为关系的每个列附加一个属性名的方法取消关系元组的有序性。
基本关系的性质
1。列是同质的,即每一列中的分量是同一类型的数据,来自同一个域。 2。不同的列可出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名。 3。列的顺序无所谓,即列的次序可以任意交换。 4。任意两个元组的候选码不能相同。 5。行的顺序无所谓,即行的次序可以任意交换。 6。分量必须取原子值,即每一个分量都必须是一个不可分的数据项。
关系的完整性约束条件
现实世界随着时间在不断地变化,因而在不同的时刻,关系模式的关系也会有所变化。
完整性约束条件或者通过对属性的取值范围的限定,或者通过属性值间的相互关联(主要体现在值的相等与否)反映出来。
关系模式
关系的描述。可以形式化地表示为R(U,D,DOM,F)。
R为关系名,U为组成该关系的属性名的集合,D为属性组U中属性所来自的域,DOM为属性向域的映像集合,F为属性间数据的依赖关系集合。
通常可简记为R(U)或R(A1,A2,…,An)。R为关系名,A1,A2,…,An为属性名。
域名及属性向域的映像常常直接说明为属性的类型、长度。
关系与关系模式
关系是关系模式在某一时刻的状态或内容。关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断更新着数据库中的数据。
关系数据库模式
关系数据库的型也称为关系数据库模式,是对关系数据库的描述,它包括若干域的定义及在这些域上所定义的若干关系模式。
关系数据库模式包括
若干域的定义;在这些域上定义的若干关系模式。
关系数据库的值
是这些关系模式在某一时刻对应的关系的集合,通常就称为关系数据库。
关系模型中的常用操作
查询操作和插入、删除、修改操作。
查询操作
选择,投影,连接,除,并,差,交,笛卡尔积。
5种基本操作
选择,投影,并,差,笛卡尔积。
其他操作可以用基本操作定义和导出。
关系操作的特点
集合操作方式,即操作的对象和结果都是集合。也称为一次一集合的方式。
非关系数据模型的数据操作方式为一次一记录的方式。
关系数据语言
早期的关系操作能力通常用代数方式或逻辑方式来表示,分别称为关系代数和关系演算。
关系代数是用对关系的运算来表达查询要求的。关系演算是用谓词来表达查询要求的。
关系演算又可按谓词变元的基本对象是元组变量还是域变量分为元组关系演算和域关系演算。
关系代数、元组关系演算和域关系演算三种语言在表达能力上是完全等价的。它们都是抽象的查询语言。
还有一种介于关系代数和关系演算之间的结构化查询语言SQL。SQL不仅具有丰富的查询功能,而且具有数据定义和数据控制功能,是集查询、DDL、DML和DCL于一体的关系数据语言。它充分体现了关系数据语言的特点和优点,是关系数据库的标准语言。
这些关系数据语言的共同特点是,语言具有完备的表达能力,是非过程化的集合操作语言,功能强大,能够嵌入高级语言中使用。
关系语言是一种高度非过程化的语言,用户不必请求DBA为其建立特殊的存取路径,存取路径的选择由RDBMS的优化机制来完成。
关系模型中的完整性规则
关系模型的完整性规则是对关系的某种约束条件。关系模型中可以有3类完整性约束:实体完整性、参照完整性和用户自定义的完整性。
其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性,应该由关系系统自动支持。
用户自定义的完整性是应用领域需要遵循的约束条件,体现了具体领域中的语义约束。
实体完整性规则
若属性(指一个或一组属性)A是基本关系R的主属性,则A不能取空值。 空值就是"不知道"或"不存在"的值。 基本关系的主码都不能取空值。 如果主码由若干属性组成,则所有这些主属性都不能取空值。 说明: 1。实体完整性规则是针对基本关系而言的。一个基本表通常对应现实世界的一个实体集。 2。现实世界中的实体是可区分的,即它们具有某种唯一性标识。 3。关系模型中以主码作为唯一性标识。 4。主码中的属性即主属性不能取空值。
参照完整性
若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性均为空值),或者等于S中某个元组的主码值。