MySQL数据库(详解)

目录

前言

一、数据库的基本概念

1.数据(Data)

2.表

3.数据库

4.数据库管理系统(DBMS)

5.数据库系统

二、数据库系统发展史

1.第一代数据库

2.第二代数据库

3.第三代数据库

三、当今主流数据库介绍

1.SQL Server (微软公司产品)

2.Oracle (甲骨文公司产品)

3.DB2 (IBM公司产品)

4.MySQL (甲骨文公司收购)

5.数据库类型

四、关系数据库(MySQL)

1.实体

2.属性

3.联系

4.关系数据库的存储结构

五、关系数据库应用

 六、非关系数据库(NoSQL)

七、MySQL数据库介绍

八、MySQL商业版与社区版

九、MySQL产品阵营

前言

数据库概述
前置:LAMP LNMP 

企业架构,服务定位示例
前言:
数据:图片、视频、关系、音频、字符、字符串等等。
数据的作用:持久化保存(磁盘)、高可靠(宕机不会丢失,安全性保障),高可用(HA冗余、备份),数据的快速提取( 目录、索引)。

一、数据库的基本概念

1.数据(Data)

(1)描述事物的符号记录。
(2)包括数字,文字、图形、图像、声音、档案记录等。
(3)以“记录”形式按统一的格式进行存储。

(4)使用一些介质进行存储,例如文字存在文档中。
(5)数据库可以完成数据持久化保存+快速提取。
(6)数据如何保存:最外层是mysql服务→mysql 数据库→数据表→记录为行,字段为列→数据保存在一行行记录中。
(7)对于存储在数据库中的数据进行管理、使用,需要通过编写一系列的规则→SQL语句( 命令行形式)。
(8)SQL语句按功能分类:增删改查。

2.表

(1)将不同的记录组织在一起。
(2)用来存储具体数据。

3.数据库

(1)表的集合,是存储数据的仓库。
(2)以一定的组织方式存储的相互有关的数据集合。

4.数据库管理系统(DBMS)

是实现对数据库资源有效组织、管理和存取的系统软件。

5.数据库系统

(1)是一个人机系统,由硬件、OS、数据库、DBMS、 应用软件和数据库用户组成。
(2)用户可以通过DBMS或应用程序操作数据库。

二、数据库系统发展史

1.第一代数据库

(1)自20世纪60年代起,第一代数据库系统问世。
(2)是层次模型与网状模型的数据库系统。
(3)为统一管理和共享数据提供了有力的支撑。

2.第二代数据库

(1)20世纪70年代初,第二代数据库一关系数据库开始出现。
(2)20世纪80年代初,IBM公司的关系数据库系统DB2问世,开始逐步取代层次与网状模型的数据库,成为行业主流。
(3)到目前为止,关系数据库系统仍占领数据库应用的主要地位。

3.第三代数据库

引申:SQL+NoSQL组合使用(唯一性)SQL+MQ消息队列
为了解决单台SQL数据库处理并发能力有限的问题,为了提高用户加载时的反馈效率来提高体验感
web→redis→mysql
CPU→缓存→内存→磁盘              以前
i7  i5  一级  二级  缓存

(1)自20世纪80年代开始,适应不同领域的新型数据库系统不断涌现。
(2)面向对象的数据库系统,实用性强、适应面广。
(3)20世纪90年代后期,形成了多种数据库系统共同支撑应用的局面。
(4)一些新的元素被添加进主流数据库系统中。
例如,Oracle支持的"关系对象”数据库模型。

三、当今主流数据库介绍

1.SQL Server (微软公司产品)

(1)面向Windows操作系统
(2)简单、易用

2.Oracle (甲骨文公司产品)

(1)面向所有主流平台,
(2)安全、完善,操作复杂

3.DB2 (IBM公司产品)

(1)面向所有主流平台
(2)大型、安全、完善

4.MySQL (甲骨文公司收购)

