sql check约束

一.主键

主键作为表中的唯一标识,标识这一列不允许出现重复数据
    如果两列或多列组合起来唯一标识表中的每一行,该主键叫“复合主键”

选择主键的原则
     最少性
      尽量选择单个键作为主键
     稳定性
      尽量选择数值更新少的列作为主键
二.默认值

设置列默认值的前提是这一列必须是允许为空的,否则设置默认值无效
    如果在插入数据或者更改数据时,这一列不输入的话那么会按照默认值进行绑定

三:标识列

将想要设置的标识列设置成主键,保证这一列的数据类型为int,然后在此列的标识规范改为是,标识种子代表从几开始,标识增量表示每次加几

四:创建主外键

外键表找主键表

注:我们在创建表组织数据时要注意数据的完整性,这是我们创建一个结构良好的数据库的基础,一个结构功能良好的数据库它的数据完整性都比较完善,这样便于以后维护和使用,所以我们在创建表时这点要注意。为什么要使用完整性。我们举个例子来分析什么是完整性。看下面的问题想想我们在创建数据库时如何在表里组织这些信息和数据,记得要符合要求。这时我们就需要数据的完整性构成结构完善的数据库。如何实现数据的完整性。实现数据的完整性主要从域完整性,实体完整性,引用晚自习,自定义完整性这4点出发来看我们的表是否符合完整性。怎样实现实体完整性。我们逐一分析如何使用完整性组织数据,我们是通过约束方法:唯一约束、主键约束、标识列来实现表的实体完整性的。怎样实现域完整性。通过限制数据类型,检查约束,输入约束,外键约束,默认值,非空约束等多种方法,可以实现表的域完整性。怎样实现引用完整性。在输入或删除数据时,引用完整性约束用来保持表之间已定义的关系的完整性,引用完整性通过主键和外键之间的应用关系来实现。例如学生信息表是“主表”,学生成绩表是“子表”,我们有时也叫“相关表”。怎样使用自定义完整性。用户自定义完整性用来定义特定的规则,例如,在向用户信息插入一个用户记录时,要通过身份证编号来检查在另一个数据库中是否存在该用户,并且该用户的信息是否满足要求,如果不满足要求者不能插入,这个时候就需要使用数据库的规则,存储过程等方法来进行约束。
首先创建数据库表。在数据库中我们新建一个表来展示如何实现使用表组织数据的完整性。创建一个。检查列是否为空。看看我们的要求,那些列可以为空,那些列不可以为空,逐个检查设置下。给列设置主键。看看需求,我们可以实现设置主外键来约束引用完整性。
给一个列设置标识列。标识列是保障实体完整性的,这样就可以保障没有重复的数据。创建数据库关系视图。对已经建好的表我们可以查看下数据库关系图,看看他们之间的关系是否完整,可以看看是通过那个保持联系的,在使用删除是就可以避免引用约束的限制。

原文地址:https://www.cnblogs.com/fanyiman/p/10102100.html

时间: 2024-11-01 20:38:28

sql check约束的相关文章

SQL PRIMARY KEY 约束\SQL FOREIGN KEY 约束\SQL CHECK 约束

