数据完整性约束

数据表的完整性,维护数据的完整性(约束),标识列

心已入冬 提交于 2020-03-04 15:47:44
文章目录 数据表的完整性 1.实体完整性 2.区域完整性 3.参照完整性 维护数据表的完整性 标识列 标识列如何使用 标识列的注意问题 数据表的完整性 1.实体完整性 每个表中有一个必须要指定的字段,主要依赖主键约束 2.区域完整性 针对表中的某个字段进行特殊化限制,主要依赖剩余的约束 3.参照完整性 表与表之间的一种特殊化关联限制,主要依靠外键约束 维护数据表的完整性 什么是约束:使用约束、键的作用来维护数据表的完整性 约束有哪些: 自增约束 非空约束 检查约束 默认约束 唯一约束 主键约束 外键约束 一般在设置列特征的时候都是提前在数据库设计时需要考虑明确,约束都是在数据库设计时必须考虑明确的 列特征 包含的内容有: 1.是否可以为空( NULL ):在输入数据的时候,如果这个列允许为空则可以不用填写,否则必须为该列填写对应的数据内容 2. 是否是标识列(自动编号)( IDENTITY ) 3. 是否有默认值( DEFAULT ):如果数据表的某一列在用户不主动输入数据的时候,希望能够提供一个默认的内容 Adrress NVARCHAR ( 20 ) DEFAULT ( '地址不详' ) , 是否为主键( PRIMARY KEY ):主键是实体的唯一标识,保证实体不被重复记录,一个数据表必须有主键才能进行更新、删除指定的实体 [ TID ] INT IDENTITY (

sql check约束

∥☆過路亽.° 提交于 2020-03-03 05:24:28
一.主键 主键作为表中的唯一标识,标识这一列不允许出现重复数据 如果两列或多列组合起来唯一标识表中的每一行,该主键叫“复合主键” 选择主键的原则 最少性 尽量选择单个键作为主键 稳定性 尽量选择数值更新少的列作为主键 二.默认值 设置列默认值的前提是这一列必须是允许为空的,否则设置默认值无效 如果在插入数据或者更改数据时,这一列不输入的话那么会按照默认值进行绑定 三:标识列 将想要设置的标识列设置成主键,保证这一列的数据类型为int,然后在此列的标识规范改为是,标识种子代表从几开始,标识增量表示每次加几 四:创建主外键 外键表找主键表 注:我们在创建表组织数据时要注意数据的完整性,这是我们创建一个结构良好的数据库的基础,一个结构功能良好的数据库它的数据完整性都比较完善,这样便于以后维护和使用,所以我们在创建表时这点要注意。为什么要使用完整性。我们举个例子来分析什么是完整性。看下面的问题想想我们在创建数据库时如何在表里组织这些信息和数据,记得要符合要求。这时我们就需要数据的完整性构成结构完善的数据库。如何实现数据的完整性。实现数据的完整性主要从域完整性,实体完整性,引用晚自习,自定义完整性这4点出发来看我们的表是否符合完整性。怎样实现实体完整性。我们逐一分析如何使用完整性组织数据,我们是通过约束方法:唯一约束、主键约束、标识列来实现表的实体完整性的。怎样实现域完整性。通过限制数据类型

SQL Server中约束的介绍

孤人 提交于 2020-01-15 19:45:49
摘要 对于SQL Server中的约束,想必大家并不是很陌生。但是约束中真正的内涵是什么,并不是很多人都很清楚的。本文以详细的文字来介绍了什么是约束,以及如何在数据库编程中应用和使用这些约束,来达到更好的编程效果。 (本文部分内容参考了SQL Server联机手册) 内容 数据完整性分类 实体完整性 域完整性 引用完整性 用户定义完整性 PRIMARY KEY 约束 DEFAULT 约束 CHECK 约束 UNIQUE 约束 FOREIGN KEY 约束 正文 在数据库管理系统中,保证数据库中的数据完整性是非常重要的。所谓数据完整性,就是指存储在数据库中数据的一致性和正确性。约束定义关于列中允许值的规则,是强制完整性的标准机制。使用约束优先于使用触发器、规则和默认值。查询优化器也使用约束定义生成高性能的查询执行计划。 SQL Server联机丛书中,将数据完整性解释如下:“ 存储在数据库中的所有数据值均正确的状态。如果数据库中存储有不正确的数据值,则该数据库称为已丧失数据完整性。 ”强制数据完整性可确保数据库中的数据质量。 例如,如果输入了 employee_id 值为 123 的职员,那么该数据库不应允许其他职员使用同一 ID 值。如果计划将 employee_rating 列的值范围设定为从 1 到 5,则数据库不应接受 6。如果表有一 dept_id 列

MySQL完整性约束

僤鯓⒐⒋嵵緔 提交于 2019-12-23 00:10:53
一. 约束介绍   约束条件与数据类型的宽度一样,都是可选参数.   用于保证数据的完整性和一致性. 二. 约束分类   1. primary key (pk)  表示该字段为该表的主键,可以唯一的标识记录   2. foreign key (fk)  标识该字段为该表的外键   3. not null  标识该字段不能为空     默认为空, 设置不为空就必须要为字段赋值   4. unique key (uk)  标识该字段的值是唯一的   5. anto_increment  标识该字段的值自动增长(整数类型, 而且为主键)   6. default  为该字段设置默认值     默认为null, 如果设置了默认值,并且插入数据时不给该字段赋值时,使用默认值. 三 . 详细分类验证    1. not null 和 default           2. unique      ①. 单列唯一     在mysql中称为单列唯一,即同一列内唯一             将 name 字段设置为唯一, 不可以给 name 字段插入相同的值.      ②. 联合唯一    将id设置为单列唯一,将ip+端口设置为联合唯一,也就是ip+端口不可以相同,ip或端口相同可以.    3. primary key     在一个表中 : 单列可以做主键, 多列也可以做主键(复合主键)

SQL语句汇总(一)——数据库与表的操作以及创建约束

落花浮王杯 提交于 2019-12-03 21:10:16
SQL语句汇总(一)——数据库与表的操作以及创建约束 首先,非常感谢大家对上篇博文的支持,真是让本菜受宠若惊,同时对拖了这么久才出了此篇表示抱歉。   前言:此文旨在汇总从建立数据库到联接查询等绝大部分SQL语句。SQL语句虽不能说很多,但稍有时间不写就容易出错。博主希望通过此文来战胜自己的健忘,如果大家认可也可以保留起来。 "SQL"是 "Structured Query Language" 即“结构化查询语言”的简称,它是用来管理关系型数据库的。 其包括: –数据定义语言(DDL) –数据查询语言(DQL) –数据操作语言(DML) –数据控制语言(DCL) 创建数据库: CREATE DATABASE 数据库名; 数据库名命名规则: - 第一个字符必须为下列之一:字母、下划线、#及@符号。 - 后续字符由字母、十进制数、下划线、#、$及@符号组成。 - 不能为RDBMS(数据库管理系统)的保留关键字。 - 不允许空格及其他字符。 本文以SQLyog软件为例,创建数据库如下: CREATE DATABASE test_sql 此图为SQLyog的左侧目录栏,前三个为本地自带数据库。将SQL语句全部选中运行(F8)后,F5刷新目录栏,出现了我们创建的数据库。 连接数据库: USE test_sql; 删除数据库: DROP DATABASE test_sql;

MySQL表的完整性约束

前提是你 提交于 2019-11-29 21:46:06
一 介绍   约束条件与数据类型的宽度一样,都是可选参数   作用:用于保证数据的完整性和一致性   主要分为: PRIMARY KEY (PK) 标识该字段为该表的主键,可以唯一的标识记录 FOREIGN KEY (FK) 标识该字段为该表的外键 NOT NULL 标识该字段不能为空 UNIQUE KEY (UK) 标识该字段的值是唯一的 AUTO_INCREMENT 标识该字段的值自动增长(整数类型,而且为主键) DEFAULT 为该字段设置默认值 UNSIGNED 无符号 ZEROFILL 使用0填充   说明:    1. 是否允许为空,默认NULL,可设置NOT NULL,字段不允许为空,必须赋值 2. 字段是否有默认值,缺省的默认值是NULL,如果插入记录时不给字段赋值,此字段使用默认值 sex enum('male','female') not null default 'male' age int unsigned NOT NULL default 20 必须为正值(无符号) 不允许为空 默认是20 3. 是否是key 主键 primary key 外键 foreign key 索引 (index,unique...) 二 not null与default   是否可空,null表示空,非字符串   not null - 不可空   null - 可空    ​