返回顶部
首页 > 资讯 > 数据库 >MySQL数据完整性的示例分析
  • 866
分享到

MySQL数据完整性的示例分析

2024-04-02 19:04:59 866人浏览 薄情痞子
摘要

这篇文章主要介绍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表


MySQL数据完整性的示例分析

orders表

MySQL数据完整性的示例分析

orders外键设置

MySQL数据完整性的示例分析

创建一个名叫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)
);

表格操作多对多

创建老师表:

MySQL数据完整性的示例分析

创建学生表:

MySQL数据完整性的示例分析

第三张表:

MySQL数据完整性的示例分析

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

您可能感兴趣的文档:

--结束END--

本文标题: MySQL数据完整性的示例分析

本文链接: https://lsjlt.com/news/57529.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MySQL数据完整性的示例分析
    这篇文章主要介绍MySQL数据完整性的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!数据完整性分为:实体完整性,域完整性,参考完整性。参考完整性:参照完整性指的就是多表之间的...
    99+
    2024-04-02
  • oracle中数据完整性的示例分析
    小编给大家分享一下oracle中数据完整性的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1.  数据的完整性简介    ...
    99+
    2024-04-02
  • 数据库中sql完整性约束的示例分析
    小编给大家分享一下数据库中sql完整性约束的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!完整性约束  完整性约束是为了...
    99+
    2024-04-02
  • sql中参照完整性的示例分析
    这篇文章主要为大家展示了“sql中参照完整性的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“sql中参照完整性的示例分析”这篇文章吧。一、参照完整性参照...
    99+
    2024-04-02
  • MySQL--数据完整性
    - 数据类型 原则 尽量使用取值范围小的,节省存储空间 整数:int, bit  小数:decimal  表示浮点数  decimal(5,&nb...
    99+
    2024-04-02
  • 服务器数据完整性问题实例分析
    本篇内容主要讲解“服务器数据完整性问题实例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“服务器数据完整性问题实例分析”吧!非法数据的潜在成因是什么数据完整性能防止出现数据违背系统的指令被篡改...
    99+
    2023-06-17
  • SQL server数据库中数据完整性的分析
    小编给大家分享一下SQL server数据库中数据完整性的分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!存储在数据库中的所有...
    99+
    2024-04-02
  • MySQL数据库性能优化的示例分析
    小编给大家分享一下MySQL数据库性能优化的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!为什么做优化??因为数据量太多了,项目部署上线再到用户使用,每天...
    99+
    2023-06-22
  • 数据的完整性
    10.1什么是数据完整性 作用:保证 用户的输入的数据 保存到数据库 是正确的 比如: 年龄:应该是数字, 学号:应该是不重复的 成绩:不能为空 。 。 。 怎么去保证数据的完整性:添加约束。 完整性约束分类: 实体(记录)完整性 域完整...
    99+
    2019-06-01
    数据的完整性
  • MySQL性能参数的示例分析
    这篇文章主要介绍MySQL性能参数的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! max_connect_errors是一个MySQL中与安全有关的计数器值,它负责阻止过...
    99+
    2024-04-02
  • MySQL数据库的示例分析
    这篇文章给大家分享的是有关MySQL数据库的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、数据库概要数据库(Database)是存储与管理数据的软件系统,就像一个存入...
    99+
    2024-04-02
  • MySQL并发参数调整的示例分析
    这篇文章主要介绍了MySQL并发参数调整的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Mysql并发参数调整从实现上来说,MySQ...
    99+
    2024-04-02
  • MySql整体结构的示例分析
    这篇文章主要介绍MySql整体结构的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! MySql 整体结构MySQL 由连接池、SQL 接口、解析器...
    99+
    2024-04-02
  • Mysql中并发参数调整的示例分析
    这篇文章将为大家详细讲解有关Mysql中并发参数调整的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。查询缓存优化不建议使用,一般是在应用服务做缓存层,毕竟数据并发能力是有限的概述当开始Mysql的...
    99+
    2023-06-21
  • MySQL数据库高级(一)——数据完整性
    MySQL数据库高级(一)——数据完整性 一、数据完整性简介 1、数据完整性简介 数据冗余是指数据库中存在一些重复的数据,数据完整性是指数据库中的数据能够正确反应实际情况。数据的完整性是指数据的可靠性和准确...
    99+
    2024-04-02
  • MySQL将多条数据合并成一条的完整示例
    数据库中存的是多条数据,展示的时候需要合并成一条 数据表存储形式如下图 以type分组,type相同的算一条,且保留image和link的所有数据,用groupBy只保留一条数据 解决方案:用GROUP_CONCAT ...
    99+
    2023-02-28
    mysql多条数据合并一条数据库 mysql多条数据合并成一条 mysql数据库合并工具
  • MySQL数据库事务的示例分析
    小编给大家分享一下MySQL数据库事务的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!事务特点:ACID从业务角度出发,...
    99+
    2024-04-02
  • MySQL中检索数据的示例分析
    这篇文章将为大家详细讲解有关MySQL中检索数据的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 MySQL 不区分大小写,但尽量做到...
    99+
    2024-04-02
  • MySQL中数据迁移的示例分析
    这篇文章主要为大家展示了“MySQL中数据迁移的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL中数据迁移的示例分析”这篇文章吧。1.关于数据迁...
    99+
    2024-04-02
  • mysql数据库中mycli的示例分析
    这篇文章给大家分享的是有关mysql数据库中mycli的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。可以先看下效果图:如果自己不去尝试,可能感受没那么强烈,所以不如自己...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作