关系数据库基础(以mysql为例)

一、基础知识

1、主要的数据库类型

层次型数据库

早期的数据库类型

网状数据库


关系型数据库


对象-关系型

图片存放路径,大段文本存放指针



2. sqllit

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

番外:

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




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

在表示层为:文件(表)

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

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

关系数据库基础(以mysql为例)

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

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

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

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

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

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


关系数据库基础(以mysql为例)

事务状态:  

提交

保证了数据持存储

未提交

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


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为例)

3. 组件架构

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

关系数据库基础(以mysql为例)

b) 查询时使用优化器

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

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

4. 目录结构

关系数据库基础(以mysql为例)

5. 安装  

rpm包

OS Vendor 操作系统提供

mysql-client mysql-server mysql-shared mysql-shared-compat

Mysql



通用二进制格式

一定要保证与os的版本相符合

源码编译安装

编译安装,灵活度高


关系数据库基础(以mysql为例),布布扣,bubuko.com

关系数据库基础(以mysql为例)

上一篇:oracle 登录


下一篇:SQLServer中的锁(摘自网络)