sqlserver 如何把一列分为一行显示_SQLServer 中的5种约束,来了解一下吧!

19777b6a3d660a4ea62b623c4456fb51.png

一直在关注软件设计方面,数据库方面就忽略了很多,最近在设计数据库时遇到了一些小麻烦,主要是数据库中约束和性能调优方面的应用,以前在学习 Sql Server 2000,还有后来的 Sql Server 2005 数据库时进行了总结,现在也暴露出了一些问题,由于学习的不深入,有一段时间不使用,就会忘记一些东西,所以为了让自己的知识更加牢固,还是要经常拿出来,看看。
那闲话少说进入我们今天的主题, SQLServer 中有五种约束, Primary Key 约束、 Foreign Key 约束、 Unique 约束、 Default 约束和 Check 约束,今天使用SQL Server2008 来演示下这几种约束的创建和使用的方法。

1 、 Primary Key 约束
在表中常有一列或多列的组合,其值能唯一标识表中的每一行。
这样的一列或多列成为表的主键(PrimaryKey)。一个表只能有一个主键,而且主键约束中的列不能为空值。只有主键列才能被作为其他表的外键所创建。
创建主键约束可以右键单击表,选择设计 。

a260e10c1473d5e72d15f533ff31f9dc.png


选中要创建主键的列,然后单击上面的小钥匙。

138066eb3828388de0c4f71a6fb85a56.png


也可以右键需要创建主键的列,然后单击小钥匙。

2116952c0099d723eb32f7f9e63f6fa5.png

2 、 Foreign Key 约束
外键约束是用来加强两个表(主表和从表)的一列或多列数据之间的连接的。创建外键约束的顺序是先定义主表的主键,然后定义从表的外键。也就是说只有主表的主键才能被从表用来作为外键使用,被约束的从表中的列可以不是主键,主表限制了从表更新和插入的操作。
右键单击需要设置外键的列(此时的表是作为从表在外键中出现),选择关系。

44308fb6253521694bee7ffaf152e85e.png


接下来点击添加 --> 表和列规范。

2c108d88624e1fc6e218059fc873c20f.png


 在主键表中选择主表和主表的主键列。

b7d88f27e8648e2383b9bfed5e0d1b9f.png


设置完后保存即可。3 、 Unique 约束
唯一约束确保表中的一列数据没有相同的值。与主键约束类似,唯一约束也强制唯一性,但唯一约束用于非主键的一列或者多列的组合,且一个表可以定义多个唯一约束。
右键单击要设置的列选择索引 / 键。

8d3003de61330872f2e1876ead909778.png


然后单击添加按钮。

026a93dee43d99694cb2110f89b1f2b6.png


选择需要设置的列,可以是一列也可以是多列的组合。

04306058fea38cf75bbf89fa7f58366b.png


关闭并保存设置。4 、 Default 约束
若在表中定义了默认值约束,用户在插入新的数据行时,如果该行没有指定数据,那么系统将默认值赋给该列,如果我们不设置默认值,系统默认为 NULL 。

以学生信息表为例,在表设计器中,为性别 sex 列填写默认值男。

dc3639676964bd251393d1ed2f26e0ce.png

5 、 Check 约束
Check 约束通过逻辑表达式来判断数据的有效性,用来限制输入一列或多列的值的范围。在列中更新数据时,所要输入的内容必须满足 Check 约束的条件,否则将无法正确输入。
以学生信息表中的 sex 为例,我们要限制 sex 列的值只能为男或女。

4b22376f43a75fa91afb5e25f4cd3328.png fd1cc53c9f8c932f3be515ff707dd429.png b4db5ddf2d96e87ffad7194fbc3bd327.png 4a1a68111c3a9862bb86b9ef006e3bb5.png


关闭并保存设计。

原文链接:cnblogs.com/PatrickLiu/p/10607235.html

846854f195620f661f5d90621e97c10c.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值