-
2022-01-15 18:05:27
试述关系模型的概念,定义并解释以下术语:关系,属性,域,元组,码,分量,关系模式。
关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。
( l )关系:一个关系对应通常说的一张表
( 2 )属性:表中的一列即为一个属性
( 3 )域:属性的取值范围
( 4 )元组:表中的一行即为一个元组
( 5 )主码:表中的某个属性组,它可以惟一确定一个元组
( 6 )分量:元组中的一个属性值
( 7 )关系模式:对关系的描述,一般表示为关系名(属性 1 ,属性 2 , … ,属性 n )
更多相关内容 -
【数据库系统】关系模型、关系、元组、属性、关系实例
2020-04-15 12:22:52 -
关系数据模型、基本概念、关系模型的基本术语、关系代数
2020-12-31 10:47:18关系数据模型源于数学,它用二维表来组织数据,而这个二维表在关系数据库中称为关系。关系数据库就是表或者说是关系的集合。 数据操作 关系数据模型给出了关系操作的能力,包括。 传统的运算关系:并(union)、交...关系数据模型
关系数据模型
关系模型由关系模型的数据结构、关系模型的操作集合和关系模型的完整性约束三部分组成,这三部分也称为关系模型的三要素。
数据结构
关系数据模型源于数学,它用二维表来组织数据,而这个二维表在关系数据库中称为关系。关系数据库就是表或者说是关系的集合。
数据操作
关系数据模型给出了关系操作的能力,包括。
- 传统的运算关系:并(union)、交(intersection)、差(difference)、广义迪卡尔积(extended cartesian product)。
- 专门的关系运算:选择(select)、投影(project)、连接(join)、除(divide)。
- 有关的数据操作:查询(query)、插入(insert)、删除(delete)、更改(update)。
关系模型中的操作对象是集合(或表),而不是单个数据行,也就是说,关系模型中操作的数据以及操作的结果都是完整的集合(或表),这些集合可以只包含一行数据,也可以不包含任何数据。
完整性约束
在数据库中数据的完整性是指保证数据正确的特征,数据完整性是一种语义概念,它包括两个方面:
- 与现实世界中应用需求的数据的相容性和正确性。
- 数据库内数据之间的相容性和正确性。
完整性约束在关系型数据库中一般分为三类,实体完整性(主键)、参照完整性(外建)、用户定义完整性。
关系型数据库的基本术语
基本术语
-
关系(表)
通俗地讲,**关系(relation)**就是二维表,二维表的名字就是关系的名字。
-
属性(列)
二维表中的每一个称为属性(attribute),没一个属性有一个名字,称为属性名。n列就是n元。
-
值域(取值范围)
二维表中属性的范围称为值域(domain)。如性别只能‘男’或‘女’。
-
元组(行)
二维表中的一行数据称为一个元组(tuple)。
-
分量(元组中每个属性的值)
元组中的没一个属性值称为元组的一个分量(component),n元关系的每个元组有n个分量。
-
关系模式(表结构、表头)
二维表的结构称为关系模式(relation schema),或者说关系模式就是二维表的表框架或表头结构。设有关系名R,属性分别是a、b、c、d,则关系模式可以表示为:R(a,b,c,d)。如果将关系模式理解为数据类型,则关系就是该数据类型的一个具体值。
-
关系数据库
对应于一个关系模型的所有关系的集合称为关系数据库(relation database)。
-
候选键
如果一个属性或属性集(可以有多个候选键)的值能够唯一标识一个关系的一个元组而又不包含多余的属性,则称该属性或属性集为候选键(candidate key),如学号、身份证。候选键又称为候选关键字或候选码。
-
主键
当一个关系中有多个候选键时,可以从中选择一个作为主键(primary key)。每个关系只能有一个主键。主键也称为主码或关键字,是表中的属性或属性组,用于唯一地确定一个元组。
-
主属性与非主属性
包含在任意候选键中的属性称为主属性(primary attribute);不包含任一候选键的属性为非主属性(nonprimary attribute)。
术语对比表:
关系术语 一般的表格属于 关系名 表名 关系模式 表头(表中所含列的描述) 关系 (一张)二维表 元组 记录或行 属性 列 分量 一条记录中的某个列的值 对关系的限定
关系可以看成二维表,但并不是所有二维表都是关系。关系数据库对关系有一些限定,如:
- 关系中的每个分量都必须是不可再分的最小数据。
- 表中列的数据类型是固定的,即列中的内一个分量都是相同类型的数据,来自相同的值域。
- 不同列的数据可以取自相同的值域,每个列称为一个属性,每个属性有不同的属性名。
- 关系表中列的顺序不重要,即列的次序可以任意交换,不影响其表达的语义。
- 行的顺序也不重要,交换行数据的顺序也不影响其内容。
- 同一个关系中的元组不能重复,即在一个关系中,不能有两个元组的值完全相同相同。
关系代数
关系代数是关系操作语言的一种传统的表示方式,它是一种抽象的查询语言,是一种单次关系(或者说是集合)语言。包括运算对象、运算符和运算结果。
关系代数可分为两大类:
- 传统集合运算:这类运算完全把关系看作元组的集合,包括广义迪卡尔积运算、并运算、交运算、差运算。
- 专门的关系运算:这类关系除了把关系看作元组的集合以外,还通过运算表达了查询的要求,包括选择、投影、连接、除运算。
传统关系运算
-
并运算
设关系R与S均是n目关系,关系R与S的并记为:
R ∪ S = { t ∣ t ∈ R ∨ t ∈ S } R \cup S = \{t|t \in R \lor t\in S\} R∪S={t∣t∈R∨t∈S}
其结果仍是n目关系,由属于R或S的元组组成。
-
交运算
设关系R与S均为n目关系,关系R与S的交记为:
R ∩ S = { t ∣ t ∈ R ∧ t ∈ S } R \cap S = \{ t| t\in R \land t \in S \} R∩S={t∣t∈R∧t∈S}
其结果仍是n目关系,由属于R也属于S的元组组成。
-
差运算
设关系R与S均为n目关系,关系R与S的差运算记为:
R − S = { t ∣ t ∈ R ∧ t ∉ S } R-S = \{t| t\in R \land t \notin S\} R−S={t∣t∈R∧t∈/S}
其结果仍是n目关系,由属于R且不属于S的元组组成。
-
广义迪卡尔积
广义迪卡尔积不要求参加运算的两个关系具有相同的目数。
两个分别为m目和n目的关系R和S的广义迪卡尔积是一个有 m+n 个列的元组的集合。元组的前m列是关系R的一个元组,后n个是关系S的一个元组。若R有K1个元组,S有K2个元组,则R和S的广义迪卡尔积有 K1*K2个元组,记为:
R × S = { t r t s ^ ∣ t r ∈ R ∧ t s ∈ S } R \times S = \{ \hat{t_r t_s} | t_r \in R \land t_s \in S \} R×S={trts^∣tr∈R∧ts∈S}
其中, t r t s ^ \hat{t_r t_s} trts^表示有两个元组前后有序连接成的一个元组。
专门的关系运算
-
选择
选择是指从指定的关系中选出满足给定条件的元组而组成的一个新的关系。表示为:
KaTeX parse error: Undefined control sequence: \and at position 28: …= \{t | t\in R \̲a̲n̲d̲ ̲F(t)= true\}
其中 σ \sigma σ 是选择运算符,R是关系名,t是元组,F是逻辑表达式。
如: σ S d e p t = ′ 计 算 机 ′ ( S t u d e n t ) \sigma_{Sdept='计算机'}(Student) σSdept=′计算机′(Student)
-
投影
投影运算是从关系R中选取若干列,并用这些属性组成一个新的关系。表示为:
∏ A ( R ) = t . A ∣ t ∈ R \prod_A(R) = {t.A | t\in R} ∏A(R)=t.A∣t∈R
其中, ∏ \prod ∏是投影运算符,R是关系名,A是被投影的属性或属性组。t.A 表示t这个元组中相应于属性A的分量,也可以表示为t[A]。
投影运算一般由两步完成:
- 选出指定的属性,形成一个可能含有重复行的新关系。
- 删除重复行,形成结果关系。
如: ∏ S n a m e , S d e p t ( S t u d e n t ) \prod_{Sname,Sdept}(Student) ∏Sname,Sdept(Student)
-
连接
连接运算用来连接相互之间有联系的两个关系,从而产生一个新关系。这个过程通过连接属性来实现。连接运算主要有一下几种:
-
θ \theta θ 连接( θ \theta θ 是比较运算符)
表示为 { t r t s ^ ∣ t r ∈ R ∧ t r ∈ S ∧ t r [ A ] θ t s [ B ] } \{\hat{t_r t_s}|t_r \in R \land t_r \in S \land t_r[A] \theta t_s[B]\} {trts^∣tr∈R∧tr∈S∧tr[A]θts[B]}
其中A和B分别是关系R和S上语义相同的属性或属性组,$\theta $是比较运算符
-
等值连接( θ \theta θ 连接的特例)
与 θ \theta θ连接一致,是当 θ \theta θ为=时的情况
-
自然连接
自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性或属性组,并且在连接结果中去掉重复的列,使公共属性列只保留一个。
自然连接与等值连接的区别:
- 自然连接要求相等的分量必须有共同的属性名,等值连接则不要求
- 自然连接要求吧重复的属性名去掉,等值连接不要求
-
外部连接
如果希望不满足连接条件的元组也出现在连接结果中,则可以通过外连接(outer join)操作实现。外连接有三种形式:左外连接、右外连接、全外连接。含义是将指定一边(如左连接就是左边的关系)中不满足的元组也保留到连接后的结果中,并在结果中将另一关系各属性置为空(NULL)值。
-
半连接
-
-
除
-
除法的描述:
设关系S的属性是关系R的属性的一部分,则 R ÷ S R \div S R÷S为这样一个关系:
此关系的属性是由属于R但不属于S的所有属性组成$R \div S $ 的任一元组都是R中某元组的一部分。但必须符合下列要求,即任取属于 $R \div S $ 的一个元组 t,则t与S任一元组连接后,都为 R 中原有的元组。
-
除法的一般形式
设关系R(X,Y)和S(Y,Z),其中X、Y、Z为关系的属性组,则:
R ( X , Y ) ÷ S ( Y , Z ) = R ( X , Y ) ÷ ∏ Y ( S ) R(X,Y) \div S(Y, Z) = R(X, Y) \div \prod_Y(S) R(X,Y)÷S(Y,Z)=R(X,Y)÷∏Y(S)
-
-
关系模型的相关术语
2019-03-22 22:38:55基本术语 关系:整个二维表 关系名:表格名称 元组:行数据(记录) 属性:列数据(字段/分量) 属性名:列名称(字段名) 主键:唯一确定元组的属性组(关键字) 域:属性的取值范围 关系模式:关系的描述,表示...基本术语
- 关系:整个二维表
- 关系名:表格名称
- 元组:行数据(记录)
- 属性:列数据(字段/分量)
- 属性名:列名称(字段名)
- 主键:唯一确定元组的属性组(关键字)
- 域:属性的取值范围
-
关系模式:关系的描述,表示为:关系名(属性列表)
- 例如:学生(学号,姓名,性别,年龄,系别
- 关系的约束:域完整性约束,
- 实体完整性约束,参照完整性约束
一、关系依赖
-
函数依赖:X—>Y,即X函数决定Y,或Y函数依赖于X。
- 例:学号—>姓名 #学号决定姓名
-
平凡函数依赖:X—>Y,但X包含Y (Y包含于X)。
- 例:(学号,课号)—>课号 #课号存在于 (学号,课号) 之中。
-
非平凡函数依赖: X—>Y,但X不包含Y。
- 例:(学号,课号)—>成绩 #成绩不存在于 (学号,课号) 之中。
-
完全函数依赖:X—>Y,对于X的任意一个真子集X'都有X'不能函数决定Y。
- 例:(学号,课号)—>成绩 #只有学号或姓名无法决定成绩,二者缺一不可。
-
部分函数依赖:X—>Y,存在X的某一个真子集X'能够函数决定Y。
- 例:(学号,课号)—>姓名 #只有学号就能决定姓名,课号为冗余项。
-
传递函数依赖:X—>Y,X不包含Y,Y不函数决定X,Y—>Z,即Z对X传递函数依赖。
- 例:学号—>系号,(系号不函数决定学号) ,系号—>系主任,则系主任传递函数依赖于学号。
-
多值依赖:X—>—>Y,设R(U)是属性集U上的一个关系模式。X,Y,Z是U的子集,并且Z=U-X-Y,关系模式R(U)中多值依赖X—>—>Y成立,当且仅当对R(U)的任一关系r,给定的一对(x,z)值有一组Y的值,这组值仅仅决定于x值而与z值无关。
-
例:关系模式R(仓库,管理员,物品)
- 一个仓库有若干个管理员
- 一个仓库可以存放多个物品
- 一个管理员管理一个仓库中的所有物品
- 一种物品只能放在一个仓库里
- 则:仓库—>—>物品,仓库—>—>管理员
- 表中,R = 仓库+管理员+物品,(仓库,管理员)确定一组物品,但是物品其实与管理员无关,仅由仓库确定,所以:仓库—>—>物品。又因为(R-仓库-物品)不是空集,所以 仓库—>—>物品为非平凡多值依赖。
- 表中,R = 仓库+管理员+物品,(仓库,物品)确定一组管理员,但是管理员其实与物品无关,仅由仓库确定,所以:仓库—>—>管理员。又因为(R-仓库管理员)不是空集,所以 仓库—>—>管理员为非平凡多值依赖。
-
- 平凡的多值依赖:若X—>—>Y, 并且X,Y,Z是U的子集,Z=U-X-Y,而Z为空集,则称X—>—>Y为平凡的多值依赖;
- 非平凡的多值依赖:若X—>—>Y, 并且X,Y,Z是U的子集,Z=U-X-Y,若Z不为空,则称X—>—>Y为非平凡的多值依赖。
- 连接依赖:为提高规范化程度,都是通过把低一级的关系模式分解为若干个高一级的关系模式来实现的,在此过程中,应该保证分解后产生的关系模式与原来的模式等价。常用的等价标准有两种:要求分解具有无损连接性和要求分解保持函数依赖。
- 无损连接性的判别:将关系模式R<U,F>分解为关系模式R1<U1,F1>,R2<U2,F2>。如果(U1 ∩ U2 —>U1)∈F+(F的闭包,即F所蕴含的函数依赖的全体),或(U1 ∩ U2 —>U2)∈F+ ,即U1 ∩ U2 是R1的候选码或是R2的候选码,则这个分解一定是具有无损连接性的。
二、关系模式的规范化
- 满足第一范式条件的关系模式(1NF):关系模式 R的每一个属性都是原子域,元组的每一个分量都是不可分割的数据项。
- 满足第二范式条件的关系模式(2NF):关系模式 R∈1NF ,每一个非主属性完全函数依赖于码,消除非主属性对码的部分函数依赖。
- 满足第三范式条件的关系模式(3NF):关系模式 R∈2NF ,每一个非主属性不传递依赖于码,消除非主属性对码的传递函数依赖(对非主属性的函数依赖)。
- 满足Boyce-Code范式条件的关系模式(BCNF):关系模式 R∈3NF ,对于每一个非平凡函数依赖X—>Y,都有X包含码,消除主属性对于码的部分函数依赖与传递函数依赖。(在函数依赖的范畴内,BCNF达到了最高的规范化程度)
- 满足第四范式条件的关系模式(4NF):关系模式 R∈BCNF ,对于每一个非平凡的多值依赖X—>—>Y(Y⊄X),都有X包含码。(限制关系模式的属性之间不允许有非平凡且非函数依赖的多值依赖)
- 满足第五范式条件的关系模式(5NF):关系模式 R∈4NF,消除属于4NF的关系模式中存在的连接依赖。
- 规范程度层次:5NF⊂4NF⊂BCNF⊂3NF⊂2NF⊂1NF
三、“好的”关系数据库系统应具有的特点
- 适度减少数据冗余。
-
关系明确,表与表之间主外键设置明确,表名称明确。
- 对关系模式的属性间允许的数据依赖加以限制,减少表中非主属性间存在的函数依赖,避免更新异常问题。
- 非主属性完全函数依赖于码,不允许有非主属性对码的部分函数依赖。
- 非主属性不传递依赖于码。
- 选择合理的数据库引擎,查询操作较多的与增删改操作较多的数据库分别使用不同的引擎。
-
浅谈关系数据库、关系模型及相关术语
2018-03-22 20:57:33浅谈关系数据库、关系模型及相关术语 关系数据库是目前各类数据库中最重要、最流行的数据库,它应用数学方法来处理数据库数据,关系数据库系统是支持关系模型的数据库系统。关系模型由关系数据结构、关系操作集合和... -
【数据库】表、关系、元组、属性与域
2022-04-18 18:10:10这样,在关系模型的术语中,关系 用来代指表,元组 用来代指行,属性 用来指表中的列。 域 对于关系的每个属性,都存在一个允许取值的集合,称为该属性的域。 上表中 ”剩余库存量“ 属性的域就是所有可能的数量的... -
2.1 关系模型的基本概念
2022-03-01 16:38:57文章目录2.1.1 基本术语定义2.1 用二维表格表示实体集,用关键码表示实体间联系的数据模型称为关系模型(relational Model)。在关系模型中,关键码(key,简称键)由一个或多个属性组成。在实际使用中,有下列几种键。... -
关系模型三要素
2021-05-03 08:01:381、第2章 关系数据库,本讲内容,一、关系数据结构及形式化定义 二、关系操作 三、关系的完整性 四*、关系模型的三级体系结构,内容要求,掌握关系模型的三个组成部分及各部分所包括的主要内容 牢固掌握关系数据结构及其... -
关系模型的基本术语
2015-11-15 23:56:40关系模型的基本术语关系:整个二维表 关系名:表格名称 元组:行数据(记录) 属性:列数据(字段,分量) 属性名:列名称(字段名) 主键:唯一确定元组的属性组(关键字) 域:属性的取值范围 关系模式:... -
数据库 2.关系模型
2022-01-10 15:57:072. 关系模型 2.1 关系结构与约束 关系是使用最广泛的逻辑数据模型。 关系模型涉及:关系结构、关系操作、完整性约束。 关系数据库用一系列表来表达数据以及这些数据之间的联系 列:每个列有个列首,也称属性或者字段... -
数据库复习基本概念——关系、元组、属性、码、域、分量、形式化定义
2020-02-20 19:22:46表中的一行即为一个元组 3)属性(Attribute) 表中的一列即为一个属性,给每一个属性起一个名称,即属性名 4)码(键) 码是数据系统中的基本概念。所谓码就是能唯一标识实体的属性,他是整个实体集的性质,而不是单个... -
2020年全国计算机二级Access复习知识点:关系术语
2021-07-06 03:13:38【摘要】小编整理了2020年全国计算机二级Access复习知识点:关系术语的相关内容,下面一起来看看2020年全国计算机二级Access复习知识点:关系术语的具体内容吧,希望能够...在Access中,一个关系存储为一个表, 具... -
数据库中的常用的数据模型 层次模型 网状模型 关系模型
2019-04-14 13:41:45层次数据模型 定义:层次数据模型是用树状<...其实层次数据模型就是的图形表示就是一个倒立生长的树,由基本数据结构中的树(或者二叉树)的定义可知,每棵树都有且仅有一个根节点,其余的... -
关系模型之基本概念
2020-12-11 11:13:39在学习这篇博客之前,希望你温顾前面所学知识,对与数据库相关的一些基本概念和术语有一定的了解,对什么是视图?什么是模式?什么是数据模型?对三级模式和两层映像是怎么来的以及它带来的两个独立性是什么?我想你... -
数据库设计和ER模型-------之关系模型的基本概念(第二章)
2021-02-11 21:57:42关系模型的基本术语定义:用二维表格来表示实体集,用关键码表示实体之间联系的数据模型称为关系模型有时也习惯称呼关系为表或表格,元组为行(Row),属性为列。关系中属性个数称为“元数”,元组个数称为“基数”... -
【数据库原理】02:关系模型与关系代数
2021-04-12 23:24:12第二章:关系模型和关系运算理论 -
MySQL笔记——关系模型中的术语
2017-07-13 14:31:43(2)元组(Tuple):表中的一行即为一个元组,可以用来标识实体集中的一个实体,表中任意两行(元组)不能相同。 (3)属性(Attribute):表中的一列即为一个属性,给每个属性起一个名称即为属性名,表中任意的... -
关系模式码,域,元组,主属性,外码,超码,范式等基础概念知识详解,考试不挂科必备,简洁明了
2021-12-04 16:49:39元组:关系二维表中的一行,即学生关系中一个学生记录为一个元组 候选码/候选键:能唯一标识元组的一个属性或属性集,且该属性的组合中不包含多余属性,一个关系可能有多个候选码 求解注意事项: 候选码不能包括... -
数据库中的数据模型,关系模型与关系代数
2020-10-14 09:50:461)便于在计算机中实现。 2)容易被人理解 3)能够较真的模拟真实世界 数据模型是用来描述数据,组织数据和对数据进行操作的。 数据模型的三部分: 数据结构:描述实体的构成和联系。 数据操作:对数据库的查询与... -
数据库中关系模型一些名词的基本含义(一)
2018-03-18 11:09:32关系模型名词解释 (1)关系模型:用二维表格结构表示实体集,外键表示实体间联系的数据模型称为关系模型。 (2)关系模式:关系模式实际上就是记录类型。它的定义包括:模式名,属性...在关系模型中,字段称为属性。... -
关系模型中关系的完整性约束【校订版】
2021-03-03 21:38:41数据库中的数据必须是正确的、一致的、完整的和可靠的,为了防止数据库中存在不符合语义规定的数据和防止因...关系数据库,关系模型中三类完整性约束: 1 实体完整性 2 参照完整性 3 用户定义的完整性 附、触发器 -
SQL——关系模型
2017-04-24 16:08:23上一篇文章中介绍过数据库模型共有四种:关系模型,ER模型,基于对象的数据模型,半结构化模型。这四种模型中,最为常用和流行的就是关系模型,SQL语言...在关系模型中,定义了专业的术语来表示上述概念,用“关系”(r -
实体关系模型和关系模型之间有什么区别?
2021-02-05 12:54:55ER模型中的关系是显式定义的,而在关系模型中则是隐式的。否。每个关系模型(RM)数据库基表和查询结果都代表一个应用程序关系。实体关系建模(E-RM)模式只是一种组织(但使用不足和指定不足)(但存在误解)关系表和约束的... -
关系模型 数据库
2014-05-27 12:26:45关于数据库的关系模型的解释,便于理解这一重要概念。 -
数据库相关基本概念关系
2020-12-14 19:25:55定义并解释概念模型中术语(实体,实体型,实体集,实体之间的联系) 1.实体:客观存在并可相互区别的事物称为实体,实体可以是具体的事物,也可以是抽象的概念或联系。 2.实体型:具有相同属性的实体必然具有共同的... -
《数据库系统概念》第二章:关系模型介绍
2018-11-02 14:03:52在关系模型的术语中,关系就用来指代表。 元组(tuple) 指代表中的一行,表示一组值的序列(或列表)。 n个值之间的联系被称为n元组(n-tuple) 属性(attribute) 指代表中的一列。 对于关系的每个... -
中常用的数据模型层次模型网格模型关系模型
2021-07-18 05:43:08定义: 分层数据模型是使用... 从基本数据结构中树(或二叉树)的定义中关系是以什么模型作为数据模型的系统,我们可以看到每棵树只有一个根节点,其余的节点都不是根节点. 每个节点代表一个概念,即记录类型对应于一个... -
第2章 关系模型
2022-05-03 14:48:53第2章 关系模型 目录 1 关系模型的数据结构 1.1 基本术语 1.2 笛卡尔积 1.3 关系 1.4 关系模式(关系框架) 2 关系模型的数据操作 1 常用操作 2 特点 3 关系数据语言的种类 3 关系模型的... -
数据库基础 关系数据模型
2019-09-27 07:38:32关系数据库的基本特征是使用关系模型的组织数据,20世纪80年代以后,在商用DBMS中,关系模型逐步取代早期的网状模型和层次模型。 关系数据模型 作为数据模型,关系模型包含三个组成要素:关系数据结构、关系操作集合...