[英]Confusion over functional dependencies
我目前正在学习关系数据库课程,并且我不太了解功能依赖关系以找到正确的主键。
这是我的表格:D = {P,Q,R,S,T,U,V,W,X,Y,Z}
这是我的一组功能依赖项:
{P,R}-> {Q,T,U}
{T}-> {S}
{V,W}-> {X,Z}
{X}-> {Y}
有人可以阐明如何找到D的主键吗?
你想通了。 {PRVW}是D的唯一候选密钥。
但是您应该知道,功能依赖性并不能确定“正确的主键”。 相反,功能依赖性决定了候选键的集合。 通常有多个候选密钥。
没有正式的逻辑依据可以说:“此候选密钥显然是主密钥,其他任何候选密钥都没有资格。” 但是,通常有实际的理由选择一个。 例如,较窄的键在索引中占用较少的空间,这通常对应于更快的性能。 因此,从纯粹的实践出发,有时使最窄的候选键成为主键是有意义的。 但是,这又是一个实际问题,而不是形式上的逻辑问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.