• 数据库强制完整性的机制


    --SQL Server2008 提供多种强制数据完整性的机制
    --(1)空值和非空值(NULL 或者 NOT NULL)
    	--允许空值(NULL) 默认情况下,列循序为空值,即允许用户在添加数据时省略该列的值
    	--不允许空值(NOT NULL)不允许在没有指定列默认值的情况下忽略该列的值
    --(2)默认值(default)
    	--如果在插入行是没有指定列的值,那么默认值将指定列中所使用的值,默认值可以是去任何取值为常量的对象
    	--在Create Table中使用Default关键字创建默认定义,将常量表达式值派为列的默认值,这是标准方法
    	--在Create Defalut语句创建默认对象,然后使用sp_bindefalut系统存储过程将它绑定到列上,这是一种向前兼容的功能
    --(3)特定标识属性(Identity)标识列自增长
    	--数据库中如果某列被指派定标识属性(Identity),系统将自动为表插入的新行生成连续递增的编号,
    	--因为标识值通常唯一,所以标识列常定义为主键(PK,primary key)
    	--一个列不能同时具有NULL属性和IDentity属性,二者只能选其一
    --(4)约束(constraints)
    	--SQL是用来定义SQLServer2008自动强制数据库完整性的方式,使用约束优先于使用触发器、规则和默认值,下面有5中约束
    	--非空(NOT NULL)使用户必须在表的指定列中输入一个值,每个表中可以有多个非空约束
    	--检查(CHECK)用来指定一个布尔操作,限制输入到表中的值
    	--唯一性(Unique)使用户的应用程序必须向列中输入一个唯一的值,值不能重复,但可以为空
    	--主键(PK,Primary key)建立一列或多列的组合以唯一标识表中的每一行,主键可以保证实体完整性,一个表只能有一个主键,同时主键中的列不能接受空值
    	--外键(FK,foreign key)用于建立和加强两个表数据之间的链接的一列或多列,当一个表中作为主键的一列被添加到另一个表中时,链接就建立了,主要目的是控制存储在外键表中的数据
    

      

    生命中最值得欣慰的,莫过于一觉醒来,你还在身旁
  • 相关阅读:
    RabbitMQ系列2 RabbitMQ安装与基础入门
    RabbitMQ系列1 什么是MQ
    数据结构与算法系列1之数组介绍与动态数组实现
    数据结构与算法系列3之从内存角度分析数组与链表的区别
    Dubbo学习
    Can't locate Pod/Text.pm问题分析及解决
    “画饼”陷阱论
    自述
    结构光、立体视觉、ToF三种3D传感原理
    游侠郭解是如何被无脑粉坑死的?
  • 原文地址:https://www.cnblogs.com/chaonuanxi/p/9944073.html
Copyright © 2020-2023  润新知