数据库——数据完整性

        目的:保证用户输入的数据保存导数据库中是正确的

包含了三个方面:

一、实体完整性

        实体完整性主要从以下三个约束来实现:

1、主键约束:唯一、非空 primary key 
  添加:

   第一种: create table 表名
                    (
                        字段名 类型 primary key
                    )

   第二种: alter table 表 add constraint primary key(主键字段)

删除:

  alter table 表 drop primary key 

  注:如果删除了主键约束,它的非空约束还在

2、 自增长约束:对主键字段实现自增长的处理  auto_increment
 添加:       

第一种:create table 表名
                    (
                        字段名 类型 primary key auto_increment
                    )
                    
第二种:alter table 表 modify 字段名 类型 auto_increment;

 删除:

  alter table 表 modify 字段名 类型;

 注:如果对一个主键、自增的字段加值的时候,可以给一个null值;
        如果对一个主键、自增的字段加值的时候,也可以不给这个字段赋值;
        对于添加自增长约束的字段,必须首先是一个主键约束;

3、 唯一性约束:要求字段值唯一 unique        
添加:
                  

  
第一种:create table 表
                    (
                        字段名 类型 unique
                    )
                   
第二种 :alter table 表 add constraint 约束名 unique(字段名)

 删除:

 drop index 唯一约束名 on 表名
                    

注:唯一性字段可以为null,而且null不算重复;
       但是非null的值必须唯一;

二、域完整性

      实体完整性主要从以下三个方面来实现:

1、数据类型:(数值类型、日期类型、字符串类型)

 第一种:create table 表(
                    字段名 类型
                )
                
第二种:alter table 表 modify 字段名 类型;
                

2、非空约束:not null 不能为空值
    添加:

 第一种:create table 表
                    (
                        字段名 类型 not null
                    )
                   
 第二种:alter table 表名 modify 字段名 类型 not null 

删除:

 alter table 表名 modify 字段名 类型  
            
         

           
3、 默认值约束:default 值
 添加:

第一种: create table 表
                    (
                        字段名 类型 default 值
                    )

第二种:alter table 表 alter 字段 set default 值;

  注:值与字段的类型一致;     
  删除:

 alter table 表 alter 字段 drop default;

                

三、引用完整性(参照完整性)

      实体完整性主要通过外键约束来实现:

外键约束:FOREIGN KEY            
主表:含有主键的表
从表:含有外键的表,从表中的外键字段值取自于主表中的主键字段

添加:

第一种:create table 表
                    (
                        字段名 类型
                        constraint 外键名 foreign key(外键字段) references 主表(主键字段)
                    )
                    
第二种:alter table 表 add constraint 外键名 foreign key(外键字段) references
                    主表(主键字段)


删除:

alter table 表 drop foreign key 外键名;
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值