定义:
数据库:按照数据结构来组织、存储和管理数据的仓库;是一个长期存储在计算机内的、有组织的、共享的、统一管理的大量数据库的集合
OLTP(online transaction processing)(联机事务处理)---------学习的初级阶段
OLAP(On-line Analytical Processing)(联机分析处理)
oltp与olap的关系:
oltp是在数据库进行增添处理 ---------------------------后端开发
olap是在oltp提供的数据上进行分析处理 ---------------后台开发
数据库类型:
1、关系型数据库-----------------MySQL、SQL Server、Oracle.....
2、redis、mongo
3、elasticsearch
ps:对于服务器来说,一般是多个中间件混合处理
语言:
SQL(structured Query Language)(结构化查询语言)
DQL (Data Query Language)(数据查询语言)
DML(Data Manipulate Language)(数据操作语言)
DDL(Data Define languge)(数据定义语言)
TCL(Transaction Control Language)(事务控制语言)
数据库术语:
数据库:数据库是一些关联表的集合
数据表:表是数据的矩阵
列:一列包含相同类型的数据
行:或者称为记录是一组相关的数据
主键:主键是唯一的;一个数据表只能包含一个主键(指的是一个列或多列的组合:ID...)
外键:外键用来关联两个表,来保证参照完整性;MyISAM存储引擎本身本身并不支持外键,只起到注释作用;innidb完整支持外键;
复合键:或称组合键;将多个列作为一个索引键;
索引:用于快速访问数据表的数据;索引是对表中的一列或者多列的值进行排序的一种结构;
MySQL体系结构(完整陈述):
Connectors: 用来驱动MySQL的各种语言
Connection Pool: 每监听到有一个客户端连接起来,分配一个连接线程
(使用连接池的组件一般使用的阻塞的io--- 默认的最大连接数都是151,上限为:100000)
SQL interface:对他进行DML、DDL、存储程序的语法分析
Parser:对象权限验证
Optimizer(这一步是优化的重点):生成执行计划(执行路径、数据等)
Caches & Buffers:用来缓存磁盘来的数据、引擎等等
Enterprise management: 提供MySQL数据库的内部组件
SQL语句进入的走向图: