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查询表结构的实例)
- sql server与erp的结合应用(SQL Server中with as使用介绍)
- sqlserver恢复delete数据(SQL Server数据库的三种恢复模式:简单恢复模式、完整恢复模式和大容量日志恢)
- sql server 新函数(SQL Server分隔函数实例详解)
- sqlserver2012知识点(SQL Server 2012 安全概述)
- sql server2008脚本执行(在Sql Server中调用外部EXE执行程序引发的问题)
- sqlserver使用简介(SQL Server Page结构深入分析)
- sqlserver游标使用场景(解析SQL Server聚焦移除Bookmark Lookup、RID Lookup、Key Lookup)
- SQL Server与Oracle数据类型的对应关系
- sqlserver登录身份验证(SQL Server 2012 身份验证Authentication)
- sql server 字符串处理(SQL Server中利用正则表达式替换字符串的方法)
- SQL SERVER中查看一个数据库的表结构及字段
- sqlserver百分比数据查询时间(SQL Server统计信息更新时采样百分比对数据预估准确性的影响详解)
- sql server高可用的实现方式(sql server 编译与重编译详解)
- SQL Server批处理注意的事项
- 数据库sqlserver定时任务(SQL Server 2005作业设置定时任务)
- 某知名企业绩效管理体系及薪酬分配体系操作手册(某知名企业绩效管理体系及薪酬分配体系操作手册)
- 职场人改不掉这4个习惯,只会越混越穷,一辈子也翻不了身(职场人改不掉这4个习惯)
- 华为 联想等46家公司笔试面试题,涉及各行各业,建议收藏(联想等46家公司笔试面试题)
- ()
- ()
- 800壮士拼死拖住30万日军 八佰 的真实历史,誓与阵地共存亡(800壮士拼死拖住30万日军)
热门推荐
- pythonzipfile的用法(对Python之gzip文件读写的方法详解)
- web服务器与应用服务器的区别(web服务器是什么?web服务器有哪些呢?)
- filezilla如何连接远程服务器(使用FileZilla快速搭建FTP文件服务的图文教程)
- 导航栏制作步骤详细(导航栏的多样设置简单实例)
- html5自定义结构指令(浅析HTML5 meta viewport参数)
- python获取游戏画面信息(python游戏开发之视频转彩色字符动画)
- linux中输出和追加命令(linux驱动开发中常用函数copy_from_user open read write详解)
- python爬虫出租屋(python爬虫租房信息在地图上显示的方法)
- python循环语句嵌套使用(Python分支语句与循环语句应用实例分析)
- php排序代码详解(PHP实现数据四舍五入的方法小结4种方法)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9