数据库中的外键是什么意思

数据库中的外键是什么意思,第1张

外键也称为外码或外部关键字。如果一个属性集不是所在关系的关键字,但是是其他关系的关键字,则该属性集称为外部关键字。

在关系数据库中可以通过外键使两个关系关联,这种联系通常是一对多的,其中主关系称为被参照关系,从关系称为参照关系。

数据库中的外码约束指用于在两个表之间建立关系,需要指定引用主表的哪一列。对于存在外码约束的表,如果进行删除非空的外码,可能会出现错误。如果在外码约束的列中输入非 NULL 值,则此值必须在被引用的列中存在,否则将返回违反外码约束的错误信息。

扩展资料:

外码约束仅能引用位于同一服务器上的同一数据库中的表。数据库间的引用完整性必须通过触发器实现。一个表最多可包含 253 个外码约束。对于临时表不强制 外码约束。

有外码约束可以引用同一表中的其它列(自引用)。列级外码约束的 REFERENCES 子句仅能列出一个引用列,且该列必须与定义约束的列具有相同的数据类型。

表级外码约束的 REFERENCES 子句中引用列的数目必须与约束列列表中的列数相同。每个引用列的数据类型也必须与列表中相应列的数据类型相同。

1、创建主键测试表test_key_p,

create table test_key_p(id number, class_id number);

2、创建两一个主键测试表test_key_f,class_id字段作为test_key_p表的外键,

create table test_key_f(class_id number, class_name varchar2(20));

3、编写sql,添加主键、外键,

-- Create/Recreate primary, unique and foreign key constraints

alter table TEST_KEY_P add constraint p_key1 primary key (ID);

alter table TEST_KEY_P add constraint f_key2 foreign key (CLASS_ID) references test_key_f (CLASS_ID);

4、查看主键、外键信息,ID为primary即主码,CLASS_ID为foreign即外码,

主码是从候选码中挑出来的一个作为主码,主码和外部码提供了一种表示不同关系之间相互关联的手段。

数据库中码又称数据库主码,是数据库中唯一能标识一个记录值的内部记录标志符。

若关系中的一个属性或属性组的值能够唯一地标识一个元组,且他的真子集不能唯一的标识一个元组,则称这个属性或属性组做候选码。

关系模式R中属性或属性组X并非R的候选码,但X是另一个关系模式的候选码,且X与R的主码对应,则称X是R的外部码,也称外码。

扩展资料:

在两个表的关系中,主码用来在一个表中引用来自于另一个表中的特定记录。主码表定义的一部分。一个表的主键可以由多个主码共同组成,并且主码的列不能包含空值。主码是可选的,并且可在 CREATE TABLE 或 ALTER TABLE 语句中定义。

一个表中只能有一个主键。如果在其他字段上建立主键,则原来的主键就会取消。主键的值不可重复,也不可为空(NULL)。

主键(Primary key): 也称为主码或主关键字,用于惟一地确定一个元组的属性或属性组(复合主码)。每个关系都有一个并且只有一个主码。

外键(Foreign Key):也称为外码或外部关键字。如果一个属性集不是所在关系的关键字,但是是其他关系的关键字,则该属性集称为外部关键字。

在关系数据库中可以通过外键使两个关系关联,这种联系通常是一对多(1:n)的,其中主(父)关系(1方)称为被参照关系,从(子)关系(n方)称为参照关系。

扩展资料:

数据库主键作用:

1、保证实体的完整性

2、加快数据库的 *** 作速度

3、在表中添加新记录时,DBMS会自动检查新记录的主键值,不允许该值与其他记录的主键值重复。

4、DBMS自动按主键值的顺序显示表中的记录。如果没有定义主键,则按输入记录的顺序显示表中的记录。

在有些数据库中,虽然主键不是必需的,但最好为每个表都设置一个主键,不管是单主键还是复合主键。它存在代表着表结构的完整性,表的记录必须得有唯一区分的字段,主键主要是用于其他表的外键关联,以及本记录的修改与删除。

参考资料来源:百度百科-数据库主键

以上就是关于数据库中的外键是什么意思全部的内容,包括:数据库中的外键是什么意思、数据库中的外码约束指什么 急等答案!!!、数据库中主码和外码怎么判断呀等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9341262.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存