目标:
    1:掌握什么是数据库完整性约束
    2:掌握关系型数据库的几类完整性约束
    3:掌握not null 、primary key、unique key、default、foreign key 这几个约束分别属于什么类型的约束!

    一:数据库完整性约束

    概念:数据库完整性约束用于保证数据的正确性,数据库客户端在更新、插入、删除数据时需要检查数据的完整性,核实其约束条件,从而保证更新数据时是正确的。

    关系型数据库(mysql、二维表)完整性约束的分类:实体完整性、域完整性、参照完整性、用户定义完整性


    二:关系型数据库的几类完整性约束

    1:实体完整性约束

    概念:实体完整性要求关系型数据库二维表的一个记录中(一行)只有一个主键,且不同记录的主键值不能重复也不能为空

    图示(主键约束):

    image.png

    2:域完整性约束

    概念:域完整性是指关系型数据库二维表内的一列(字段)的数据类型都是相同的,还有可以约束字段其取值范围、精度等

    image.png
    3:参照完整性约束

    概念:参照完整性是关系型数据库内的父表删除某一个记录(一行)后子表内的该记录(一行)也要删除(父表与子表存在一定联系!)

    4:用户定义完整性约束

    概念:用户定义完整性是指关系型数据库二维表内的一个字段数据类型需要满足用户规定的类型,比如说,用户规定一个字段数据类型只能是数字,那么就不能向字段内添加其余的数据类型,再比如,用户要求一个字段内数据只能填写 男、女,用户就不能向这个字段内填写其他的数据!!

    ————————————————————————————————————————

    三:not null 、primary key、unique key、default、foreign key 这几个约束分别属于什么类型的约束!

    primary key:主键约束(要求主键列的数据唯一,且不为空!)它属于实体完整性约束

    unique key:唯一约束(唯一性、可以空,但只能有一个)它属于实体完整性约束

    not null:非空约束(设置该字段不能为空) 它属于域完整性约束

    default:默认约束 (设置该字段数据的默认值)它属于域完整性约束

    foreign key:外键约束(建立两表的关系)它数据参照完整性约束