SQLSEVER 中的那些键和约束

SQL Server中有五种约束类型,各自是 PRIMARY KEY约束、FOREIGN KEY约束、UNIQUE约束、DEFAULT约束、和CHECK约束。查看或者创建约束都要使用到 Microsoft SQL Server Managment Studio。

1. PRIMARY KEY约束

在表中常有一列或多列的组合,其值能唯一标识表中的每一行。这种一列或多列成为表的主键(Primary Key)。

一个表仅仅能有一个主键,并且主键约束中的列不能为空值。

查看PRIMARY KEY约束能够在object explorer中依次展开Databases –> 选择你要查看的数据库(在我的样例中是chargesystem) –> 表 –> 你要查看的表(在我的样例中是BasicTale)-> 列

如上图所看到的,Primary Key 有一把金色的小钥匙。ModifyIDea 即为BasicTable表的primary key。

创建PRIMARY KEY约束能够右键点击表。然后选择设计。打开表设计器。选中行,点击上面的金色小钥匙。来创建Primary Key。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbHU5MzAxMjQ=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >

也能够右键点击想设为主键的行,然后选择设置主键。

2. FOREIGN KEY约束

外键(Foreign Key)是用于建立和加强两个表(主表与从表)的一列或多列数据之间的连接的。

创建约束的顺序是先定义主表的主键,再对从表定义外键约束。

查看FOREIGN KEY约束。展开列,能够看到灰色的小钥匙为Foreign Key;展开Keys。能够看到Foreign Key约束的名字为FK_contact_company。

在表设计器中,也能够点击上面的关系button。这样就能够查看到全部的Foreign Key约束

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbHU5MzAxMjQ=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >

上面的样例能够看到billTable 表的OperatorID为外键,OperatorIDea 表的OperatorIDea为主键。

以下来演示一下怎样创建的该Foreign Key约束。

相同是点击完关系button之后,在弹出的对话框中选择加入

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbHU5MzAxMjQ=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >

然后点击以下的红色框内的button:

按下图中那样设置主表、主键和从表、外键

然后点击 OK,不要忘记保存你的设计。

3. UNIQUE约束(唯一键或索引)

UNIQUE约束用于确保表中的两个数据行在非主键中没有同样的列值。与PRIMARY KEY约束类似,UNIQUE约束也强制唯一性,但UNIQUE约束用于非主键的一列或多列组合,且一个表能够定义多个UNIQUE约束,另外UNIQUE约束能够用于定义多列组合。

还以BillTable为例。如果我们要约束BillIDea为唯一的,点击管理索引和键

然后点击Add来加入Unique约束

选择列为BillID(ASC), 是唯一的为是。

关闭并保存你的设计,这样一个Unique约束就创建好了。

时间: 2024-11-05 12:35:25

SQLSEVER 中的那些键和约束的相关文章

数据库中的索引、键和约束

一.索引 1.什么是索引? 索引是对数据库表中一列或多列的值进行排序的一种结构. 在关系型数据库中,索引是一种与表有关的数据库结构,是事实存在的.它可以使对于表的select等等操作更加快速,相当于一本书的目录. 对于一张表,如果我们想要找到某一列符合特定值的记录,第一种方法是全表搜索,匹配,然后把所有符合的记录列出,但是这样做会消耗大量数据库系统时间,并造成大量磁盘I/O操作:第二种就是在表中建立索引,然后在索引中找到符合查询条件的索引值,最后通过保存在索引中的ROWID(相当于页码)快速找到

[转载]SET FOREIGN_KEY_CHECKS=0;在Mysql中取消外键约束

Mysql中如果表和表之间建立的外键约束,则无法删除表及修改表结构. 解决方法是在Mysql中取消外键约束:  SET FOREIGN_KEY_CHECKS=0; 然后将原来表的数据导出到sql语句,重新创建此表后,再把数据使用sql导入, 然后再设置外键约束: SET FOREIGN_KEY_CHECKS=1;

MySQL学习9:详解MySQL中的外键约束