免费、开源、体积小

5.数据库类型

关系型数据库、非关系型数据库
(1)关系型数据库(SQL): 存储的往往是字符、字符串、数值、布尔值等 (磁盘)
(2)非关系型数据库(NoSQL) :存储的往往是图片、视频、语音等( 内存) 
(3)时序数据库(TSDB) :心电图,持续性,根据时间点进行变化的一组连续性的数据(时序数据)

四、关系数据库(MySQL)

主要的核心数据→ Oracle PostgreSQL
菜单、普通数据→ Mysql 缓冲层文件系统

实体-关系 E-R
记录(行)表示了一个实体(的属性)
而E-R图:
实体与实体之间的联系(关系)
即表与表的关系

客户编码:主键(类比入学学号)
主键特性:唯一、 非空

盐值加密→用于与数据库通讯时

1.关系数据库系统是基于关系模型的数据库系统。
2.关系模型的数据结构使用简单易懂的维数据表。
3.关系模型可用简单的“实体关系”  (E-R)图来表示。
4.E-R图中包含了实体(数据对象)、关系和属性三个要素。

1.实体

也称为实例,对应现实世界中可区别于其他对象的“事件”或事物
如银行客户、银行账户等

2.属性

实体所具有的某一特性, 一个实体可以有多个属性
如“银行客户”实体集中的每个实体均具有姓名、住址、电话等属性

3.联系

实体集之间的对应关系称为联系,也称为关系
如银行客户和银行账户之间存在“储蓄”的关系

所有实体及实体之间联系的集合构成一个关系数据库

4.关系数据库的存储结构


记录:行
字段(属性):列
以行+列的形式就组成了表( 数据存储在表中)

数据库
多张表存储在数据库中
"关系型数据库"表与表字段/属性的关联

关系数据库的存储结构是二维表格。

在每个二维表中
(1)每一行称为一条记录,用来描述一个对象的信息。
(2)每一列称为一个字段,用来描述对象的一个属性。

五、关系数据库应用

 六、非关系数据库(NoSQL)

MongoDB 、Redis (内存数据库/缓存数据库) K-V键值对、与之类似的Memcache, K-V键值对
redis -memecache对比:

相同点:存储高热数据(在内存中高速运行)
不同点(优势) : redis可以做持 久化保存(保存在磁盘),可以存储对象

K-V: workdir=/usr/ local/nginx/
KEY - VOLUME

关系型数据库:适用于对关系很明确的数据建立模型、定义、存储数据
非关系型数据库:存储海量数据,给与”大数据“进行分析,筛选出有价值的部分

引申: redis 持久化方式
以键值存储数据,数据保存在内存中,但会定期将数据写入磁盘(持久化方式)

高德:实时分析平台,
使用非关系型数据库存储,如果需要持久化,就可以使用redis

1.非关系数据库也被称作NoSQL (Not Only SQL)
2.存储数据不以关系模型为依据,不需要固定的表格式
3.非关系型数据库的优点
(1)数据库可高并发读写
(2)对海量数据高效率存储与访问
(3)数据库具有高扩展性与高可用性
4.常用的非关系数据库:Redis、mongoDB等

七、MySQL数据库介绍

1.一款深受欢迎的开源关系型数据库
2.Oracle旗下的产品
3.遵守GPD协议,可以免费使用与修改
4.特点
(1)性能良好、服务稳定
(2)开源、无版权限制、成本低
(3)多线程、多用户
(4)基于C/S (客户端/服务器)架构
(5)安全可靠

5.日志
(1)数据库日志文件用于备份,恢复,故障定位、分析是最核心的部分
(2)mysql 与oracle 日志有所区别
(3)mysql 写一条数据,同步到日志中一条
PS:insert into ky11 (id, name, score) values (1, ' zhangsan' ,20) ;

