请简述什么是外键约束
答案:1 悬赏:70 手机版
解决时间 2021-02-08 14:19
- 提问者网友:十年饮冰
- 2021-02-07 18:01
请简述什么是外键约束
最佳答案
- 五星知识达人网友:行路难
- 2021-02-07 18:54
问题一:什么是外键约束 如果表A的主关键字是表B中的字段,则该字段称为表B的外键,表A称为主表,表B称为从表。外键是用来实现参照完整性的。
比如说:
create table t_group ( id int not null,
name varchar(30),
primary key (id)
);
insert into t_group values (1, 'Group1');
insert into t_group values (2, 'Group2');
create table t_user (
id int not null,
name varchar(30),
groupid int,
primary key (id),
foreign key (groupid) references t_group(id) on delete cascade on update cascade
);
insert into t_user values (1, 'qianxin', 1); --可以插入
insert into t_user values (2, 'yiyu', 2); --可以插入
insert into t_user values (3, 'dai', 3); --错误,无法插入,用户组3不存在,与参照完整性约束不符
insert into t_user values (1, 'qianxin', 1);
insert into t_user values (2, 'yiyu', 2);
insert into t_user values (3, 'dai', 2);
delete from t_group where id=2; --导致t_user中的2、3记录级联删除
update t_group set id=2 where id=1; --导致t_user中的1记录的groupid级联修改为2
--------------------虽然很基础,但这篇文章讲的很好很清楚----------------
参考资料:qianzui.javaeye.com/blog/552878问题二:简述外键约束的功能和建立方法 1.外键的作用,主要有两个:
一个是让数据库自己通过外键来保证数据的完整性和一致性
一个就是能够增加ER图的可读性
2.外键的配置
1)先创建一个主表,代码如下:
#创建表student,并添加各种约束
create table student
(
id int primary key , #主键约束
name varchar(20) , #唯一约束
age int NOT NULL, #非空约束
sex varchar(2) ,
address varchar(20) default '重庆' #默认约束
) ;问题三:什么是外键 外键(Foreign Key) 如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。由此可见,外键表示了两个关系之间的联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。外键又称作外关键字。换而言之,如果关系模式R中的某属性集不是R的主键,而是另一个关系R1的主键则该属性集是关系模式R的外键,通常在数据库设计中缩写为FK。
外键的作用
保持数据一致性,完整性,主要目的是控制存储在外键表中的数据。 使两张表形成关联,外键只能引用外表中的列的值或使用空值问题四:外键约束的特点是什么 10分外键是用来实现参照完整性的,
不同的外键约束方式将可以使两张表紧密的结合起来,
做外键首先它要是表的主键问题五:外键约束到底有什么用 外键是表中的一个列,其值必须在另一个表的主键中列出。外键主要作用是保证数据引用的完整性,定义外键后,不允许删除在另一个表中具有关联行的行。 比如,有一个客户表a,一个订单表B:客户ID为表A的主键,每个客户都有唯一的ID号问题六:什么叫做外键约束????不太明白 举个简单的例子
表A内有列C1
表B内有列C2
将C2的外键指向C1
那么当你向表B插入数据时,C2的内容必须为C1中的一个
还有几个约束需要你设置
如删除或者修改表A中的字段时怎么处理表B中相关联的数据问题七:sql外键约束的作用是什么?求答案 建立外键的作用就是保证数据的完整性,就如同表A里有主键aa字段,表B里有bb字段,当A为主表,B为从表时,主表的主键就是从表的外键,也就是说B表里的bb字段的取值要来自A表里的aa字段。限制约束,以达到数据上的完整问题八:外键约束是怎么使用的 create table t1(A1 int primary key)create table t2(B1 int,B2 int)--对t2表的B2创建外键(关联字段t1表的A1字段)alter table t2 add constraint FK_B2_t1A1 foreign key(B2) references t1(A1)--注意:能作为一个表的外键关联字段(t1.A1)这个字段必须是主键或有唯一约束的(t1的A1必须是主键或者unique)问题九:创建外键约束的步骤 -- 创建测试主表. ID 是主键.CREATE TABLE test_main ( id INT NOT NULL, value VARCHAr(10), PRIMARY KEY(id) );-- 创建测试子表. CREATE TABLE test_sub ( id INT NOT NULL, main_id INT , value VARCHAr(10), PRIMARY KEY(id) );-- 插入测试主表数据.INSERT INTO test_main(id, value) VALUES (1, 'ONE');INSERT INTO test_main(id, value) VALUES (2, 'TWO');-- 插入测试子表数据.INSERT INTO test_sub(id, main_id, value) VALUES (1, 1, 'ONEONE');INSERT INTO test_sub(id, main_id, value) VALUES (2, 2, 'TWOTWO');-- 创建外键ALTER TABLE test_sub ADD CONSTRAINT main_id_cons FOREIGN KEY (main_id) REFERENCES test_main;go-- 验证外键是否生效1> DELETE2> test_main3> WHERe4> ID = 1;5> go消息 547,级别 16,状态 1,服务器 HOME-BED592453C\SQLEXPRESS,第 1 行DELETE 语句与 REFERENCE 约束main_id_cons冲突。该冲突发生于数据库Stock,表dbo.test_sub, column 'main_id'。语句已终止。
比如说:
create table t_group ( id int not null,
name varchar(30),
primary key (id)
);
insert into t_group values (1, 'Group1');
insert into t_group values (2, 'Group2');
create table t_user (
id int not null,
name varchar(30),
groupid int,
primary key (id),
foreign key (groupid) references t_group(id) on delete cascade on update cascade
);
insert into t_user values (1, 'qianxin', 1); --可以插入
insert into t_user values (2, 'yiyu', 2); --可以插入
insert into t_user values (3, 'dai', 3); --错误,无法插入,用户组3不存在,与参照完整性约束不符
insert into t_user values (1, 'qianxin', 1);
insert into t_user values (2, 'yiyu', 2);
insert into t_user values (3, 'dai', 2);
delete from t_group where id=2; --导致t_user中的2、3记录级联删除
update t_group set id=2 where id=1; --导致t_user中的1记录的groupid级联修改为2
--------------------虽然很基础,但这篇文章讲的很好很清楚----------------
参考资料:qianzui.javaeye.com/blog/552878问题二:简述外键约束的功能和建立方法 1.外键的作用,主要有两个:
一个是让数据库自己通过外键来保证数据的完整性和一致性
一个就是能够增加ER图的可读性
2.外键的配置
1)先创建一个主表,代码如下:
#创建表student,并添加各种约束
create table student
(
id int primary key , #主键约束
name varchar(20) , #唯一约束
age int NOT NULL, #非空约束
sex varchar(2) ,
address varchar(20) default '重庆' #默认约束
) ;问题三:什么是外键 外键(Foreign Key) 如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。由此可见,外键表示了两个关系之间的联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。外键又称作外关键字。换而言之,如果关系模式R中的某属性集不是R的主键,而是另一个关系R1的主键则该属性集是关系模式R的外键,通常在数据库设计中缩写为FK。
外键的作用
保持数据一致性,完整性,主要目的是控制存储在外键表中的数据。 使两张表形成关联,外键只能引用外表中的列的值或使用空值问题四:外键约束的特点是什么 10分外键是用来实现参照完整性的,
不同的外键约束方式将可以使两张表紧密的结合起来,
做外键首先它要是表的主键问题五:外键约束到底有什么用 外键是表中的一个列,其值必须在另一个表的主键中列出。外键主要作用是保证数据引用的完整性,定义外键后,不允许删除在另一个表中具有关联行的行。 比如,有一个客户表a,一个订单表B:客户ID为表A的主键,每个客户都有唯一的ID号问题六:什么叫做外键约束????不太明白 举个简单的例子
表A内有列C1
表B内有列C2
将C2的外键指向C1
那么当你向表B插入数据时,C2的内容必须为C1中的一个
还有几个约束需要你设置
如删除或者修改表A中的字段时怎么处理表B中相关联的数据问题七:sql外键约束的作用是什么?求答案 建立外键的作用就是保证数据的完整性,就如同表A里有主键aa字段,表B里有bb字段,当A为主表,B为从表时,主表的主键就是从表的外键,也就是说B表里的bb字段的取值要来自A表里的aa字段。限制约束,以达到数据上的完整问题八:外键约束是怎么使用的 create table t1(A1 int primary key)create table t2(B1 int,B2 int)--对t2表的B2创建外键(关联字段t1表的A1字段)alter table t2 add constraint FK_B2_t1A1 foreign key(B2) references t1(A1)--注意:能作为一个表的外键关联字段(t1.A1)这个字段必须是主键或有唯一约束的(t1的A1必须是主键或者unique)问题九:创建外键约束的步骤 -- 创建测试主表. ID 是主键.CREATE TABLE test_main ( id INT NOT NULL, value VARCHAr(10), PRIMARY KEY(id) );-- 创建测试子表. CREATE TABLE test_sub ( id INT NOT NULL, main_id INT , value VARCHAr(10), PRIMARY KEY(id) );-- 插入测试主表数据.INSERT INTO test_main(id, value) VALUES (1, 'ONE');INSERT INTO test_main(id, value) VALUES (2, 'TWO');-- 插入测试子表数据.INSERT INTO test_sub(id, main_id, value) VALUES (1, 1, 'ONEONE');INSERT INTO test_sub(id, main_id, value) VALUES (2, 2, 'TWOTWO');-- 创建外键ALTER TABLE test_sub ADD CONSTRAINT main_id_cons FOREIGN KEY (main_id) REFERENCES test_main;go-- 验证外键是否生效1> DELETE2> test_main3> WHERe4> ID = 1;5> go消息 547,级别 16,状态 1,服务器 HOME-BED592453C\SQLEXPRESS,第 1 行DELETE 语句与 REFERENCE 约束main_id_cons冲突。该冲突发生于数据库Stock,表dbo.test_sub, column 'main_id'。语句已终止。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