美文网首页
数据完整性:主键、外键、约束

数据完整性:主键、外键、约束

作者: 别动我名字呀 | 来源:发表于2018-09-28 23:15 被阅读8次

    什么是数据完整性:保证用户输入的数据保存到数据库中是正确的

    如何保证数据完整性:在创建表时给表中添加约束

    完整性分类:

    1.实体完整性

    什么是实体:表中的一行(一条记录)就是一个实体
    实体完整性的作用:标记每一行数据不重复,行级约束

    1.primary key(主键约束) 每个表中一般只有个主键,唯一且非空
    create table emp (
      id bigint primary key,
      name varchar(50)
      );
    
    联合主键:两个字段同时相同才违法主键约束
    create table students(
        id bigint ,
        snum bigint,
        name varchar(50)
        primary key(id,snum)
      )
    
    2.unique(唯一约束)数据唯一,可以非空
    create table emp (
      id bigint primary key,
      name varchar(50) unique
      );
    3.auto-increment(自增约束)值列的数据自动增长,即使数据删除还是从删除之前的数据继续增长
    create table emp (
      id bigint primary key auto-incremen,
      name varchar(50) unique
      );
    

    2.域完整性

    域代表当前单元格,限制此单元格的数据正确性,不对照此列的其他单元格比较

    1.数据类型约束:数值类型、日期类型、字符串类型
    
    2.非空约束(not null)
    create table emp(
      id int primary key auto_incremen,
      name varchar(20) unique not null
      )
    
    3. 默认值约束(default)
    create table emp(
      id int primary key auto_incremen,
      name varchar(20) unique not null,
      gender vhar(1) default '女'
      )
    

    3.引用完整性

    是指表与表直接的一种对应关系,通常情况下可以通过设置两个表之间的主键、外键关系,或者编写两表的触发器来实现。

    给score表的sid字段添加约束,参照stu表的id
    create table score(
        sid int,
        score int,
        constraint sc_st_fk  foreing key(sid) references stu(id)
    );
    

    相关文章

      网友评论

          本文标题:数据完整性:主键、外键、约束

          本文链接:https://www.haomeiwen.com/subject/mjemoftx.html