下载吧 - 绿色安全的游戏和软件下载中心

软件下载吧

当前位置:软件下载吧 > 数据库 > MS_SQL > SQL基础:SQL Server中的约束(constraints)详解

SQL基础:SQL Server中的约束(constraints)详解

时间:2024-02-07 12:09作者:下载吧人气:18

一、约束的分类

在SQL Server中,有3种不同类型的约束。

  • 实体约束
    实体约束是关于行的,比如某一行出现的值就不允许出现在其他行,例如主键。
  • 域约束
    域约束是关于列的,对于所有行,某一列有那些约束,例如CHECK约束。
  • 参照完整性约束
    如果某列的值必须与其他列的值匹配,那就意味着需要一个参照完整性约束,例如外键。

二、约束命名

在学习约束之前,首先来了解下为约束命名需要注意哪些地方。

SQL Server在我们不提供名称时,会自动创建名称,但是由系统自动创建的名称并不是特别有用。

例如,系统生成的主键名称可能是这样的:PK_Employees_145C0A3F。

PK代表主键(primary key),Employees代表在Employees表中,而剩下的“145C0A3F”部分是为了保证唯一性而随机生成的值。只有通过脚本创建才会得到这种值,如果是通过Managerment Studio创建表,那么就直接是PK_Employees。

对于系统自动生成的Check约束名称如:CK_Customers_22AA2996。CK代表这是一个Check约束,Customers代表是在Customers表中,后面的22AA2996还是一个随机数。如果一个表中有多个Check约束,则命名可能如下:

CK_Customers_22AA2996

CK_Customers_25869641

CK_Customers_267ABA7A

如果你需要修改这些约束其中的一个,那么你很难分辨这些约束到底是哪一个。

因此,为了能够一眼看上去就知道这个约束是用来干什么的,我们应该使用一种简单明了的短语来进行命名。

例如要确保某一列电话号码格式正确的约束,我们可以使用命名CK_Customers_PhoneNo这样的短语来命名。

总之命名要做到以下几点:

  • 一致性
  • 通俗易懂
  • 满足以上两个条件的情况下简化名称。

三、主键约束

  主键是每行的唯一标识符,仅仅通过它就能准确定位到一行,其中主键列在整个表中不能有重复,必须包含唯一的值(不能为NULL)。由于主键在关系数据库中的重要性,因此它是所有键和约束中最重要的。

  下面来说说主键的创建方式

1、在创建表的时候创建主键约束。

create table customer
(
customerId int identity not null primary key,–创建主键约束
CustomerName nvarchar(30) not null
);
标签MSSQL,SQLServer,技术文档,数据库,SQLSERVER

相关下载

查看所有评论+

网友评论

网友
您的评论需要经过审核才能显示

热门阅览

最新排行

公众号