千家信息网

MySQL数据完整性的示例分析

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍MySQL数据完整性的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!数据完整性分为:实体完整性,域完整性,参考完整性。参考完整性:参照完整性指的就是多表
千家信息网最后更新 2026年11月01日MySQL数据完整性的示例分析

这篇文章主要介绍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. 1,cascade 级联策略:使用此种策略时主表的记录被删除或者主键字段被修改时会同步删除或修改子表

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

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

  4. 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数据完整性的示例分析"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

完整性 策略 表格 设计 客户 订单 数据 业务 字段 实体 参考 示例 分析 一对一 内容 学生 实际 就是 篇文章 老师 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 善班互联网科技有限公司 互联网科技logo设计 碳银互联网科技有限公司 赫美联合互联网科技 伴你行互联网科技有限公司 互联网科技英文翻译 丰台科技园 互联网公司 玖二柒互联网科技公司待遇 全球顶尖互联网科技公司 黑科技闪耀互联网之光 深圳市优智互联网科技有限公司 畅思互联网科技 中和天地互联网科技有限公司 电子商务与互联网科技的关系 领航科技大厦互联网公司 济南小医互联网科技有限公司招聘 中国科技和美国互联网 美国五大互联网科技公司市值多少 玉溪新华互联网科技怎么选 三亚科技创新互联网基地 耶加雪菲 互联网科技公司华为 碳银互联网科技 互联网科技上市公司 恒生科技互联网指数分析 广西拼得多互联网科技有限公司 承德科技产业互联网发展 移动互联网科技公司 滨湖区互联网智能科技产品有哪些 互联网领先科技活动
0