数据完整性

Posted zhuyunlong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据完整性相关的知识,希望对你有一定的参考价值。

数据完整性

1、域完整性:字段/列------非空、缺省

2、实体完整性:记录/行------主键、唯一键

3、引用完整性:表与表之间------外键

 

mysql中的约束:主键(primary key)、唯一性(unique)、非空(not null)、缺省(default)、外键(foreign key)

 

主键、唯一键、外键都会自动创建索引
一个表只能有一个或一组主键

唯一键:候选主键,区别在于其可以存储空值

外键:来源于主表的主键或者唯一键(外键对应字段:可允许为空,且其值须在外表中出现)

 

外键 在字段最后添加
constraint fk_Elogs_sID foreign key(sID) references Students(sNo)
constraint 约束名 约束类型(对应字段) references 主键(主键字段或位移键字段)
主键
primary key (sid,sCard)

 

外键 在字段最后添加
constraint fk_Elogs_sID foreign key(sID) references Students(sNo)
constraint 约束名 约束类型(对应字段) references 主键(主键字段或位移键字段)
主键
primary key (sid,sCard)

例子:

技术图片

 

 

 

对于已经存在的表添加唯一键约束
alter table S add constraint un_Mobile unique(sMobile)

例:

ALTER TABLE te ADD CONSTRAINT un_Userame UNIQUE(username)

将te表的username字段设置为唯一键,名称为un_Username

 


主外关联,要删除主表数据,需要先删除从表数据
级联更新(使用少)

on delete cascade
on update cascade

用法:

技术图片

 

 

 

删除外键

ALTER TABLE 表名
DROP FOREIGN KEY 外键名称;

ALTER TABLE elogs
DROP FOREIGN KEY fk_elogs_cID;

 

删除主键(注意:1、没有外键引用;2、主键字段不具备自增)
alter table 表名 drop primary key;

 

删除唯一键
alter table 表名drop index 名称;

 

以上是关于数据完整性的主要内容,如果未能解决你的问题,请参考以下文章

如何对数升级之后的数据库进行数据完整性和准确性的校验

hdfs数据完整性

PHP & MySQL数据库专题 第四课 数据完整性

PHP & MySQL数据库专题 第四课 数据完整性

关系数据库中有几种数据完整性?

数据完整性和其实现方式(约束)