首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
1.1 数据库系统概述
1.1.1 数据库技术的发展
1.1.2 数据库系统的组成
1.2 数据模型
1.2.1 数据模型的概念
1.2.2 常见的数据模型
1.2.3 关系数据库的规范化
1.2.4 关系数据库的设计原则
1.2.5 实体与关系
1.3 数据库的体系结构
1.3.1 数据库三级模式结构
1.3.2 三级模式之间的映射
2.1 了解MySQL
2.1.1 MySQL数据库的概念
2.1.2 MySQL的优势
2.1.3 MySQL的发展史
2.2 MySQL 8.0的新特性
2.3 MySQL的应用环境
2.4 MySQL服务器的安装和配置
2.4.1 MySQL服务器安装包的下载
2.4.2 MySQL服务器的安装
2.4.3 启动、连接、断开和停止MySQL服务器
2.4.4 打开MySQL 8.0 Command Line Client
2.5 如何学好MySQL
第3章 使用MySQL图形化管理工具
3.1 安装phpMyAdmin图形化管理工具
3.1.1 phpMyAdmin图形化管理工具简介
3.1.2 下载phpstudy集成开发环境
3.1.3 下载phpMyAdmin
3.1.4 打开phpMyAdmin
3.2 数据库操作管理
3.2.1 创建数据库
3.2.2 修改和删除数据库
3.3 管理数据表
3.3.1 创建数据表
3.3.2 修改数据表
3.3.3 删除数据表
3.4 管理数据记录
3.4.1 使用SQL语句插入数据
3.4.2 使用SQL语句修改数据
3.4.3 使用SQL语句查询数据
3.4.4 使用SQL语句删除数据
3.4.5 通过form表单插入数据
3.4.6 浏览数据
3.4.7 搜索数据
3.5 导入/导出数据
3.5.1 导出MySQL数据库脚本
3.5.2 导入MySQL数据库脚本
3.6 设置编码格式
3.7 添加服务器新用户
3.8 重置MySQL服务器登录密码
4.1 认识数据库
4.1.1 数据库基本概念
4.1.2 数据库常用对象
4.1.3 系统数据库
4.2 创建数据库
4.2.1 使用CREATE DATABASE语句创建数据库
4.2.2 使用CREATE SCHEMA语句创建数据库
4.2.3 创建指定字符集的数据库
4.2.4 创建数据库前判断是否存在同名数据库
4.3 查看数据库(SHOW命令)
4.4 选择数据库(USE命令)
4.5 修改数据库(ALTER命令)
4.6 删除数据库(DROP命令)
当前位置:
首页>>
技术小册>>
MySQL从入门到精通(一)
小册名称:MySQL从入门到精通(一)
### 1.3 数据库的体系结构 在深入探讨MySQL这一强大数据库管理系统(DBMS)之前,理解其背后的数据库体系结构是至关重要的。数据库体系结构是数据库系统设计和实现的基石,它定义了数据如何被存储、组织、管理和访问。本节将详细介绍数据库的体系结构,包括其核心概念、组成部分以及它们之间的相互作用,为后续的MySQL深入学习打下坚实的基础。 #### 1.3.1 数据库体系结构的概述 数据库体系结构是指数据库系统中各组成部分及其相互关系的集合,它决定了数据库系统的性能和可扩展性。一个典型的数据库体系结构可以分为多个层次,每个层次都执行特定的功能,共同支持整个数据库系统的运行。这些层次通常包括用户层、应用程序层、DBMS层、数据存储层以及硬件层。 - **用户层**:直接与用户交互的界面,可以是命令行界面、图形用户界面(GUI)或是Web界面。用户通过这一层提交查询、更新数据等请求。 - **应用程序层**:位于用户层与DBMS层之间,负责处理用户请求,将高级业务逻辑转换为DBMS能理解的查询语句,并接收DBMS返回的结果,进一步处理展示给用户。 - **DBMS层**:数据库管理系统的核心,负责执行数据定义(DDL)、数据操纵(DML)、数据控制(DCL)等操作,管理数据的存储、索引、查询优化、事务处理、并发控制等。 - **数据存储层**:实际存储数据的物理介质,如硬盘驱动器、SSD等。DBMS通过文件系统或专用存储引擎与这一层交互,将数据以文件或特定格式存储。 - **硬件层**:包括CPU、内存、磁盘等物理设备,是数据库系统运行的物质基础。 #### 1.3.2 数据库的三级模式与两级映像 为了实现对数据库的有效管理,数据库系统采用了三级模式(外模式、模式、内模式)和两级映像(外模式/模式映像、模式/内模式映像)的体系结构。 - **外模式(子模式、用户模式)**:是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图。一个数据库可以有多个外模式。 - **模式(概念模式、逻辑模式)**:是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。一个数据库只有一个模式。 - **内模式(存储模式、物理模式)**:是数据库物理结构和存储方式的描述,是数据在数据库内部的表示方式。一个数据库只有一个内模式。 - **外模式/模式映像**:定义了外模式与模式之间的对应关系,保证了数据的逻辑独立性,即当模式改变时(如增加新的关系、新的属性或改变属性的类型等),只要对外模式/模式映像做相应的改变,就可以使外模式保持不变,从而应用程序不必修改,保证了数据的逻辑独立性。 - **模式/内模式映像**:定义了数据库中数据的全局逻辑结构(模式)和这些数据的物理存储结构(内模式)之间的对应关系,保证了数据的物理独立性,即当数据库的存储结构改变时,只要对模式/内模式映像做相应的改变,就可以使模式保持不变,从而应用程序也不必修改,保证了数据的物理独立性。 #### 1.3.3 MySQL的存储引擎 MySQL的灵活性很大程度上得益于其插件式的存储引擎架构。存储引擎是MySQL中用于存储、处理和保护数据的核心服务。不同的存储引擎具有不同的功能、特性、性能优化,以及锁定级别,这些差异使得用户可以根据应用的具体需求选择最合适的存储引擎。 - **InnoDB**:MySQL的默认存储引擎,支持事务处理(ACID兼容)、行级锁定和外键。它设计目标是处理大量短期事务,其性能特点是在并发插入和更新时表现出色。 - **MyISAM**:曾是MySQL的默认存储引擎,直到5.5.5版本被InnoDB取代。它不支持事务处理,提供表级锁定,拥有全文索引能力,并且读取速度较快,但写入速度相对较慢。 - **Memory**:将所有数据存储在RAM中,访问速度极快,但重启数据库或发生系统崩溃时数据会丢失。适用于临时表或缓存。 - **Archive**:专为存储大量归档数据而设计,支持高效地插入和压缩,但不支持事务处理或索引(只有自动增长的ID索引)。 - **Federated**:允许MySQL数据库服务器访问远程MySQL服务器上的数据库,如同访问本地数据库一样。 每种存储引擎都有其适用场景和性能特点,选择合适的存储引擎对于优化MySQL数据库的性能至关重要。 #### 1.3.4 并发控制与事务处理 在数据库系统中,并发控制是处理多个用户同时访问和修改数据库数据时,保证数据一致性和完整性的重要机制。MySQL中的InnoDB存储引擎通过事务处理(Transaction Processing)和锁(Locking)机制来实现并发控制。 - **事务处理**:是一组逻辑上相关的操作,它们要么全部成功,要么全部失败,从而保持数据库状态的一致性。InnoDB支持ACID特性的事务处理:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。 - **锁**:是并发控制的基本手段,用于防止多个事务同时修改同一数据造成的冲突。InnoDB支持行级锁和表级锁,行级锁可以最大限度地支持并发处理,减少锁冲突的机会,提高系统的并发性能。 #### 1.3.5 索引与查询优化 索引是数据库系统中提高查询效率的关键技术之一。它类似于书籍的目录,可以帮助数据库系统快速定位到数据的位置,减少扫描数据量,从而提高查询速度。MySQL支持多种类型的索引,包括B-Tree索引、哈希索引、全文索引等。 - **B-Tree索引**:MySQL中最常用的索引类型,支持全键值、键值范围或键值前缀的查找。它利用B-Tree数据结构来存储索引数据,适用于等值查询、范围查询和排序操作。 - **哈希索引**:基于哈希表实现,适用于等值查询,但不支持范围查询和排序操作。由于其查找速度极快,常用于内存数据库或需要快速查找的场景。 - **全文索引**:专为文本数据设计的索引类型,支持对文本内容进行搜索,如MyISAM和InnoDB(从5.6版本开始)都支持全文索引。 查询优化是数据库性能调优的核心任务之一,它涉及到对SQL语句的改写、索引的选择、执行计划的优化等多个方面。通过合理的查询优化,可以显著提高数据库的查询效率,降低系统的响应时间。 ### 总结 数据库的体系结构是数据库系统设计和实现的基石,它决定了数据库系统的性能和可扩展性。在MySQL中,通过三级模式与两级映像保证了数据的逻辑独立性和物理独立性;通过插件式的存储引擎架构提供了灵活的数据存储和处理方式;通过并发控制和事务处理机制保证了数据的一致性和完整性;通过索引和查询优化技术提高了数据库的查询效率。深入理解MySQL的数据库体系结构,对于掌握MySQL的高级特性和进行性能调优具有重要意义。
上一篇:
1.2.5 实体与关系
下一篇:
1.3.1 数据库三级模式结构
该分类下的相关小册推荐:
MySQL8.0入门与实践
MySQL从入门到精通(四)
MySQL必会核心问题
MySQL从入门到精通(三)
SQL零基础到熟练应用(增删改查)
细说MySQL(零基础到高级应用)
MySQL从入门到精通(五)
MySQL 实战 45 讲
MySQL从入门到精通(二)