`

主键----外键

 
阅读更多
如果表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 

分享到:
评论

相关推荐

    sqlserver 2005 主外键-复合主键

    在SQL Server 2005中,主键与外键是数据库设计中非常重要的概念,它们主要用于确保数据的完整性和一致性。特别是在复杂的数据关系管理中,复合主键的应用更是能够帮助我们有效地处理多对多的关系或者是更为复杂的...

    MySQLSQL高级特性字段约束-索引-视图-外键学习实践.rar

    4. **无限制外键**:通过ON DELETE SET NULL和ON UPDATE CASCADE允许外键字段设为NULL或跟随主键变动。 掌握这些高级特性对于优化MySQL数据库的性能、提高数据管理效率以及确保数据的准确性和一致性具有重要意义。...

    MySQL SQL高级特性 字段约束-索引-视图-外键学习实践

    外键的设置要求父表中的外键列必须是键,通常是一个主键或唯一键。在本部分中,虽然没有详细讨论外键的使用方法和作用,但可以知道外键在数据库设计中用于实现数据表之间的关联。 总结来说,字段约束、索引、视图和...

    主键和外键.doc

    ### 主键与外键详解 #### 一、主键与外键的概念 在关系型数据库中,每条记录都有若干个属性(字段),如果其中的一个属性组能够唯一地标识一条记录,那么这个属性组就可以成为一个主键。例如: - **学生表**...

    JAVA主键和外键详解

    ### JAVA主键和外键详解 #### 一、主键与外键的概念 在关系型数据库中,每条记录都包含多个属性(字段),而**主键**与**外键**则是用来确保数据完整性和一致性的关键机制。 ##### 1.1 主键 - **定义**:如果某个...

    数据主键和外键的错误总结

    ### 数据主键和外键的错误总结 #### 一、主键错误 主键作为数据库表中的关键元素,主要用于确保每一行数据的唯一性。它不仅有助于数据的完整性和一致性,还能提高数据库操作的效率。然而,在实际应用过程中,常常...

    数据完整性、主键和外键、数据类型

    ### 数据完整性、主键和外键、数据类型 #### 数据完整性 数据完整性是数据库设计中的一个核心概念,指的是确保数据库中的数据保持一致性和准确性。在实际应用中,数据完整性能够帮助我们防止非法或错误的数据被...

    主键与外键的创建

    在数据库设计中,主键和外键是两个关键概念,它们是关系数据库中确保数据完整性和一致性的核心机制。本文将深入探讨主键与外键的创建,帮助初学者更好地理解这两个概念。 **主键(Primary Key)**是用于唯一标识...

    oracle建表练习(主键外键)

    在本次Oracle建表练习中,我们将会重点讨论建表时使用的主键(Primary Key)和外键(Foreign Key)概念。 首先,我们来详细了解一下主键的概念。主键是数据库表中每一行记录的唯一标识,它保证了表中的每条记录都能...

    MySQL的约束-外键约束

    外键约束允许一个表中的数据引用另一个表中的数据,这种引用关系通常是主键与外键之间的对应。主键(Primary Key)在一个表中是唯一的,而外键(Foreign Key)则是指向另一个表主键的引用,这样就形成了两个表之间的...

    数据挖掘-04-外键SQL语句的编写.ev4.rar

    当我们在两个表之间创建外键约束时,我们确保了一个表(通常称为子表)中的某列引用了另一个表(主表)的主键。这样做的目的是为了保持数据的一致性和完整性,防止出现不合法的数据插入。 在SQL中,创建外键的语法...

    数据库技术与应用 设置成绩表主键和外键约束-A学习任务书.doc

    在数据库设计中,主键和外键是两个关键的概念,它们用于确保数据的完整性和一致性。主键是一种特殊的唯一标识符,用于唯一地识别表中的每一行数据;而外键则是连接不同表之间的桥梁,它引用了另一个表的主键,以建立...

    如何区分SQL数据库中的主键与外键

    在SQL数据库中,主键和外键是关系型数据库设计的核心概念,它们对于确保数据的完整性和一致性至关重要。主键是表中一个或一组字段,它们的值在该表内是唯一的,用来唯一标识一条记录。例如,在学生表中,学号可能是...

    数据库主键和外键设计的原则.doc

    数据库主键和外键设计的原则

    oracle设置主外键即主键序列自动增长

    ### Oracle 设置主外键及主键序列自动增长 在Oracle数据库管理系统中,为了确保数据的一致性和完整性,经常需要设置主键(Primary Key)和外键(Foreign Key)。此外,为了方便管理和操作,通常还会使用序列...

    PowerDesigner中的CDM设计的外键作主键的问题

    PowerDesigner中的CDM设计的外键作主键的问题 PowerDesigner是一款功能强大的数据建模工具,它提供了丰富的自定义功能,允许用户根据自己的需求对其进行修改和扩展。在PowerDesigner中,我们可以通过编写VBS脚本来...

    SQL中的主键和外键.doc

    ### SQL中的主键和外键 #### 一、主键与外键的概念 在关系型数据库中,每条记录都包含若干个属性。如果其中的一个属性组能够唯一地标识一条记录,则该属性组可以被称为“主键”。例如: - 在学生表中(学号,姓名...

    MySQL 创建主键,外键和复合主键的语句

    在数据库设计中,主键和外键是关系型数据库中非常重要的概念,它们用于确保数据的完整性和一致性。本文将详细介绍如何在MySQL中创建主键、外键以及复合主键。 1. **创建主键** 主键是数据库表中一个或一组字段,其...

    T_SQL建库建表加约束(主键,外键,检查,唯一等约束,插入数据)

    本主题将深入探讨如何利用T-SQL进行数据库构建、表设计以及应用不同类型的约束,包括主键、外键、检查约束和唯一性约束,并演示数据的插入方法。 1. **创建数据库**: 在T-SQL中,使用`CREATE DATABASE`语句来创建...

    酒店客房管理系统设计说明数据库大作业课程设计说明含源文件.docx

    此外,还需要定义每个表格的主键和外键,以确保数据的一致性和完整性。 #### 六、开发环境和技术栈 - **操作系统**:Windows XP - **开发语言**:.NET 和 C# - **数据库**:SQL Server 2005 - **参考资料**: - ...

Global site tag (gtag.js) - Google Analytics