友情链接:.NET项目开发者博客

数据库中创建约束

唯一约束 : 为了设置唯一,保证数据唯一

使用语法:

alter table 表名

add

constraint  UQ_表名_字段名  unique(字段);

 

唯一约束与主键约束的唯一区别:

   主键定位了表,一张表中只允许有一个主键,但是可以有多个唯一约束。

   主键不允许为空,但是位于唯一约束可以为空。(空也只能都有一个)

   重名的时候可以加上中括号括起来,在表格中不能有两个null

   通过SSMS添加唯一约束:

   设计表 -> 右键唯一键 -> 添加 -> 右边更改名字 -> 设定字段

 

 

默认约束(defalut)

   有些时候需要有默认值

   两个情形:用户的插入数据的时间。

   另外一个情形:软删除。即使有日志,也不可能恢复日志

   alter  table  表名

   add

   constraint  DF_表名_字段名  default()  for  字段;

   没有bool类型,要写bit

   在添加数据的时候,会出现一个感叹号,则选中改行,执行就会添加到表中。

   MMSS

   在设计表中选中字段,在属性选项卡中找到默认值绑定,输入数据,就可以了。

 

检查约束(check

    一个人的性别,一个人的年龄都可以设置检查约束。

    用来限定输入的数据检查是否符合某些规则。

    T-sql

    alter talbe 表名

    add

    constraint  CK_表名_字段名  check(表达式)

    例如对年龄的约束为0到150岁之间,stuAge>=0and stuAge<=150  or  stuAge is null

   

   

 

外键约束:

   连接两张表的关系;关系型数据库是因为有表这个概念。

   而两张表之间的关系式纯粹的关系:

   关系是两个表之间的关系。具有外键的就是外键表

   关系式建立在两张表之间的。

   外键约束的用处:用来限定插入数据和删除数据的约束的时候

   对于一些不注重信息安全的公司来说不用太注意主外键的关系

   如何创建主外键关系:

     alter table  外键表

     add

     constraint FK_外键表_主键表_字段  foreign  key(外键表中的字段)  references  主键表名(主键表中的字段)

 

 

 

 

删除约束:alter  table    表名  drop  约束名

posted @ 2013-03-17 23:57  千年老妖  Views(818)  Comments(0Edit  收藏  举报
友情链接:.NET项目开发者博客