SQL Server关系的创建
如果两个表的相关列都是主键或具有唯一约束,创建的就是一对一关系。
如果只有一列具有主键或唯一约束,则创建的时一对多关系
关联字段的字符类型必须相同。
1. 一对一关系
USE [Howie] create table purchases
(
docentry int constraint pk_pr primary key not null,
vendor_number varchar(20),
purchase_number varchar(20) constraint uni_pr unique,
purchase_line int,
purchase_price float,
purchase_status char constraint ck_pr check(purchase_status in ('C', 'O')) constraint de_pr default 'O' ,
baseentry int constraint uni_bs unique(baseentry) constraint fp_pr foreign key (baseentry) references orders (docentry) --这个baseentry具有唯一约束和外键约束,而orders的docentry具有主键约束,那么这个外键约束就具有一对一的关系
)
go
2. 一对多关系
USE [Howie] create table purchases
(
docentry int constraint pk_pr primary key not null,
vendor_number varchar(20),
purchase_number varchar(20) constraint uni_pr unique,
purchase_line int,
purchase_price float,
purchase_status char constraint ck_pr check(purchase_status in ('C', 'O')) constraint de_pr default 'O' ,
baseentry intconstraint fp_pr foreign key (baseentry) references orders (docentry) --purchases中的baseentry新建时不具有唯一或者主键约束,而orders中的docentry有主键约束时,为一对多关系。可以理解为客户下的一个订单,我们需要向多家采购。
)
go
3.更改关系
更改关系需要先删掉原来的关系,再添加新的关系
alter table purchases
drop constraint fp_pr --删掉外键约束关系 alter table purchases
add constraint fp_pr foreign key (baseentry) references orders (docentry) --添加外键约束关系
4. 图形化界面创建与维护关系
(1)在要添加关系的表上右击,选择设计

(2)在设计界面找到你要添加关系的列名,右击 选择关系

(3)在关系页面,点击【表和列规范】右方的【...】

(4)下方界面设置外键,一定记住果两个表的相关列都是主键或具有唯一约束,创建的就是一对一关系,如果只有一列具有主键或唯一约束,则创建的是一对多关系。

SQL Server关系的创建的更多相关文章
- SQL Server COM 组件创建实例失败
SQL Server COM 组件创建实例失败 SQL2008数据库总会出现从 IClassFactory 为 CLSID 为 {17BCA6E8-A95D-497E-B2F9-AF6AA4759 ...
- 使用SQL Server Management Studio 创建作业备份数据库
在项目中,经常需要备份数据库,如果能做到只需点个按钮(“开始备份数据库”按钮),然后什么都不管,数据库就自动备份好了,或者服务器上的数据库隔一段时间自动备份一次,那该多好啊. Sql server 的 ...
- 利用Microsoft Sql Server Management studio 创建数据库的示例
利用Microsoft Sql Server Management studio 创建数据库的示例方法如下: 一.打开安装好的Microsoft Sql Server Management stu ...
- 如何实现SQL Server临时表的创建?
以下的文章主要是对SQL Server临时表的创建的实际操作步骤,以及在实际操作中我们要用到的实际应用代码的介绍,我在一个信誉度很好的网站找到一个关于其相关内容今天拿出来供大家分享. 创建临时表 方法 ...
- 利用SQL Server 2008 R2创建自动备份计划
本文主要利用SQL Server 2008 R2自带的"维护计划"创建一个自动备份数据的任务. 首先,启动 Sql Management studio,确保"SQL Se ...
- SQL Server Database 维护计划创建完整的备份策略
SQL Server的维护计划Maintenance Plan是一个非常实用的维护工具,可以完成大多数的数据库维护任务,通过对这些功能的封装,可以省去很多的代码编写时间.网络上完整介绍的不是很多,特此 ...
- 安装SQL Server出现在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke的错误解决办法
以下是错误报告: 标题: SQL Server 安装程序失败. ------------------------------ SQL Server 安装程序遇到以下错误: 在创建窗口句柄之 ...
- SQL Server ->> 分区表上创建唯一分区索引
今天在读<Oracle高级SQL编程>这本书的时候,在关于Oracle的全局索引的章节里面有一段讲到如果对一张分区表创建一条唯一索引,而索引本身也是分区的,那就必须把分区列也加入到索引列表 ...
- SQL Server Database 维护计划创建一个完整的备份策略
SQL Server维护计划Maintenance Plan这是一个非常有用的维护工具,能够完成大部分的数据库维护任务,通过这些功能包.您可以省略大量的编码时间. 介绍的不是非常多,特此补上一篇 ...
随机推荐
- maven clean插件使用进阶
maven clean插件使用进阶 参考 Maven clean 插件 Maven删除外部文件 查看命令帮助 mvn clean:help mvn clean:help -Ddetail=true - ...
- 【转】Java中的关键字 transient
阅读目录 先解释下Java中的对象序列化 关于transient关键字 举个例子 参考资料 先解释下Java中的对象序列化 在讨论transient之前,有必要先搞清楚Java中序列化的含义: Jav ...
- vscode源码分析【三】程序的启动逻辑,性能问题的追踪
第一篇: vscode源码分析[一]从源码运行vscode 第二篇:vscode源码分析[二]程序的启动逻辑,第一个窗口是如何创建的 启动追踪 代码文件:src\main.js 如果指定了特定的启动参 ...
- linux 常用配置
linux mysql yum 配置 https://blog.csdn.net/wngpenghao/article/details/78862923 linux jdk1. yum install ...
- Golang面向并发的内存模型
Import Advanced Go Programming 1.5 面向并发的内存模型 在早期,CPU都是以单核的形式顺序执行机器指令.Go语言的祖先C语言正是这种顺序编程语言的代表.顺序编程语言中 ...
- 使用码云,GitHub进行版本控制,并通过WebHook进行自动部署
我们通常需要在 PUSH 代码到远程仓库时,线上环境会自动进行代码同步,这时候就需要用到WebHook,它会自动回调我们设定的http地址. 通过请求我们自已编写的脚本,来拉取代码,实现与远程仓库代码 ...
- Drools规则引擎-如果Fact对象参数为null如何处理
问题场景 在技术交流群(QQ:715840230)中有同学提出这样的问题: 往kiesession里面传入fact,如果不做输入检查fact里面有些字段可能是null值.但是如果在外面做输入检查,规则 ...
- Redis系列---redis简介01
一. 本章我们将用简短的几句话来帮助你快速的了解什么是redis,初学者不必深究 1 Redis简介 Remote Dictionary Server(Redis)是一个开源的使用ANSI C语言编写 ...
- C# read dll config
public static SqlConnection GetSqlConnection() { Configuration myDllConfig = ConfigurationManager.Op ...
- 论文学习-混沌系统以及机器学习模型-11-29-wlg
混沌系统以及机器学习模型 概述: 必要条件下: negative values of the sub-Lyapunov exponents. 通过rc方法, 可以在参数不匹配的情况下,实现输入信号,混 ...