Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.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 素数属性可以有空值吗?_Database_Relational Database_Primary Key_Candidate Key - Fatal编程技术网

Database 素数属性可以有空值吗?

Database 素数属性可以有空值吗?,database,relational-database,primary-key,candidate-key,Database,Relational Database,Primary Key,Candidate Key,我知道候选密钥不能有空值。但候选密钥本身可以是许多属性的组合,这些属性称为基本属性。这些基本属性的值是否可以为NULL 关于,我相信这取决于您使用的数据库 例如,您不必在MySQL中显式地执行此操作。定义如下: 主键是唯一的索引,其中必须定义所有键列 不为空。如果它们没有显式声明为NOTNULL,MySQL 隐式地(无声地)声明它们 Prime属性显示为某些属性的属性 候选密钥。(它不必是主键,甚至不必是 利息。) 基本属性是候选密钥的一部分。顾名思义,候选键是主键的候选。这意味着,如果需要,

我知道候选密钥不能有空值。但候选密钥本身可以是许多属性的组合,这些属性称为基本属性。这些基本属性的值是否可以为NULL


关于,

我相信这取决于您使用的数据库

例如,您不必在MySQL中显式地执行此操作。定义如下:

主键是唯一的索引,其中必须定义所有键列 不为空。如果它们没有显式声明为NOTNULL,MySQL 隐式地(无声地)声明它们

Prime属性显示为某些属性的属性 候选密钥。(它不必是主键,甚至不必是 利息。)

基本属性是候选密钥的一部分。顾名思义,候选键是主键的候选。这意味着,如果需要,候选密钥可以成为主键

现在回想起来,任何主键都不能为null。因此,根据定义,prime属性不能为null。如果为null,则它不再是prime属性

这是一个解释

如果您有一个复合候选密钥,让我们说

CK1(P1, P2)
P1和P2是基本属性。您可以将P1或P2设置为null,因为除了主键属性的约束外,对主属性没有约束

所以

现在,CK1不能是主键,因此不再是候选键,因此P2不再是基本属性。

可能的重复项
CK1(P1, P2=null)