Oracle数据库-外键约束

还是一样,首先我们先来了解一下什么是外键约束:

    所谓外键就是为了建立表与表之间的关系。外键是可以重复的,可以为空的。

    通常情况下一个表的外键是另外一张表的主键。

在企业实战中有80%的企业不使用外键约束,有20%的企业使用外键约束,所以,

外键约束加与不加,看的是实际情况下的公司要求是怎样的

那问题来了,外键约束的作用是什么??

1.

    就是当两张表关联时,是通过id关联的,

    外键所存在的表的字段正常情况下是可以随便填的,但没有丝毫意义,

    当添加了外键约束时,这个数就被限制起来了,只允许填入主表所有的id,

    如果在Oracle数据库中手动或代码写入无任何意义的id,

    则会报一个 " 违反完整约束条件,未找到父项关键字 " 的错误

2.

    就是在当你设置了外键约束后,删除主表是无法删除的,只有通过先删除子表,再删除主表才可以删除

    会报一个"违反完整约束条件-已找到子记录"

    打个比方说,班级表与学生表相关联,班级表为主表,学生表是子表,那么这俩表相关联后就无法先删除班级表

    因为:"班级下还有学生"

那如何通过代码实现外加约束的创建:

    alter  table  表名  add  constraint  外键约束名称  foreign  key  (外键字段名)  reference  参考的表名(id字段名);


你可能感兴趣的:(数据库相关)