MySQL从入门到精通(一):MySQL介绍及数据库相关概念
目录
一、MySQL 介绍
二、数据库相关概念
(一)数据库基础知识
(二)主流的关系型数据库管理系统
三、关系型数据库与非关系型数据库
(一)定义
(二)数据模型对比
(三)性能与扩展性
(四)优缺点分析
一、MySQL 介绍
MySQL 是一个开源的关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下产品。它以其高性能、可靠性和易用性而闻名于世,是 Web 应用程序最常用的数据库之一,也是许多企业级应用、移动应用、大数据应用以及云计算应用的首选数据库解决方案 。许多知名的网站和服务,如 Facebook、Twitter、YouTube、WordPress 等,都在使用 MySQL 来存储和管理数据,这进一步证明了 MySQL 的可靠性和适用性。
对于开发者而言,掌握 MySQL 意味着能够开发出更高效、更可靠的应用程序。无论是 Web 开发、移动开发还是大数据分析,MySQL 都是不可或缺的技能。
二、数据库相关概念
(一)数据库基础知识
在深入学习 MySQL 之前,我们需要先了解一些数据库的核心概念,这些概念是我们理解和使用数据库的基石。
数据库(Database):数据库就像是一个电子化的文件柜,是按照一定的数据结构来组织、存储和管理数据的仓库。它可以存储大量的数据,并且提供了对这些数据进行高效访问和操作的方法。
数据库管理系统(Database Management System,DBMS):数据库管理系统是一种用于管理数据库的软件系统,它就像是数据库的管理员,负责数据库的创建、数据的存储、查询、更新、删除以及用户权限管理等操作。常见的数据库管理系统有 MySQL、Oracle、SQL Server等,不同的数据库管理系统具有不同的特点和适用场景。
SQL(Structured Query Language):SQL 即结构化查询语言,是一种专门用于与数据库进行交互的语言,定义了一套操作关系型数据库的统一标准。它就是我们与数据库管理员沟通的工具,通过 SQL 语句,我们可以向数据库管理系统发送指令,实现对数据库中数据的各种操作 。
这三个概念之间的关系紧密相连。数据库是数据的存储容器,数据库管理系统负责管理和维护数据库,而 SQL 则是我们与数据库管理系统进行交互的语言。我们通过 SQL 语句向数据库管理系统发送请求,数据库管理系统根据这些请求对数据库中的数据进行相应的操作 。
(二)主流的关系型数据库管理系统
目前主流的关系型数据库管理系统的市场占有率排名如下:
- Oracle:大型的收费数据库,Oracle公司产品,价格昂贵。
- MySQL:开源免费的中小型数据库,后来Sun公司收购了MySQL,而Oracle又收购了Sun公司。 目前Oracle推出了收费版本的MySQL,也提供了免费的社区版本。
- SQL Server:Microsoft 公司推出的收费的中型数据库,C#、.net等语言常用。
- PostgreSQL:开源免费的中小型数据库。
- DB2:IBM公司的大型收费数据库产品。
- SQLLite:嵌入式的微型数据库。Android内置的数据库采用的就是该数据库。
- MariaDB:开源免费的中小型数据库。是MySQL数据库的另外一个分支、另外一个衍生产品,与 MySQL数据库有很好的兼容性。
只要是关系型数据库,最终在操作时,都是使用SQL语言来进行统一操作, 因为SQL语言,是操作关系型数据库的统一标准 。所以即使我们现在学习的是MySQL, 假如我们以后到了公司,使用的是别的关系型数据库,如:Oracle、DB2、SQLServer,也完全不用 担心,因为操作的方式都是一致的。
三、关系型数据库与非关系型数据库
(一)定义
-
关系型数据库(RDBMS)
- 概念:基于关系模型,通过二维表格(行表示记录,列表示字段)组织数据,表之间通过主键和外键建立关联。代表产品包括MySQL、Oracle、SQL Server等。
- 核心特性:
- 严格的数据模式(Schema)需预先定义字段类型和表结构。
- 支持SQL语言进行复杂查询(如JOIN操作)。
- 遵循ACID原则(原子性、一致性、隔离性、持久性),确保事务的强一致性 。
- 概念:基于关系模型,通过二维表格(行表示记录,列表示字段)组织数据,表之间通过主键和外键建立关联。代表产品包括MySQL、Oracle、SQL Server等。
-
非关系型数据库(NoSQL)
- 概念:采用灵活的数据模型(如键值对、文档、列族、图),无需固定表结构,支持分布式存储。代表产品包括MongoDB、Redis、Cassandra等。
- 核心特性:
- 动态数据结构,允许随时增减字段。
- 弱一致性(最终一致性),遵循BASE原则(基本可用、软状态、最终一致)。
- 高扩展性,可通过横向扩展(增加节点)应对海量数据。
- 概念:采用灵活的数据模型(如键值对、文档、列族、图),无需固定表结构,支持分布式存储。代表产品包括MongoDB、Redis、Cassandra等。
(二)数据模型对比
维度 | 关系型数据库 | 非关系型数据库 |
---|---|---|
存储形式 | 二维表格 | 键值对、文档、图等 |
模式预定义 | 必须预先定义表结构 | 动态结构,无需预定义 |
数据关联性 | 多表关联(外键) | 嵌套文档或独立存储 |
典型操作 | 复杂查询(JOIN、事务) | 简单键值查询、批量读写 |
(三)性能与扩展性
-
性能优化方向
- 关系型:依赖垂直扩展(提升单机性能),如增加CPU或内存。
- 非关系型:天然支持水平扩展,通过分片和集群分散负载。
-
适用场景
- 关系型:
- 需要强一致性和复杂事务的场景(如银行系统、ERP)。
- 结构化数据的高效查询(如用户账户、订单管理)。
- 非关系型:
- 高并发读写。
- 非结构化或半结构化数据存储。
- 关系型:
(四)优缺点分析
类型 | 优点 | 缺点 |
---|---|---|
关系型 | 数据一致性强,支持复杂事务
| 扩展性受限,海量数据读写效率低 模式修改成本高 |
非关系型 | 高扩展性和灵活性 适合非结构化数据 | 弱一致性可能导致数据不一致 复杂查询能力弱 |
完结撒花🎉