(4)oracle:重做日志组
1)一个组中至少3个日志成员,轮流存储日志
2)还会有另一个组与之同步/备份
3)阿里云OSS对象存储,一式三份备份(使用重做日志组思想)
4)对象存储:存储大都是一些静态文件,图片、音频、视频
5)不能直接在对象存储中修改数据

6)飞天平台,盘古系统,钟馗:安全,女娲:选举/调度,盘古一式三份

6.Mysql存储引擎
myisam 和innodb
1)myisam: 快速读取,不支持事务
2)innodb: 更注重写,支持事务

7.mysql数据库管理
describe user;
(1)Mysql做为SQL数据库的特性Mysql的语言SQL语句来控制增删改查

(2)增删改查按照类型划分的
(3)具体的语句操作(基操)
基于SQL语句的进阶→更好的通过SQL语句的管理、控制,让Mysql处理能力更为效率

(4)高阶SQL语句用法
1)备份、恢复
2)集群设计、集群演变的理念:
3)单台Mysql→压力过大、同时数据存在单点故障的问题,要做冗余、备份
4)引申出第一个Mysql集群架构→主从复制(主-备)→mysq1性能不均衡→ I/0读写性能不均衡
5)引申出第二个Mysql集群架构→读写分离(主-备) →备用服务器是多个,但是Master服务器单个→Master服务器又存在了单点故障问题
6)引申出第三个架构→ MHA (master HA高可用) → 学习的集群
默认不需要小数点
整数

(5)常用的数据类型

       Char (10)如果存入数据的实际长度比指定长度要小,会补空格至指定长度,如果存入的数据的实际长度大于指定长度,低版本会被截取,高版本会报错。
       截取2/ 截断2

(6) 数据库管理(基础的控制语言是SQL语句)
SQL 语句
SQL语言分类:
DDL: 数据定义语言,用于创建数据库对象,如库、表、索引等
DML:数据操纵语言,用于对表中的数据进行管理
DQL:数据查询语言,用于从数据表中查找符合条件的数据记录
DCL:数据控制语言,用于设置或者更改数据库用户或角色权限

8.数据库管理操作:
查看数据库结构
describe table_ name;
表A
姓名  年龄  身高  体重
原表(字段):
姓名(varchar(40) )    年龄(int (4))    身高(decimal (5,2))    体重(varchar (10))
desc user;

Field: 字段名称
Type: 数据类型
Null :是否允许为空
Key:主键.
Default:默认值
Extra :扩展属性,例如:标志符列(标识了种子,增量/步长) 1 2
id 1 3 5 7

auto_ increment 自增长

八、MySQL商业版与社区版

1.MySQL商业版是由MySQL AB公司负责开发与维护,需要付费才能使用。
2.MySQL社区版是由分散在世界各地的MySQL开发者、爱好者一起开发与维护,可以免费使用。
3.两者区别
(1)商业版组织管理与测试环节更加严格,会比社区版更稳定。
(2)商业版不遵守GPL,社区版遵从GPL可以免费使用。
(3)商业版可获得7*24小时的服务,社区版则没有。

九、MySQL产品阵营

1.第一阵营: 5.0-5.1阵营,可说是早期产品的延续。
2.第二阵营: 5.4-5.6阵营,整合了MySQL AB公司、社区和第三方公司开发的存储引擎,从而提高性能。
3.第三阵营: 6.0-7.1阵营,就是MySQL Cluster版本,为适应新时代对数据库的集群需求而开发。
4.下载网址
http://www.dev.mysql.com/downloads

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/692157.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SwiftUI中Mask修饰符的理解与使用

Mask是一种用于控制图形元素可见性的图形技术&#xff0c;使用给定视图的alpha通道掩码该视图。在SwiftUI中&#xff0c;它类似于创建一个只显示视图的特定部分的模板。 Mask修饰符的定义&#xff1a; func mask<Mask>(alignment: Alignment .center,ViewBuilder _ ma…

地图之战争迷雾/地图算法/自动导航(一)