SQL PRIMARY KEY 约束 PRIMARY KEY 约束唯一标识数据库表中的每条记录. 主键必须包含唯一的值. 主键列不能包含 NULL 值. 每个表都应该有一个主键,并且每个表只能有一个主键. SQL PRIMARY KEY Constraint on CREATE TABLE 下面的 SQL 在 "Persons" 表创建时在 "Id_P" 列创建 PRIMARY KEY 约束: MySQL: CREATE TABLE Persons ( Id_P i

SQL CHECK 约束&Case when 的使用方法

1.CHECK 约束 SQL CHECK 约束 CHECK 约束用于限制列中的值的范围. 如果对单个列定义 CHECK 约束,那么该列只允许特定的值. 如果对一个表定义 CHECK 约束,那么此约束会在特定的列中对值进行限制. SQL CHECK Constraint on CREATE TABLE 下面的 SQL 在 "Persons" 表创建时为 "Id_P" 列创建 CHECK 约束.CHECK 约束规定 "Id_P" 列必须只包含大于 0

SQL CHECK 约束

SQL CHECK 约束 CHECK 约束用于限制列中的值的范围. 如果对单个列定义 CHECK 约束,那么该列只允许特定的值. 如果对一个表定义 CHECK 约束,那么此约束会基于行中其他列的值在特定的列中对值进行限制. 1.ALTER TABLE Persons ADD CHECK (P_Id>0) 2.ALTER TABLE Persons ADD CONSTRAINT chk_Person CHECK (P_Id>0 AND City='Sandnes') 3.ALTER TABLE

Oracle之Check约束实例详解

Oracle | PL/SQL Check约束用法详解 1. 目标 实例讲解在Oracle中如何使用CHECK约束(创建.启用.禁用和删除) 2. 什么是Check约束? CHECK约束指在表的列中增加额外的限制条件. 注: CHECK约束不能在VIEW中定义. CHECK约束只能定义的列必须包含在所指定的表中. CHECK约束不能包含子查询. 3. 创建表时定义CHECK约束 3.1 语法: CREATE TABLE table_name ( column1 datatype null/not

SQL的约束语句

SQL 约束(Constraints) 约束用于限制加入表的数据的类型. 可以在创建表时规定约束(通过 CREATE TABLE 语句),或者在表创建之后也可以(通过 ALTER TABLE 语句). 我们将主要探讨以下几种约束: NOT NULL                  (不为空约束) UNIQUE                     (唯一约束) PRIMARY KEY             (主键约束) FOREIGN KEY             (外键约束) CHEC

SQL Server中使用Check约束提升性能

在SQL Server中,SQL语句的执行是依赖查询优化器生成的执行计划,而执行计划的好坏直接关乎执行性能. 在查询优化器生成执行计划过程中,需要参考元数据来尽可能生成高效的执行计划,因此元数据越多,则执行计划更可能会高效.所谓需要参考的元数据主要包括:索引.表结构.统计信息等,但还有一些不是很被注意的元数据,其中包括本文阐述的Check约束. 查询优化器在生成执行计划之前有一个阶段叫做代数树优化,比如说下面这个简单查询: 图1.简单查询 查询优化器意识到1=2这个条件是永远不相等的,因此不需要

(六)mysql:在w3schools文档上学习sql语法(check约束)

(一)CHECK 1. CHECK约束用于限制填入数据的范围 当CHECK用于表中的某一列时,它只限制该列的数据 当CHECK用于一张表时 2.语法:MySQL 1.直接在创建表时使用CHECK(constraints) 2.为已创建的表增添CHECK 2.1单个条件 2.2多个条件 3.舍弃check约束

SQL Server 第四堂课 用数据库语言while 循环做累加求和。以及数据库的备份,还原,分离,附加。以及check 约束

drop proc qiuhe create proc qiuhe --用数据库语言做累加求和 @n int as declare @sum int --相当于C#语言里定义变量 declare @i int set @sum=0 --再给变量赋值 ,相当于C#语言里的 int sum=0 set @i=1 -- 相当于for 循环里的 int i=1 (int i=1;i<=n;i++) while @i<[email protected] --for(int i=1;i<=n;i++

SQL Server(第一章) 创建表 删除表 创建主键约束、唯一约束、外键约束、CHECK约束、默认约束

1.Employees员工表 /** 创建Employees员工表 **/ USE TSQL2012 IF OBJECT_ID('dbo.Employees','U') IS NOT NULL DROP TABLE dbo.Employees CREATE TABLE dbo.Employees ( empid INT NOT NULL, firstname VARCHAR(30) NOT NULL, lastname VARCHAR(30) NOT NULL, hiredate DATE NO