mysql 完整性、约束

萝らか妹 提交于 2019-11-29 19:21:57

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)

注:其他约束是要修改表的列才能做修改

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!