战争迷雾 TiledMap 创建黑色覆盖块&#xff0c;然后使用碰撞组件&#xff0c;控制黑色块的显示和隐藏 地图算法 在有些游戏中&#xff0c;地图需要随机生成&#xff0c;比如游戏中的迷宫等&#xff0c;这就需要地图生成的算法&#xff1b;在角色扮演类游戏中&#xff0c;角色…

「Qt Widget中文示例指南」如何实现一个简单的RHI小部件示例(二)

Qt 是目前最先进、最完整的跨平台C开发工具。它不仅完全实现了一次编写&#xff0c;所有平台无差别运行&#xff0c;更提供了几乎所有开发过程中需要用到的工具。如今&#xff0c;Qt已被运用于超过70个行业、数千家企业&#xff0c;支持数百万设备及应用。 本文将为大家演示如…

阿里大模型又又又又开源了!这次还是王炸产品!

阿里大模型又双叒叕开源了&#xff1a;刚刚&#xff0c;Qwen2 宣布开源&#xff01; 不到一年时间&#xff0c;阿里云通义千问先后开源近 10 款不同尺寸的大语言模型&#xff0c;之前开源的 Qwen 系列 72B、110B 模型就曾多次登顶 HuggingFace 的 Open LLM Leaderboard 开源模型…

两个不同的TA Instance之间可以共享全局变量吗

答案&#xff1a;不能。 在GP规范里其实是有规定&#xff0c;在不同的TA Instance之间&#xff0c;都是有着各自的physical memory space的&#xff0c;都是相互独立物理地址空间的。 不同的TA instance之间&#xff0c;各自拥有各自的堆空间、可写全局数据段、可写静态数据段。…

Python可视化 | 使用matplotlib绘制面积图示例

面积图是数据可视化中的一个有效工具&#xff0c;用于说明时间上的关系和趋势。它们提供了一种全面的、视觉上迷人的方法&#xff0c;通过熟练地将折线图的可读性与填充区域的吸引力相结合来呈现数值数据。 在本文中&#xff0c;我们将学习更多关于在Python中创建面积折线图的…

前端渲染大量数据思路【虚拟列表】【异步机制】

当浏览器遇到性能瓶颈导致页面卡顿时&#xff0c;你会怎么处理&#xff1f;如何查找问题的原因&#xff1f; 浏览器本身自带性能检测工具&#xff0c;通常我们分析由脚本导致的页面卡顿会选择 性能&#xff08;performance&#xff09; 选项卡&#xff0c;在其中我们可以找到导…

从诺曼底登陆八十周年说起

昨天&#xff08;2024年6月6日&#xff09;是诺曼底登陆&#xff08;Normandy Campaign&#xff09;八十周年纪念日。媒体上有很多对相关纪念活动的报道。 诺曼底登陆战役&#xff0c;是第二次世界大战也是世界战争史上规模最大的登陆战役。敦刻尔克大撤退后&#xff0c;西欧大…

Qt Window Dialog 无标题栏 ,无边框,可拖动

1.效果&#xff1a; 2. 主要实现步骤&#xff1a; 设置窗口 flag&#xff1a; this->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint); 创建变量存储位置 QPoint m_dragPosition; 对鼠标左键按下和移动事件做处理 void DraggableDialog::mousePre…

【Linux操作系统】Linux中进程的五种状态:R、S、D、T、X以及僵尸进程、孤儿进程

操作系统中有许多同时执行的进程&#xff0c;这些进程都可能处于不同的状态代表着不同的含义。 R运行状态(running) 概念&#xff1a;并不意味着进程一定在运行中&#xff0c;它表明进程要么是在运行中要么在运行队列里。 我们运行可执行程序myproc利用指令 ps ajx可以看到进程…

Java 18 新功能概述

