一、基础知识

1、主要的数据库类型层次型数据库早期的数据库类型

网状数据库

关系型数据库

对象-关系型图片存放路径,大段文本存放指针

2. sqllit

关系数据库接口,仅提供API。非c/s架构,也是关系型数据库。客户端与服务器端在一起,本地调用本地运行。表现为一个库番外:

DBM引擎 httpd上的存储用户帐号密码 htpasswd

3. 关系型数据库基本模型

在表示层为:文件(表)

在逻辑层为:文件系统:存储引擎

在物理层:元数据;数据块

mysql数据结构字典 mysql数据字典是什么的_mysql数据结构字典

上图并不完全适用mysql,是通用数据库管理系统的模型

a) 接口之上使用结构化查询语句:DDL、DML、DCL

b) 查询引擎à查询求解引擎,可以理解为“内核”“解空间”

c) 文件存取方法,需要将内存中数据存储至磁盘空间à数据流式化

d) 磁盘空间管理器确定怎样将数据存放至磁盘,以什么样的方式存放

e) 事务,支持ACID,多个语句同时执行/不执行。MyISAM 无事务,InnoDB支持事务(show engine 查看引擎)。

mysql数据结构字典 mysql数据字典是什么的_sql_02

事务状态:提交保证了数据持存储

未提交可以回滚,保证数据一致性

e) 事务和锁结合实现了并发控制

f) 大部分情况下读写磁盘为随机,使用事务日志,顺序存储

g) 事务日志,固定大小,在磁盘上是顺序I/O。定期将数据同步到磁盘,多个之间轮替,传输数据后清理数据。

h) 恢复管理器不需要用户参与管理

i) 索引会变得很大,才用分级,B-tree。数据和索引在同一个数据块上称为聚簇索引,不在一起成为非聚簇索引

4. RDBMS设计范式第一范式:字段的原子性

第二范式:主键

第三范式:非主属性不允许重复

具体解释见附件

5. 约束主键约束

外键约束 //不是所有的引擎都支持

唯一键约束

条件约束

非空约束

6. DBA管理工作

管理DBA连接管理及优化

备份及还原

数据库设计

基本语句优化

用户及权限管理

安全管理

数据库软件安装及升级数据库服务器架构设计,mysql不适合大量的并行

配置优化

数据字典

按需配置服务器服务器变量 状态变量 MyISAM InnoDB 缓存 日志

作为一个数据库管理员需要学习的主要知识SQL/MySQL

事务,隔离,并发控制,锁

用户和权限

监控

索引类型:查询优化查询

备份和恢复

复制功能

集群

开发DBA需要学习的内容数据库设计

SQL开发

内置函数

存储例程(存储过程和存储函数),过程没有返回值,函数有返回值

触发器

事件调度器(周期性维护计划,event scheduler)

二、Mysql

1. 特性speed完全多线程,查询缓存

reliablity可靠

scabability伸缩性

ease of use便捷使用

portability and standard compliance

multiuser support多用户支持

internationalization

插件式存储引擎:5.5.8:MyISAM 5.5.8后:InnoDB

2. 架构

缓存是根据语句的hash码来判断是否命中。

mysql数据结构字典 mysql数据字典是什么的_sql_03

3. 组件架构

a) 刚刚发起连接需要发起请求,建立连接后不需反复建立连接。这里主要是对用户进行验证

mysql数据结构字典 mysql数据字典是什么的_mysql_04

b) 查询时使用优化器

c) update等对数据修改使用表修改模块

d) 访问控制,主要是对权限进行验证

4. 目录结构

mysql数据结构字典 mysql数据字典是什么的_sql_05

5. 安装rpm包OS Vendor 操作系统提供mysql-client mysql-server mysql-shared mysql-shared-compat

Mysql

通用二进制格式一定要保证与os的版本相符合

源码编译安装编译安装,灵活度高