oracle的外键怎么使用?

来源:百度知道 编辑:UC知道 时间:2024/09/22 01:32:10
ORACLE10g

A表是主表,B表是子表,A表的name字段被B表拿去做外键,现在已经在pl/sql中把外键设好了,那么我在往b表中写东西的时候,B表的name字段还要写东西进去了吗?

因为我对外键不熟,所以问些可笑问题:
1: 外键的关联是纯逻辑上的关联,还是内容也相同? 比如A.name为张三时,B.NAME是否也自动出现张三两个字呢?

2: A.NAME新增加一行内容时,B.NAME是否也会同时增加?

麻烦网友细心回答一下,谢谢!
如果我上面说的都不对,那请告诉一下怎么使用。谢谢!

1、外键是属于约束的一种,所谓约束顾名思义,就是限制你在数据库的操作。而你对数据库有什么操作,无非是增、删、改、查,外键起的作用就是让你在数据库帮助的情况下更合理的增加数据的正确度。

2、所以,外键只是辅助,并不能起到你说的【B.NAME是否也自动出现张三两个字】。

3、外键的作用是能够避免如下情况。

【班级信息表】存放的是班级信息表。
【学生表】存放的是学生信息,包含班级信息。

这个时候 在【学生表】中存放的班级信息应该在【班级信息表】存在才合法,自己人为控制的话难免有漏掉的情况,用外键则可以让数据库自动控制,当插入【学生表】中的数据在【班级信息表】不存在的时候,数据库不允许插入。

---
以上,希望对你有所帮助。

简单点给你说:外键是相对于主键来说的,他们是逻辑上的约束,外键上不允许有主键上不存在的数据

不会,外键只是内容上的制约,如A.name为 张三、李四、王五,那么B.NAME的赋值范围只能是 张三、李四、王五 3个
外键制约并非触发器,A.NAME新增加一行内容时B.NAME不会新增的