数据约束(针对表中的列加约束):

为了保证数据库中数据的完整性,有效性从而对数据进行限制。
约束分类:
实体完整性: 确保每条记录的唯一性,能够被唯一区分
主键约束(整数,字符串): primary key,
特征: 加了主键约束的列,值必须唯一,并且不能为空。
针对主键约束的列会自动生成索引文件
一个表中只能有一个主键。但是主键可以有多个列构成(联合主键)
自增约束(整形): auto_increment,
特征: 自增约束只能加到整数类型的列上,一个表只能有一个列加自增约束
该列的值会有系统自动生成,数据也是唯一的,一般和主键约束一起使用
唯一(索引)约束: unique
特征: 加了唯一约束的列,数据要保证唯一性,不能重复。但是可以为null
域完整性: 针对数据的取值做约束
非空约束:not null,特征: 加了该约束的列,不能为空,该列必须有值
默认值约束: default,特征: 加了默认值约束的列,如果没有提供值时,
自动用默认值替代。如果提供了值则用提供值的填充

外键约束: foreign key,特征: 存在于多表之间,
如果一个表中某列的数据依赖于另外一个表的数据,
此时要对这个列加外键约束。该列的值不能随便写。

check约束: mysql没有,ms sqlserver有。
限定值的范围(性别:男,女)
引用完整性: 多表之间有数据的依赖关系,要确保依赖关系的正确性
外键约束: foreign key 特征: 存在于多表之间,
如果一个表中某列的数据依赖于另外一个表的数据,
此时要对这个列加外键约束。该列的值不能随便写。

用户自定义完整性: 特殊业务规则的定义,目前未接触。
用其他特定规则实现数据约束。

数据库中约束和索引是什么意思 约束 数据库_数据库中约束和索引是什么意思


数据库中约束和索引是什么意思 约束 数据库_主键_02


数据库中约束和索引是什么意思 约束 数据库_java_03


数据库中约束和索引是什么意思 约束 数据库_java_04


数据库中约束和索引是什么意思 约束 数据库_主键_05


数据库中约束和索引是什么意思 约束 数据库_数据库_06


数据库中约束和索引是什么意思 约束 数据库_mysql_07


数据库中约束和索引是什么意思 约束 数据库_数据库_08