本篇主要讲解MySQL中的外键约束. 一约束概述 创建约束的目的就是保证数据的完整性和一致性.约束根据约束针对的字段的数目的多少划分为表级约束和列级 约束. 如果约束按照功能来划分的话刻印划分为:NOT NULL(非空约束).PRIMARY KEY(主键约束).UNIQUE KEY(唯一约束).DEFAULT(默认约束)和FOREIGN KEY(外键约束). 在前面我们已经初步涉及到了除外键约束之外的四个约束,这一次我们来谈谈最复杂的外键约束. 二外键约束的要求 FOREIGN KEY(外键约束

批量删除MSSQL 中主外键约束

转自: http://www.maomao365.com/?p=813 在制作 MSSQL同步工具的时候,发现由于主外键的约束,导致数据同步异常,所有我们需要把 读数据库里面的主外键约束,进行批量删除操作. 1 如何批量查询数据库的主外键? 在MSSQL2005以上版本中,系统提供一个系统视图 sys.foreign_keys 可以查询出系统所有的外键约束2 如何批量删除数据库的主外间键? -----------------------------------------------------

mysql中的外键foreign key

一.如果一张表中有一个非主键的字段指向了别一张表中的主键,就将该字段叫做外键. 一张表中可以有多个外键. 外键的默认作用有两点: 1.对子表(外键所在的表)的作用:子表在进行写操作的时候,如果外键字段在父表中找不到对应的匹配,操作就会失败. 2.对父表的作用:对父表的主键字段进行删和改时,如果对应的主键在子表中被引用,操作就会失败. 外键的定制作用----三种约束模式: district:严格模式(默认), 父表不能删除或更新一个被子表引用的记录. cascade:级联模式, 父表操作后,子表关

SQL入门经典(五) 之键和约束

这一篇博客主要讲键的创建,约束的创建.修改对象和删除对象. 主键:主键是每行的唯一标识符,必须包含唯一值(因此不能为NULL).由于主键在关系中数据库的重要性,因此它是所有键和约束中最重要的.一个表最多可以有一个主键.很少不需要主键的表.主键声明具有唯一性.常用有identity自动增长值和GUID.主键是唯一标识值.如果客户操作一个没有主键的表.连续添加2次一样数据.你怎么删除.删除总是2条一条删除.我们接着上篇博客. 下面创建一个主键表: USE panda GO --转为panda数据库操

SQL Server中建立外键的方法

在SQL中建立外键约束,可以级联查询表中的数据,在C#代码生成器中,也能根据外键关系生成相应的外键表数据模型.外键也可防止删除有外键关系的记录,一定程度上保护了数据的安全性. 步骤: 1.要建立外键关系,首先要保证用来建立外键关系的列具有唯一性,即具有 UNIQUE 约束通常是某表的主键作为另外一个表的外键 2.打开数据库表,找到要建立外键的表.并确保其中要建立外键关系的列与主键表中的数据类型完全一致 3.在要建立外键关系的表中,在任意列上右击,选择[关系] 4.在外键关系对话框中,点击左下角的

oracle数据库中提供的5种约束

约束作用:用来保持数据的完整性,防止无效数据进入到数据库中.oracle数据库中提供的5种约束,都是限定某个列或者列的组合的.1.主键约束(PRIMARY KEY):在一个表中能唯一的标识一行.主键可以限定在多个列上.2.唯一键约束(UNIQUE key):在一个表中能唯一的标识一行,唯一键也可以限定在多个列上.主键和唯一键的区别:a.一个表中最多只能有一个主键.可以多个唯一键.b.主键所限定的列不能为null,唯一键所限定的列可以为null.3.外键约束(FOREIGN key):   引用表

(二)创建带主键和约束的数据表

内容摘要 创建带主键和约束的表 创建带组合主键和外键的表 1. 创建带主键和约束的表 Student (学生表) CREATE TABLE Student ( sclass varchar(10) NOT NULL, --- 限制非空 snumb varchar(10) PRIMARY KEY, --- 设置为主键 sname varchar(40) NOT NULL, --- (下)设置默认值男,约束选项为男女 sgender varchar(4) DEFAULT '男' CONSTRAINT