Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database design 具有独立属性的表的函数依赖关系_Database Design_Primary Key_Functional Dependencies - Fatal编程技术网

Database design 具有独立属性的表的函数依赖关系

Database design 具有独立属性的表的函数依赖关系,database-design,primary-key,functional-dependencies,Database Design,Primary Key,Functional Dependencies,我对表中的独立属性(如常量列)表示怀疑。以下示例的主键和FD应该是什么: 设a、b、c、d、e为属性,a、b、c唯一标识行,d、e为独立列。那么关键属性应该是什么,FD是什么 设a、b、c、d、e为属性,a、b、c唯一标识一行 d、e为独立柱。那么关键是什么呢 属性和fds是什么 如果ABC唯一地标识一行,并且如果ABC的子集没有唯一地标识一行,则ABC是不可约超键,也称为候选键。假设ABC是唯一的候选关键字,并且假设ABC也是唯一的决定因素,那么这些就是FD ABC->D ABC->E A

我对表中的独立属性(如常量列)表示怀疑。以下示例的主键和FD应该是什么:

设a、b、c、d、e为属性,a、b、c唯一标识行,d、e为独立列。那么关键属性应该是什么,FD是什么

设a、b、c、d、e为属性,a、b、c唯一标识一行 d、e为独立柱。那么关键是什么呢 属性和fds是什么

如果ABC唯一地标识一行,并且如果ABC的子集没有唯一地标识一行,则ABC是不可约超键,也称为候选键。假设ABC是唯一的候选关键字,并且假设ABC也是唯一的决定因素,那么这些就是FD

  • ABC->D
  • ABC->E
ABC->ABC是一个微不足道的依赖项。通常忽略无关紧要的依赖项


假设ABC是唯一的决定因素意味着什么?这意味着您没有任何其他未表达的FD,如D->E、AB->D或D->A。

如果属性不出现在该集合中任何依赖项的左侧或该集合中任何(非平凡)依赖项的右侧,则通常称该属性相对于某个依赖项集合是独立的。独立并不一定意味着常数,它只是意味着属性不由其他属性决定

对模式中独立于任何其他属性的属性进行建模的“正确”(第五范式)方法是将其放在自己的表中

应该区分任何表打算建模的依赖项集和表中实际有效的依赖项集。你的问题并不十分清楚,因为你说d,e是表中的“独立”属性,然后问依赖关系是什么。如果a,b,c是你所说的(超级)键,那么实际上事实上的依赖关系是表中的所有属性都是由a,b,c决定的——因此d和e根本不是“独立的”


另一方面,如果您不打算实现对d或e的任何依赖,那么您可以将(a、b、c、d、e)作为一个候选键(因此a、b、c本身不再是唯一标识的),或者您可以将d和e分别分解到它们自己的表中。

假设这里d和e保持常量值。那么主键是什么?ABC如果那是唯一的候选键。