SQL SERVER 数据库外键
SQL SERVER 数据库外键
SQL SERVER 数据库外键一、sql server中建立外键约束有3中方式
1.Enterprise Manager中,Tables,Design Table,设置Table的properties,
可以建立constraint, reference key;
2.Enterprise Manager中,Diagrams, new Diagrams,建立两个表的关系。
3.直接用transact sql语句。
二、子表,父表的定义
拥有外键的表是子表。主键被其它表引用的表是父表。因为父表的标识被很多个子表中的记录引用,所以叫父表。拥有外键关系,并且可以随便删除数据,不影响其它表的数据的那个表叫子表。
三、使用的时候谁做为谁的外键,主要从以下两点考虑
1、删除是如何相互影响的,删除记录受约束的那个是父表,不受约束的那个是子表;
四、外键约束的用途:
1、创建中检查现存数据
创建关系时将关系应用于外键表中的现有数据。如果选定该对话框,一个错误信息将会通知您有违反约束的数据。
2、对 INSERT 和 UPDATE 强制关系
如果选择该选项,则只要使用这些语句在外键表中添加或更新数据时都将强制约束。
3、对复制强制关系
如果选择该选项,则无论何时将外键表复制到一个不同的数据库,都将强制关系的引用完整性。
4、级联更新相关的字段
无论何时更新主键值,都指示数据库将新的键值传播到相应的外键字段。
5、级联删除相关的字段
无论何时删除主表中的行,都指示数据库从外键表中删除相应的行。
五、一个SQL创建外键的例子
/*建库,名为student_info*/ create database student_info /*使用student_info*/ use student_info go /*建student表,其中s_id为主键*/ create table student ( s_id int identity(1,1) primary key, s_name varchar(20) not null, s_age int ) go /*建test表,其中test_no为主键*/ create table test ( test_no int identity(1,1) primary key, test_name varchar(30), nax_marks int not null default(0), min_marks int not null default(0) ) go /*建marks表,其中s_id和test_no为外建,分别映射student表中的s_id和test表中的test_no*/ create table marks ( s_id int not null, test_no int not null, marks int not null default(0), primary key(s_id,test_no), foreign key(s_id) references student(s_id), foreign key(test_no) references test(test_no) ) go
- sqlserver 空间数据类型(SQL Server数据类型转换方法)
- sql server查看之前的代码(SQL Server简单实现数据的日报和月报功能)
- sqlserver常用流控语句(SQL Server实现自动循环归档分区数据脚本详解)
- sqlserver新建连接服务器卡住(SQL Server成功与服务器建立连接但是在登录过程中发生错误的快速解决方案)
- sql server案例(SQL Server作业报错特殊案例分析)
- sqlserver厉害的函数(SQL Server里书签查找的性能伤害)
- sql server2008无法连接怎么办(SQL Server 2008 R2登录失败的解决方法)
- sqlserver字符串判断函数(解决sql server保存对象字符串转换成uniqueidentifier失败的问题)
- SQL Server表误删记录如何恢复
- SQL Server中查询CPU占用高的SQL语句
- sql server新建用户无法登录(sqlserver 因为选定的用户拥有对象,所以无法除去该用户的解决方法)
- sql server附加数据库出错(SQL Server附加数据库报错无法打开物理文件,操作系统错误5的图文解决教程)
- sql server建表语句带字段说明(SqlServer给表增加多个字段的语法)
- sql server2012表的数据删除(SQL Server删除表及删除表中数据的方法)
- sqlserver 怎么建立触发器(SQL Server:触发器实例详解)
- sqlserver游标实例(Sql Server临时表和游标的使用小结)
- 宁夏灵武恐龙化石发现始末(宁夏灵武恐龙化石发现始末)
- 到了岁末 临门一脚 节点,天台综合督评会目标直指 全年红(到了岁末临门一脚)
- 寒假余额不满24小时,不如来一场说走就走的亲子阅读之旅(寒假余额不满24小时)
- 省委书记出席的交流会,十位县委书记同场发言,代表公文材料的高水平(省委书记出席的交流会)
- 《刘老根3》热播,去世15年的她却再次被 伤害(去世15年的她却再次被)
- 十二星座爱情支配欲指数(十二星座爱情支配欲指数)
热门推荐
- dedecms标签解析(解决DEDECMS采集文章待审核后仍列表显示)
- canvas设置点击(Canvas高级路径操作之拖拽对象的实现)
- react实现js控制样式(React + Threejs + Swiper 实现全景图效果的完整代码)
- apache怎么配置服务器(Apache2 WEB服务器的配置步骤分享)
- mysqlworkbench怎么设置连接(详解MySQL Workbench使用教程)
- dockerhub镜像排行(DockerHub 镜像仓库的使用详解)
- mysql设计规则(专业级的MySQL开发设计规范及SQL编写规范)
- python写一个二叉树(Python二叉搜索树与双向链表转换算法示例)
- mysql中如何进行模糊查询(MySQL模糊查询用法大全正则、通配符、内置函数)
- 简述css在html页面中的使用方法(10分钟理解CSS BFC原理及其应用)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9