基本概念
OLTP
OLTP(On-Line transaction processing)翻译为联机事物处理;主要对数据库增删改查。
OLTP 主要用来记录某类业务事件的发生;数据会以增删改查的方式在数据库中更新处理操作,要求实施性强,稳定性高,确保数据及时更新。
OLAP
OLTP(On-Line Analytical Procesing)翻译为联机分析处理;主要对数据库查询。
当数据积累到一定程度,我们需要对过去发生的事情做一个总结,就需要将过去一段时间产生的数据拿出来统计分析,获取我们需要的信息。
SQL
结构化查询语言(Structured Query Language)简称 SQL
,是一种特殊目的的编程语言,用来存取数据和查询、更新和管理关系数据库系统。SQL 是关系数据库系统的标准语言。
关系型数据库包括:MySQL, SQL Server, Oracle, Sybase, postgreSQL 和 MS Access 等;
SQL
包括:DQL,DML,DDL,DCL 和 TCL。
DQL
Data Query Languate
:数据查询语言;
- select :从一个或多个表中检索特定的记录。
DML
Data Manipulate Language
:数据操作语言;
- insert:插入记录;
- update:更新记录;
- delete:删除记录。
DDL
Data Define Language
:数据定义语言;
- create:创建一个新的表、表的视图、或在数据库中的对象;
- alter:修改现有的数据库对象,例如修改表的属性或者字段。
MySQL 体系结构
从图中可以看到 MySQL
的组成部分:
- 连接池组件
- 管理服务和工具组件
- SQL 接口组件
- 查询分析器组件
- 缓冲组件
- 插件式存储引擎
- 物理文件
连接者
不同语言的代码程序和数据库交互(SQL 交互)。
MySQL 内部连接池
管理缓冲用户连接、用户名、密码、权限校验、线程处理等需要缓存的需求。
查询解析器
将 SQL 对象交给解析器验证和解析,并生成语法树。
查询优化器
SQL 语言执行前使用查询优化器进行优化。
缓冲组件
数据库设计范式
为了建立冗余较小,结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则称为范式。范式是符合一种设计要求的总结。想要设计一个结构合理的关系型数据库,必须满足一定的范式。
范式一
确保每一列保持原子性,数据库表中所有字段都是不可分解的原子值;
例如某个表中有一个地址字段,如果需要经常访问地址字段中的城市属性,则需要将该字段拆为多个字段,省份、城市、详细地址等。
范式二
确保表中每列都和主键相关,而不能只与主键的某一部分相关;
范式三
确保每一列都和主键直接相关,而不是间接相关;减少冗余;
反范式
CRUD
执行过程
创建数据库
create database `firstdb` default character set utf8;
删除数据库
drop database `firstdb`;
选择数据库
use `firstdb`;
创建表
create table if not exists `animaltb` (
`id` int unsigned auto_increment comment '编号',
`type` varchar(10) not null comment '类别',
`height` decimal(8, 2) not null comment '身高',
primary key (`id`)
)engine = innoDB default charset = utf8 comment = '动物表';
删除表
drop table `animaltb`;
清空数据表
truncate table `animaltb`; -- 截断表 以页为单位(至少有两行数据),有自增索引的话,从初始值开始累加
delete table `animaltb`; -- 逐行删除,有自增索引的从之前的继续累加
增
insert into `animaltb` (`type`, `height`) values ('lion', 7.9);
删
delete from `animaltb` where id = 3;
改
update `animaltb` set `type` = 'lion' where id = 2;
update `animaltb` set `height` = `height` + 1 where id = 3;
查
select field1, field2, ...fieldn from table_name [where clause];
推荐课程:https://xxetb.xetslk.com/s/3oyV5o