数据是描述事务的符号记录,包括数字、文字、图像、音频等,以“记录”的形式按统一的格式进行存储;表将不同的记录组织在一起,用来存储具体的数据;数据库是表的集合,是存储数据的仓库,它以一定的组织方式存储相互有关的数据集合。
数据库管理系统是实现对数据库资源有效组织、管理、存取的系统软件。它的主要功能有对数据库的建立和维护,数据定义,数据操纵,数据库的运行管理等;数据库管理系统的工作模式:
1.接收应用程序的数据请求和处理请求
2.将数据的数据请求转化为底层指令
3.实现对数据的操作
4.从对数据的操作中接收查询结果
5.对查询结果进行处理
6.将处理结果返回给用户数据库分为关系型数据库(SQL)和非关系型数据库(NOSQL),关系型数据库存储的往往是字符串,数值,布尔值,存储在磁盘中,是基于关系模型的数据库系统,关系模型的数据结构使用的是二维数据表,二维数据表的每一行称为一条记录,每一列称为一个属性,关系模型可用简单的“实体-关系-属性”来表示:
实体是在现实世界中区别于其他对象的事件,例如银行账户和银行客户,关系表示实体之间的关联,例如银行账户和银行客户之间是存储的关系,属性表示实体的特性,一个实体拥有多个特性,例如银行客户有年龄,姓名,家庭住址,联系方式等属性。
关系型数据库有MySQL,SQL sever,Postgre SQL等。非关系型数据库存储的往往是图像,音频,视频等数据,存储在内存中,常用的非关系型数据库有Redis。关系型数据库与非关系型数据库各有优劣,其中关系型数据库都是使用表结构,格式一致,所以易于维护;并且sql语言通用,使用方便,支持复杂查询;非关系型数据库速度快,可扩展性强,但是无事务处理。
MySQL概述
MySQL是最流行的关系型数据库之一,由于其体积小、速度快、成本低,尤其是开放源码这一特点,一般中小型和大型网站的开发都选择 MySQL 作为网站数据库。
MySQL数据库的逻辑结构可分为三层,分别是客户端,Server层,存储引擎。第一层为客户端,它主要负责连接处理,授权认证,安全保障;第二层是Server层,它涵盖了MySQL大多数核心服务功能,包括查询解析、分析、优化、缓存和所有内置函数(例如:日期、时间、数学和加密函数);server层的基本组件有连接器、查询缓存、分析器、优化器、执行器;连接器主要负责和客户端建立连接,获取权限,维持和管理连接;在执行sql语句时,首先会查询缓存来校验sql是否执行过,如果执行过,则返回缓存,如果没有执行过则继续后面的操作;分析器用来查看sql语句的操作和sql语句是否正确;优化器负责对查询进行优化,优化的操作包括:表里面具有多个索引时决定使用哪个索引,一个语句有多表关联时,决定各个表的连接顺序;执行器负责查看该用户是否有权限,然后执行去调用引擎的接口,然后返回结果;存储引擎层负责对数据的存储和提取。