Java 18 在 2022 年 3 月 22 日正式发布&#xff0c;Java 18 不是一个长期支持版本。 包含多项新特性和改进&#xff0c;如文件系统链接、文本块、表达式求值API、ForkJoinPool优化、Optional新方法等。 亮点还包括预览特性&#xff1a;Record Pattern Matching for Switch和增…

Elastic Search(ES)Java 入门实操(3)数据同步

基本概念和数据查询代码&#xff1a; Elastic Search &#xff08;ES&#xff09;Java 入门实操&#xff08;1&#xff09;下载安装、概念-CSDN博客 Elastic Search&#xff08;ES&#xff09;Java 入门实操&#xff08;2&#xff09;搜索代码-CSDN博客 想要使用 ES 来查询数…

为什么会有虚像

本来我就打算写虚像相关的内容&#xff0c;实际上我看不懂光学的内容&#xff0c;我只是发觉书上没有使用变分法来做&#xff0c;而只是解析几何的变换&#xff0c;这个做法完全脱离实际&#xff0c;物理书为什么会这样写不知道原因&#xff0c;但是很明显这样的内容也非常的复…

操作系统复习-存储管理之段页式存储管理

存储管理之段页式存储管理 页式存储管理(等分划分) 字块是相对物理设备的定义页面则是相对逻辑空间的定义指的都是大小一样的一块内存页式存储管理是将进程逻辑空间等分成若干大小的页面相应的把物理内存空间分成与页面大小的物理块以页面为单位把进程空间装进物理内存中分散的…

【MySQL】常见可执行程序

本文使用的版本是MySQL8&#xff0c;5.7可能会有所不同。 MySQL提供了一些重要的程序用来管理和操作数据库。这里会介绍一些常用的程序及其使用。对于MySQL程序的使用&#xff0c;可以查看官方帮助手册来学习。 MySQL :: MySQL 8.0 Reference Manual :: 6 MySQL Programs 程序…

normalizing flows vs 直方图规定化

normalizing flows名字的由来 The base density P ( z ) P(z) P(z) is usually defined as a multivariate standard normal (i.e., with mean zero and identity covariance). Hence, the effect of each subsequent inverse layer is to gradually move or “flow” the da…

C# Maui 报错:程序“[15748] MauiApp1.exe”已退出,返回值为 2147942405 (0x80070005)

“MauiApp1.exe”(CoreCLR: DefaultDomain): 已加载“C:\Program Files\dotnet\shared\ Microsoft.NETCore.App\8.0.6\System.Private.CoreLib.dll”。 “MauiApp1.exe”(CoreCLR: clrhost): 已加载“E:\cDemo\MauiApp1\MauiApp1\bin\Debug\net8.0-windows10.0.19041.0\win10-x…

数智融通 创新发展|亚信科技携AntDB、Data OS与隐私计算产品,赋能企业高质量发展

5月21日&#xff0c;亚信科技在云端举办了一场别开生面的研讨会——“数智融通 创新发展”&#xff0c;聚焦企业数智化升级的前沿话题。资深产品经理和技术架构师们面对面深入交流&#xff0c;分享创新成果与实战案例&#xff0c;共同探索企业数智化转型的新路径。 图1&#xf…

重构某测试站点

一、计算校验值 校验值结果&#xff1a; 文件名称&#xff1a;培训用centos.rar&#xff0c;文件大小&#xff1a;1,335,759,953&#xff0c;MD5&#xff1a;534EC38CDA7DA2196C84AC8F6092514B&#xff0c;SHA1&#xff1a;FD35D86A27A007AE10872980C48653A110DF6067&#xf…

【Ardiuno】ESP32单片机初试点亮LED小灯

之前用的Ardiuno的主板做过一些简单的开发实验&#xff0c;按照相关说明还是很容易进行操作的。最近看了ESP32可以有wifi的功能&#xff0c;也就买来实验一下。 ESP32的主板开发环境安装&#xff0c;按照说明的安装下载程序总是报错&#xff0c;又上网搜索半天最后按照CSDN上某…