首页 > 其他 > 详细

数据完整性

时间:2019-11-16 13:59:19      阅读:78      评论:0      收藏:0      [点我收藏+]

数据完整性

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 名称;

 

数据完整性

原文:https://www.cnblogs.com/zhuyunlong/p/11871426.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!