当前位置:主页 > 数据库 > Mysql >

MySQL 数据库的基础知识

时间:2023-02-24 09:16:27 | 栏目:Mysql | 点击:

1. 认识数据库

1.1 数据库和数据结构的关系

数据结构:

是指相互之间存在一种或多种特定关系的数据元素的集合,是一个抽象的学科

我们熟知的数据结构有:

顺序表、链表、栈、队列、二叉树、哈希表…

数据库:

和数据结构不同,它是一类更具体的可以管理数据的软件。但是实现数据库的这个软件,需要用到很多的数据结构

而使用数据库管理数据具体的功能就包括:

至于管理的目的就是:

为了增删改查

1.2 为什么需要数据库

数据库要将数据进行管理的前提就是将数据进行存储。但是存储数据使用文件就可以了,为什么还要弄个数据库呢?

因为使用文件保存数据有以下几个缺点:

1.3 数据库的存储

当下绝大部分计算机都遵守着冯诺依曼体系结构

数据的存储一般放在内存储器和外存储器(外存储器包括:硬盘、光盘、U盘、软盘等,但这里指硬盘)

数据库是有多种的,并没有统一规定所有数据库存放的位置,但主要的数据库的数据存储位置如下:

补充: MySQL 为什么要把数据存储在外存储器(硬盘)中呢?这里我们就要先了解下内存和硬盘的区别

区别 内存 外存(硬盘)
1 内存的访问速度快 硬盘的访问速度慢
2 内存的空间小 硬盘的空间大
3 内存贵 硬盘便宜
4 如果掉电,内存上的数据会丢失 如果掉电,硬盘的数据不会丢失

 综合以上2、3、4的区别,认为 MySQL 使用硬盘来存储数据更好

 

2. SQL

2.1 介绍

结构化查询语言(Structured Query Language)简称 SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统

注意: SQL 和 MySQL 的区别

2.2 分类

SQL 可以分为6部分:

3. 数据库的类别

数据库大体可以分为:

3.1 关系型数据库

介绍:

常见关系型数据库:

Oracle:甲骨文产品,是数据库中的王者。由于收费,且随着数据量的增大对机器要求比较高,所以使用成本很高。适用于银行这类对数据的安全和服务要求很高且本身很有钱的公司
MySQL:被甲骨文收购,开源免费。现在很多公司普遍使用它
SQL Server:微软产品,由于曾经这个数据库和 windows server 系统进行了捆绑,而大多数服务器系统都是在 Linux 上,所以逐渐失去市场。如今可以支持 Linux

3.2 非关系型数据库

介绍:

非关系型数据库一般指 NoSQL,区别于关系数据库,它们不保证关系数据的 ACID 特性,都是去掉关系数据库的关系型特性
不规定基于 SQL 实现

常见非关系型数据库:

3.3 区别

区别 关系型数据库 非关系型数据库
使用 SQL 不强制要求,一般不基于 SQL 实现
事务支持 支持 不支持
复杂操作 支持 不支持
海量读写操作 效率低 效率高
基本结构 基于表和列,结构固定 灵活性比较高
使用场景 业务方面的 OLTP 系统 用于数据的缓存或基于统计分析的 OLAP 系统

补充:

4. MySQL 的程序结构

MySQL 其实是一个“客户端-服务器”结构的程序

那么什么是客户端和服务器呢?下面将简单介绍

4.1 客户端和服务器

介绍:

示例:

你去饭店吃饭,你跟老板说来一碗农家一碗香,后面老板给你把你点的餐端上来。

此时你就是“客户端”,饭店老板就是”服务器“,你跟老板点餐就是你的”请求“,老板把你点的餐端上来就是”响应“。而一个老板其实可以服务多个客户。

4.2 MySQL 的客户端-服务器结构

当我们使用 MySQL 时,我们其实会遇见以下几种情况:

  • 在同一台主机安装 MySQL 客户端和 MySQL 服务器(我们自己在个人电脑安装时就是这种情况)

  • MySQL 客户端和 MySQL 服务器分别在两台不同的主机上

  • 实际工作中往往是下面这种情况,多台主机的客户端连接一台主机的服务器

注意:

  • MySQL 是把数据存储在服务器上,服务器才是数据库的本体,负责管理数据
  • MySQL 客户端其实就是一个非常简单的程序,仅仅是用来和用户交互的。这个程序可能是:命令行程序、可视化界面的程序、自己代码实现的程序

4.3 MySQL 服务器

介绍:

示例:

假如有一个 MySQL 服务器存储着 CSDN 的数据,它里面可能有3个数据库。数据库1存储着:用户信息、用户排名、文章数量等数据。数据库2存储着:活动内容、投稿文章、奖品信息等数据。数据库2存储着:视频、资源等数据。而其中数据库1中的例如用户信息等数据,它其实就是一个表,类似于 excel 表,而有关联的几个表,就组成了一个数据库。

注意:

数据库的含义其实要依照上下文,它可能是一门学科,也可能是一类软件,有时也指一个服务器,有时还表示一个数据集合等

您可能感兴趣的文章:

相关文章