我知道候选键不能有NULL值。但候选键本身可以是许多属性的组合,这些属性称为主要属性。这些素数属性可以将NULL作为值吗?
此致
答案 0 :(得分:2)
Prime属性显示为某些属性的属性 候选人的关键(它不一定是主键,甚至不是任何键 兴趣。)
Prime属性是候选键的一部分。顾名思义,候选键是主键的候选键。这意味着,如果需要,候选键可以成为主键。
现在,如果你还记得,任何主键都不能为空。因此,根据定义,prime属性不能为null。如果它为null,则它不再是主要属性。
这是一个解释。
如果您有复合候选键,请说
CK1(P1, P2)
P1和P2是主要属性。您可以将P1或P2设置为null,因为除主键属性之外的素数属性没有约束。
所以,
CK1(P1, P2=null)
现在,CK1不能成为主键,因此不再是候选键,因此P2不再是主要属性。
答案 1 :(得分:0)
我认为这取决于您使用的数据库。
例如,您不必在MySQL中明确地执行此操作。这在the manual:
中定义PRIMARY KEY是一个唯一索引,其中必须定义所有键列 作为NOT NULL。如果它们没有显式声明为NOT NULL,那么MySQL 如此隐含地(并且默默地)声明它们。