基本函数依赖和候选键_[总结]关系数据库设计基础(函数依赖、无损连接性、保持函数依赖、范式、……)...

联系(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个答案都可以作为超键,他们组合在一起的集合可以用来惟一的标识一条数据记录(实体)。

请注意我们的要求࿱

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值