• 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)
    注:其他约束是要修改表的列才能做修改
  • 相关阅读:
    Swift3 ——S3 API中间件兼容性测试
    解决 Python.h:没有那个文件或目录 错误的方法
    Swift云存储特性研究
    解决updateaptxapi占用资源过高的问题
    dll开发及调用
    git批量备份
    UDP端口扫描
    将markdown文件转换为pdf
    指定ssh key访问git
    CentOS6.2调整home分区大小
  • 原文地址:https://www.cnblogs.com/zhangzimuzjq/p/11529136.html
Copyright © 2020-2023  润新知