SQL Server外键约束
A. SQL Server外键约束
SQL Server外键约束简介
外键是一个表中的一列或一组列,它唯一地标识另一个表的行。 vendor_groups 和v endor 表,它们的结构如下:
每个供应商属于供应商组,每个供应商组可能有零个或多个供应商。 vendor_groups 和 vendors 表之 间的关系是一对多的。
对于 vendors 表中的每一行,始终可以在 vendor_groups 表中找到相应的行。
但是,如果使用当前表创建方式,可以在 vendors 表中插入一行而不在 vendor_groups 表中显示相应 的行。
还可以删除 vendor_groups 表中的行,而无需更新或删除 vendors 表中导致 vendors 表中存在孤立的 行。
要强制执行 vendor_groups 和 vendors 表中的数据之间的链接,需要在 vendors 表中建立外键。
以下语句删除 vendors 表并使用 FOREIGN KEY 约束重新创建它:
现在, vendor_groups 表称为父表,该表是外键约束引用的表。 vendors 表称为子表,该表是应用外 键约束的表。
在上面的语句中,以下子句创建名为 fk_grou p的 FOREIGN KEY 约束,该约束将 vendors 表中的 group_id 链接到 vendor_groups 表中的 group_id :
FOREIGN KEY约束语法
创建 FOREIGN KEY 约束的一般语法如下:
下面来详细学习一下这种语法。
首先,在 CONSTRAINT 关键字后指定 FOREIGN KEY 约束名称。约束名称是可选的(不用指定也可以),因 此可以按如下方式定义 FOREIGN KEY 约束:
在这种情况下,SQL Server将自动为 FOREIGN KEY 约束生成名称。
其次,在 FOREIGN KEY 关键字后面指定括号括起来的逗号分隔外键列的列表。
第三,指定外键引用的父表的名称以及与子表中的列具有链接的逗号分隔列的列表。
SQL Server外键约束相关推荐
- SQL server 外键约束操作
创建数据库时就是有主键的创建了主键,但是表之间的关系没有联系,要建数据库关系图只有主键没有外键时不行的. 建外键的前提是此外键必须是另外一个表的主键.建外键的步骤: 第一步.打开要建外键的表设计器,右 ...
- SQL Server外键中的DELETE CASCADE和UPDATE CASCADE
In this article, we will review on DELETE CASCADE AND UPDATE CASCADE rules in SQL Server foreign key ...
- sql server 外键_什么是SQL Server中的外键
sql server 外键 In this article, we will seek an answer to an important question – "What is a for ...
- sql的外键约束和主键约束_SQL主键约束用示例解释
sql的外键约束和主键约束 A primary key is a column or a set of columns that uniquely identifies each row in a t ...
- sql的外键约束和主键约束_SQL约束
sql的外键约束和主键约束 SQL | 约束条件 (SQL | Constraints) Constraints are the guidelines implemented on the infor ...
- SQL Server主键约束
A. SQL Server主键约束 PRIMARY KEY简介 主键是唯一标识表中每一行的列或一组列.可以使用 PRIMARY KEY 约束为表创建主键. 如果主键只包含一列,则可以将 PRIMARY ...
- Sql 多重外键约束
多重外键约束这个名称可能并不准确,它是多个外键约束情况的一个特例,它指的是外键表有存在两个及以上外键关联到同一个主键表,例如一个部门,有正副两个管理者 首先看看不含多重外键的多个外键约束的一般情 ...
- mysql和sql定义外键约束_SQL外键约束的含义及创建
建立外键约束可以对sql语句的增删改有约束作用. 外键取值规则:空值或参照的主键值. (1)插入非空值时,如果主键表中没有这个值,则不能插入. (2)更新时,不能改为主键表中没有的值. (3)删除主键 ...
- SqlServer:sql添加外键约束
--新闻分类表 if exists(select * from sysobjects where name='NewsCategory') drop table NewsCategory go cre ...
最新文章
- sql中条件放在on后面和where后面的区别
- c#中接口的使用方法图解_c# 接口方法中使用new有什么用?
- 2019年财政收支分析_2019年模锻行业经济运行情况分析
- 使用mybaits遇见有大写的sql语句错误的bug分析
- ssh (安全外壳协议)
- Python基础15_装饰器
- Linux Semaphore
- 计算机报名照片在线修图,网上报名照片处理工具
- 总结Learning Efficient Single-stage Pedestrian Detectors by Asymptotic Localization Fitting
- PS修改证件照照背景颜色(带毛发)
- git submodule update --init时报错:Failed to recurse into submodule path third_party/protobuf
- html用户名和用户密码验证,js实现用户名和密码的校验
- find方法 php,ThinkPHP find方法 查询一条数据记录_ThinkPHP教程
- c语言如何判断条件,C语言 条件判断详细介绍
- Programming Ruby读书笔记
- 【周末送新书】基于BERT模型的自然语言处理实战
- linux 内存清理 释放命令,linux 内存清理/释放命令总结
- python 制作刷题程序
- 基于MIission planner的VTOL垂直起降固定翼航线设计方法
- 名片管理系统(构建可进不可退的多级从菜单名单系统)