mysql 03章_完整性、约束


1.完整性:数据库中数据的可靠性有效性和合理性我们称为数据的完整性,这样才能保证数据合理符合现实生活中的数据体现。

注:数据完整性的设计应该在设计表的时候就进行设计了,而不是等到数据库中已经存在数据才进行设计和实施,这样会导致完整性可能无法实施,因为已存在的数据已经不合理了

2.约束:为了保证数据的完整性,我们需要使用约束来保证完整性,加约束的过程我们称为实施数据完整性

切记:完整性是设计表的时候就实施了,就是建表的时候还未有数据就要加约束,这样才是正确的设计流程

3.完整性的分类与对应的实施约束

(1)域完整性:对列的要求,实施约束方案:数据类型,默认值,非空,外键

(2)实体完整性:对行的要求,保证行唯一,实施约束方案:主键,唯一,自增长,

(3)引用完整性:对某些列的要求,保证来源有据可寻,实施约束方案:外键

(4)自定义完整性:用户的自定义要求较随机,实施约束方案:规则,存储过程,触发器

5.建表的时候添加约束:
(1)主键约束:在字段后面加primary key即可;
(2)非空约束:在字段后面加not null;
(3)自增长约束:在int类型的字段后加auto_increment;
(4)默认值约束:在字段后加“default 默认值”即可
(5)唯一约束:在字段后加unique约束
(6)外键约束:在表最后加foreign key(外键列) references 主键表(主键)即可
6.除了在建表的时候加约束还可以通过修改表来添加约束:
(1)修改表的形式添加主键约束
alter table student add constraint pk_stuNo PRIMARY key (studentno);
(2) 修改表的形式添加外键约束
alter table subjects add CONSTRAINT fk_gradeId foreign key(grade_id) references grade(grade_id)
(3)修改表的形式添加唯一约束
alter table student add CONSTRAINT
uq_stuno UNIQUE (studentno)
注:其他约束是要修改表的列才能做修改
原文地址:https://www.cnblogs.com/zhangzimuzjq/p/11529136.html