1. 首页 > 其他

外键为什么可以为空? 为什么外键属性可以为空

在参照完整性中为什么外键属性的值也可以为空

1.或者取空值 2.或者等于其中某个元组的主键值. 例如:职工(职工号,姓名,性别,部门号,上司,工资,佣金) 部门(部门号,名称,地点) 其中职工号是“职工”关系的主其中职工号是职工关系的主键,部门号是外键,而“部门”关系中部门号是主键,则职工关系中的每个元组的部门号属性只能取下面两类值: 第1类:空值,表示尚未给该职工分配部门; 第2类:非空值,但该值必须是部门关系中某个元组的部门号值,表示该职工不可能分配到一个不存在的部门中,即被参照关系“部门”中一定存在一个元组,它的主键值等于该参照关系“职工”中的外键值.

外键为什么可以为空? 为什么外键属性可以为空

在SQL中,为什么外键属性的值可以为空,并举例在什么情况下才可为空?

ORACLE里的外键也允许为空,一般用处不大但也不能说完全没用.举个例子,公司新采购一批电脑,主键为主表.电脑ID,外键为子表.员工ID,如果电脑暂时还没有归属人,员工ID可以默认为NULL

数据库中外键的值可以为空么?

数据库的外键可以为空,也可以非空,但是如果非空,则这个值必须在主表中存在.比如主表是一个班级,主键是班级id,字表是学生分配班级表,主键是学生id,外键是所在班级id.如果一个学生的外键id为空,说明这个学生还没有被分配到任何一个班级 如果一个学生的外键id非空,并且是班级表中的某个id,则说明学生分配到这个班级 如果一个学生的外键id非空,并且不属于任何班级,则数据插入肯定报错.也就是说这种情况不存在.

外键什么时候为空什么时候不为空

当外键作该关系模式的主键时不能为空,其他都可以为空

外键不是作为另外一个表的主键吗,为什么还能为空

没有决定性的作用, 那么可以不设置. 一般外键设置在那种 严重依赖的情况下. 例如 对于 学生表, 课程表. 的主键 学号 与 课程号 在成绩表中, 这2列, 必须要在 主表里面有相应的数据. 否则, 出现 不存在的学生, 或者 不存在的课程, 都是一件很折腾得时期. 例如一个 学生日志表 (日志ID, 学号, 姓名, 修改日期) 这种, 不是严重依赖的, 那么可以不设置外键. 否则某个学生修改学号了, 还要去修改以前的全部的历史日志,是不合适的.

数据库 外键值何时可以为空

严格说起来,主键和外键都不能为空,外键为空的时候,数据库的参照完整性已经被破坏了

mysql外键可以为空吗 外键可以为空吗

亲测,可以为空的

外键是否能为空

可以为空 外键可以不设置

数据库中,外键什么时候不能为空?

除非字段设为not null

除了主键不允许空,其他是不是都可以空?外键能空吗?

外键是可以为空的.因为创建外键的时候, 是有一种 ON DELETE SET NULL 的 可选择的 处理方式.这也就说明了, 那个外键, 是可以为空的, 否则怎么能够允许 ON DELETE SET NULL