zoukankan      html  css  js  c++  java
  • SqlServer基础:约束

    为了减少输入错误和保证数据库数据的完整性,可以对字段设置约束,例如考试成绩,其范围应该为0-100。约束是为了保证数据的完整性而实现的一套机制,约束包括:主键约束、外键约束、Unique约束、Check约束、默认值和允许空六种机制。

    主键约束这个不用多说了,设置主键就是保证列中的值的唯一不重复。

    外键约束外键的目的就是为了限制取值。

    例如:分类表category(Nid-主键,categoryName),产品表Product(Nid,ProductName,CategoryId-外键),设置后Product表中的CategoryId的取值只能是category表中的Nid的值。
             

    如上图,如果在Product表中插入一条:insert into Product values('绿茶',9),则报错:

    INSERT 语句与 FOREIGN KEY 约束"FK_Product_Product"冲突。该冲突发生于数据库"Interview",表"dbo.Category", column 'Nid'。
    语句已终止。

    Unique约束是指定该字段列里的数据不允许出现重复。例如在部门表里,部门名称是不能重复的,那么将部门表里的“部门名称”设置为Unique约束。
      设置方法如下:在表设计器窗格里右击空白处,在弹出的快捷菜单中选择【索引与键】选项,点击【添加】就会在左边的框中添加一个名为IX_表名的选项,然后在右边的框中的【类型】选为唯一键,【列】设置为要约束的列,关闭,保存即可。
      Unique约束与主键的区别:Unique约束可以输入Null值,主键不能;在一个表中可以定义多个Unique约束的字段,而主键字段只能有一个。

    Check约束Check约束可以用来限制字段里的值在某个允许的范围内。例如员工通讯录表中的生日,其输入范围应该是1940到1990之间。
      设置Check约束的方法如下:展开表选项,在约束上右键新建约束,然后在表达式中添加逻辑关系,如:(Member>10) and (Member<20),关闭,保存!

    默认值约束默认值就不用解释了,就是当没有明确的去插入数据时,默认填充的值。
      设置方法如下:打开表设计,选中列,在下面的列属性中有【默认值或绑定】,填写值即可;

    允许空约束:就是在设计表时,每一个项最后的是否允许为空了啦

  • 相关阅读:
    saxbuilder用法
    【转】开篇python--明白python文件如何组织,理解建立源文件
    [转]linux awk命令详解
    sed 指定行范围匹配(转)
    MySQL Error Code文档手册---摘自MySQL官方网站
    java文件读写操作大全
    详解coredump
    Java中Map根据键值(key)或者值(value)进行排序实现
    java如何对map进行排序详解(map集合的使用)
    遍历Map的四种方法
  • 原文地址:https://www.cnblogs.com/wupeiqi/p/3285916.html
Copyright © 2011-2022 走看看