联系(Relationship)1:1联系:如果实体集E1中的每个实体最多只能和实体集E2中一个实体有联系,反之亦然,那么实体集E1对E2的联系成为一对一联系,记为1:1;
1:N联系:一对多,记为1:N;
M:N联系:多对多联系,记为M:N。
函数依赖(Function
Dependency)
定义设关系模式R(U),属性集合U={A1,A2,…,An},X,Y为属性集合U的子集,如果对于关系模式R(U)的任一可能的关系r,r中的任意两个元组u、v,若有u[X]=v[X],就有u[Y]=v[Y],则称X函数决定Y,或称Y函数依赖于X。用符号X→Y表示。其中X为决定因素,Y为被决定因素。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值性等,而在Y上的属性值不等。 (1) 函数依赖是语义范畴的概念,只能根据语义来确定一个函数依赖关系。
(2)
函数依赖X→Y的定义要求关系模式R的任何可能的关系r中的元组都满足函数依赖条件。术语(1)若X→Y,则X称作决定因素(Determinant)
(2)若X→Y,Y→X,称作XY。
(3)若Y不函数依赖于X,称作X -/-> Y。
(4)X→Y,若Y不包含X,则称X→Y为非平凡的函数依赖。正常讨论的都是非平凡的函数依赖。
(5)X→Y,若Y包含X,则称X→Y为平凡的函数依赖。
(6)完全函数依赖(full
functional dependency):在R(U)中,设X、Y是关系模式R(U)中不同的属性子集,若存在
X→Y,且不存在 X的任何真子集X',使得
X'→Y,则称Y完全函数依赖 ( full functional dependency ) 于X。记作
X-F->Y。
(7)部分函数依赖:在关系模式R(U)中,X、Y是关系模式R(U)中不同的属性子集,若X→Y成立,如果X中存在任何真子集X',而且有X'→Y也成立,则称Y对X是部分函数依赖,记作:X-P->Y。
(8)设R是关系模式,U是其属性集,K包含于U。若K完全函数确定U,则称K是R的候选键(又叫候选关键字,候选码)。包含在任意候选键内的属性称为键属性(又叫主属性),不是键属性的属性称为非键属性(又叫非主属性)。显然,候选键可以唯一标识关系的元组。候选键可能不唯一,通常指定一个候选键作为识别元组的主键。
候选键的严格定义:
关系模式R(U)的属性集合K ∈U的候选键,如果
(1)R(U)的任何一个关系实例的任意两个元素在属性集合K上的值部不相同————唯一性
(2)K的任何真子集都不满足条件 ————最小性
通俗点,候选键在每一行数据里的值都不相同,就像自动增长的id一样,可以说成是候选的主键。
码(键)是数据系统中的基本概念。所谓码就是能唯一标识实体的属性,它是整个实体集的性质,而不是单个实体的性质。
它包括超码,候选码,主码。
超键(super
key):在关系中能唯一标识元组的属性集称为关系模式的超键(又叫超码),超码是一个或多个属性的集合,这些属性可以让我们在一个实体集中唯一地标识一个实体。超码的任意超集也是超码,也就是说如果K是超码,那么所有包含K的集合也是超码。
候选键(candidate
key):不含有多余属性的超键称为候选键(又叫候选码)。候选码是从超码中选出的,自然地候选码也是一个或多个属性的集合。因为超码的范围太广,很多是我们并不感兴趣即无用处的。所以候选码是最小超码,它们的任意真子集都不能成为超码。
主键(primary key):用户选作元组标识的一个候选键程序主键(又叫主码)
一题搞懂什么是候选键
学号
姓名
性别
年龄
系别
专业
20020612
李辉
男
20
计算机
软件开发
20020613
张明
男
19
计算机
软件开发
20020614
王小玉
女
18
物理
力学
20020615
李淑华
女
17
生物
动物学
20020616
赵静
男
21
化学
食品化学
20020617
赵静
女
20
生物
植物学
【题目】数据库中有一个学生信息表如上所示,在该表中不能作为候选键的属性集合为( )
(选择一项)
a){学号} b){学号、姓名} c){年龄、系别} d){姓名、性别} e){姓名、专业}
【解析】透过概念,我们可以了解到,超键包含着候选键,候选键中包含着主键。主键一定是惟一的。为什么呢?因为他的爷爷超键就是惟一的。
我们分析一下上面的题目,a,b,c,d,e,5个答案都可以作为超键,他们组合在一起的集合可以用来惟一的标识一条数据记录(实体)。
请注意我们的要求