Database-0004-外键

2016-08-10  本文已影响38人  云转水流

2016.8.10

外键(Foreign Key)

外键又称作外关键字。

如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。

以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。

如果关系模式R中的某属性集不是R的主键,而是另一个关系R1的主键,则该属性集是关系模式R的外键。

保持数据一致性,完整性,主要目的是控制存储在外键表中的数据。
使两张表形成关联,外键只能引用外表中的列的值或使用空值。

外键就是指这个键在外表中是主键 。

总结:

外键约束

如果表A的主关键字是表B中的字段,则该字段称为表B的外键,表A称为主表,表B称为从表。外键是用来实现参照完整性的。

比如说:

create table a(   
    id int not null,   
    name varchar(30),   
    primary key (id)   
);  
insert into a values (1, 'Group1');   
insert into a values (2, 'Group2');
create table b(   
    id int not null,   
    name varchar(30),   
    a_id int,   
    primary key (id),   
    foreign key (a_id) references a(id)
);  
insert into b values (1, 'qianxin', 1); --可以插入   
insert into b values (2, 'yiyu', 2);    --可以插入   
insert into b values (3, 'dai', 3);     --错误,无法插入,用户组3不存在,与参照完整性约束不符 

使用原则

  1. 为关联字段创建外键。
  2. 所有的键都必须唯一。
  3. 避免使用复合键。
  4. 外键总是关联唯一的键字段。
上一篇 下一篇

猜你喜欢

热点阅读