定义数据完整性

主键约束(Primary Key
Constraints):不能在允许NULL值的列上定义主键约束。

    ALTER TABLE
dbo.test ADD CONSTRAINT PK_test PRIMARY KEY(testid);

唯一约束(Unique
Constraints):唯一约束用来保证数据行的一个列(或一组列)数据的唯一,可以在数据库中实现关系模型的替换键(alternate key)
的概念。

    ALTER TABLE dbo.text ADD
CONSTRAINT UNQ_test_ssn UNIQUE(ssn);

外键约束:外键约束用于实施引用完整性。外键的目的是为了将外键列允许的值域限制为被引用列中现有的值。

    ALTER TABLE dbo.Orders ADD
CONSTRAINT FK_Orders_Employees FOREIGN KEY(employeeid) REFERENCES
dbo.Employees(employeeid);

  注意:即使被引用的候选键列不存在NULL 值,在外键列中也允许 NULL
值。

检查约束(Check):检查约束用于定义在表中输入或修改一行数据之前必须满足的一个谓词。

  ALTER TABLE dbo.Employees ADD
CONSTRAINT CHK_eMPLOYEES_SALARY CHECK(salary>0)

默认约束(Default):默认约束与特定的属性关联。当插入一行数据时,如果没有为属性显式指定明确的值,就可以用一个表达式作为其默认值。

  ALTER TABLE
dbo.Orders ADD CONSTRAINT DFT_Orders_orderts DEFAULT(CURRENT_TIMESTAMP) FOR
orderts;

定义数据完整性,码迷,mamicode.com

时间: 2024-08-10 17:55:45

定义数据完整性的相关文章

SQL Server-数据库架构和对象、定义数据完整性

前言 本节我们继续SQL之旅,本节我们如题来讲讲一些基本知识以及需要注意的地方,若有不妥之处,还望指出,简短的内容,深入的理解,Always to review the basics. 数据库架构和对象 数据库包含架构,而架构又包含对象,架构可以看做是表.视图.存储过程等对象的容器.架构是一个命名空间,它被用做对象名称的前缀,比如在Cnblogs的架构中有一个名称为Blogs的表,此时我们用架构式限定式名称(即两部分式对象名称)所以Blogs表示为Cnblogs.Blogs.如果我们引用对象时省

SQL Server 定义数据完整性 6大约束

1.创建一客户张表 1 IF OBJECT_ID('dbo.Employees', 'U') IS NOT NULL 2 DROP TABLE dbo.Employees; 3 4 CREATE TABLE dbo.Employees 5 ( 6 empid INT NOT NULL, 7 firstname VARCHAR(30) NOT NULL, 8 lastname VARCHAR(30) NOT NULL, 9 hiredate DATE NOT NULL, 10 mgrid INT

SQL应用与开发:(八)数据完整性

一.定义 数据完整性是指存储在数据库中的所有数据值均正确的状态下.如果数据库中存储有不正确的数据值,则称该数据库已丧失数据完整性. SQL数据库不只是存储数据,它必须保证所存储的数据是正确的.如果数据不准确或者不一致,那么该数据的完整性就会受到破坏,从而给数据库本身的可靠性带来问题.为了保证数据库的完整性,SQL提供了大量的完整性约束.完整性约束是应用于基表的规则基表用于约束可以放在这些表中的值.约束也可以应用于单个列.单个表或多个表. 二.学习内容 1.了解约束 约束是指关系数据库中的对象,用

在SQLServer使用触发器实现数据完整性

1.实现数据完整性的手段 在sqlserver中,在服务器端实现数据完整性主要有两种手段:一种是在创建表时定义数据完整性,主要分为:实体完整性.域完整性.和级联参照完整性:实现的手段是创建主键约束.唯一键约束.检查约束.默认值约束和各种级联完整性约束.另一种是通过编写触发器语句来实现,通过定义触发条件和编写触发后执行语句,来实现对数据表操作的各种约束. 2.触发器的概念 触发器是一种特殊的存储过程.通常用于实现强制业务规则和数据完整性.触发器是通过事件触发而由系统自动执行.主要体现在它在插入.删

T-SQL2012复习-01基本概念

作为一名程序员,对于SQL的使用算是基础中的基础,虽然也写了很多年的SQL,但常常还是记不清一些常见的命令,故而通过一篇博文巩固相关的记忆,并把T-SQL本身的一些新特性再进行一次学习. 首先回顾基础的概念,这部分可以跳过哈,比较枯燥.结构化查询语言SQL是基于集合理论和谓词逻辑的,大学课程中数字逻辑和离散数学主要会涉及这部分的内容. 集合理论是数学家Georg Cantor创建,是基于关系模型的数学分支.集合的定义为,任意集合体是我们感知或者想到的,能够确定的.互异对象m的整体. 谓词逻辑的渊

快速入门系列--TSQL-01基础概念

作为一名程序员,对于SQL的使用算是基础中的基础,虽然也写了很多年的SQL,但常常还是记不清一些常见的命令,故而通过一篇博文巩固相关的记忆,并把T-SQL本身的一些新特性再进行一次学习. 首先回顾基础的概念,这部分可以跳过哈,比较枯燥.结构化查询语言SQL是基于集合理论和谓词逻辑的,大学课程中数字逻辑和离散数学主要会涉及这部分的内容. 集合理论是数学家Georg Cantor创建,是基于关系模型的数学分支.集合的定义为,任意集合体是我们感知或者想到的,能够确定的.互异对象m的整体. 谓词逻辑的渊

SQL Server 2012 T-SQL基础教程--T-SQL查询和编程的背景

理论背景 1. SQL:Structured Query Language, 是RDBMS(Relational Database Management Systems)的查询和管理数据的标准语言. 2. 理解集合理论和谓词逻辑,RDBMS基于这两个数学分支. 3. SQL语句类别: Data Definition Language, DDL:数据定义语言,处理对象的定义,包括诸如create.alter和drop等语句. Data Manipulation Language,DML:数据操作语

数据完整性(Data Integrity)笔记

因数据库存储数据要持之以恒,数据库中的表需要一些方法验证各种数据类型.不仅仅局限于数据类型,还有唯一值,值的范围,或者某列的值和另外一个表中的列匹配. 当你在定义表的时候其用这些数据验证方法.这叫做声明数据完整性.也就是我们说的表约束. USE tempdb GO CREATE TABLE s ( sid VARCHAR(20) , sname VARCHAR(20) , ssex VARCHAR(2) CHECK ( ssex = '男' OR ssex = '女' ) DEFAULT '男'

你真的会玩SQL吗?三范式、数据完整性

每次上新功能时都需要添加新表,这时就要涉及到表结构的设计,那就要提到三范式,对于三范式教科书上说得很绕口,那简单点的呢?  三范式 第一范式:属性不可分,不允许存在隐藏字段,属性保持“原子性” 第二范式:要有主键.为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识. 第三范式:要求一个数据库表中不包含已在其它表中已包含的非主关键字信息. 正规化范式(BCDF):所有表中的决定因素必须是一个候选键,如果只有一个候选键,那么就和第三范式是一样的. 第四范式(4NF):消除多值依赖. 第五范式