zoukankan      html  css  js  c++  java
  • 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)
    注:其他约束是要修改表的列才能做修改
  • 相关阅读:
    mentohust 使用
    查找 GPU 计算能力
    在写代码过程中遇到的问题,以及当时的解决方法(如实记录)
    ubuntu14.04 解决屏幕亮度无法调节的问题
    Ubuntu14.04下安装 boost (boost_1.54 最简单的方法)
    在 Ubuntu下安装 labelImg (标数据用)
    在树莓派上配置MariaDB
    使用Telegraf + Influxdb + Grafana 监控SQLserver服务器的运行状况
    如何读懂SQL Server的事务日志
    ActiveMQ安装使用与spring整合配置教程
  • 原文地址:https://www.cnblogs.com/zhangzimuzjq/p/11529136.html
Copyright © 2011-2022 走看看