在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

MySQL数据完整性的示例分析

113次阅读
没有评论

共计 2257 个字符,预计需要花费 6 分钟才能阅读完成。

这篇文章主要介绍 MySQL 数据完整性的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

数据完整性分为:实体完整性,域完整性,参考完整性。

参考完整性:

参照完整性指的就是多表之间的设计, 主要使用外键约束。
多表设计: 一对多、多对多、一对一设计

一:实体(行)完整性

实体完整性通过表的主键来实现。
使用主键来表示一条记录的唯一,且不为空
语法:primary key
主键分类:

逻辑主键: 例如 ID, 不代表实际的业务意义, 只是用来唯一标识一条记录 (推荐)
业务主键: 例如 username,参与实际的业务逻辑。
特点:唯一,not null
自动增长:auto_increment

例如:

create table person2(
 id int primary key auto_increment,
 name varchar(100)
);

二:域(列)完整性

非空约束:not null
唯一约束:unique

creat table person3(
 id int not null unique,
 name varchar(20) not null unique,
 gender varchar(20) not null,
 phone char(11) unique # 不能有,);

三:参照完整性

1,一对多
a:例如:客户和订单的关系就是一对多,一个客户可以有多张订单, 一张订单属于一个客户;
b:外键设置到多的一方

语法输入创建一对多:
创建客户表:

create table customers(
 id int,
 name varchar(20),
 address varchar(100),
 primary key(id)
);

创建订单表:

create table orders(
 id int,
 order_num int primary key,
 price float(4,2),
 customer_id int,
  constraint customer_ord_fk foreign key(customer_id) references customers(id)
);

注:constraint: 约束,foreign key: 外键,references: 参照
创建一个名叫 customer_ord_fk 的外键约束,外键指的是 customer_id,参照的是 customers 表中的 id 列

表格操作创建一对多

customers 表

orders 表

orders 外键设置

创建一个名叫 customer_ord_fk 的外键约束,外键栏位 customer_id,参照的是 customers 表中的 id 列

扩展:四种子表的删除更新策略:

1,cascade 级联策略: 使用此种策略时主表的记录被删除或者主键字段被修改时会同步删除或修改子表

2,no action 无动作策略: 使用此种策略时要删除主表必须先删除子表,要删除主表的记录必须先删除子表关联的记录,不能更新主表主键字段的值

3,restrict 主表约束策略。此种策略对主表的约束跟 NO ACTION 一样

4,set no 置空策略。使用此种策略时,如果主表被删除或者主键被更改,则将子表中的外键设置为 null。需要注意的是,如果子表的外键是主键或者是设置为 not null 的,则主表的删除和主键的更改跟 no action 一样

2, 多对多

创建老师表:

Create table teachers(
 id int primary key auto_increment,
 name varchar(20) ,
 gender char(5),
 subject varchar(20));

创建学生表:

Create table students(
 id int primary key , 
 name varchar(20),
 age int 
);

第三张为关联表:

Create table teacher_student(
 id int,
 t_id int,
 s_id int,
 primary key(t_id,s_id)
 constraint teacher_id_fk foreign key(t_id) references students(id),
 constrains student_id_fk foreign key(s_id) references teachers(id)
);

表格操作多对多

创建老师表:

创建学生表:

第三张表:

 3,一对一

(1)一般情况,设计一张表格即可
(2)设计成两张表格

法 1:第二张表格中创建一个字段作为外键(设置求唯一 unique)对应第一张表格中的主键;
法 2:直接使用第二张表格中的主键作为外键,对应第一张表格的主键。

两张表:unique 很重要

create table user(
id int primary key auto_increment,
name varchar(20),
age int
);
create table card(
id int primary key auto_increment,
num varchar(20) not null,
address varchar(100) not null,
user_id int unique,constraint user_card_fk foreign key(user_id) references user(id)
);

以上是“MySQL 数据完整性的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注丸趣 TV 行业资讯频道!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-04发表,共计2257字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 亚洲乱码中文字幕在线 | 加勒比中文无码久久综合色 | 男人的天堂亚洲一线av在线观看 | 亚洲电影成人 成人影院 | 亚洲成人在线免费视频 | 久久亚洲综合 | 无码国内精品人妻少妇蜜桃视频 | 久久久久国产一级毛片高清片 | 国产午夜精华无码网站 | 久久99精品国产麻豆 | 轻轻啪qqp.cc | 91成人免费在线视频 | 亚洲日韩国产二区无码 | 又大又黄又粗又爽的免费视频 | 亚洲欧洲一区二区三区久久 | 国产成人午夜精品免费视频 | 激情综合色综合啪啪五月丁香搜索 | 日本牲交大片免费观看 | 一级片免费在线播放 | 午夜性刺激免费看视频 | 看日本真人一一级特黄毛片 | 国产成人久久精品二区三区牛 | 久久久久久免费视频 | 国产在线精品一区二区不卡 | 国产高清区 | 爽爽爽爽爽爽a成人免费视频 | 尤物精品视频在线观看 | 亚洲av永久无码精品三区在线 | 无码av在线一本无码 | 强行糟蹋人妻hd中文字幕 | 免费伊人网 | 日韩美女免费线视频网址 | 自拍亚洲国产 | 男男羞羞视频网站免费 | 看污视频 | 青青青国产成人久久111网站 | 男女午夜爽爽大片免费 | 国产亚洲精品日韩综合网 | 边啃奶头边躁狠狠躁 | 99久久婷婷国产综合亚洲 | 男女做性无遮挡免费视频 |