码迷,mamicode.com
首页 > 数据库 > 详细

mysql的基本知识

时间:2015-08-06 23:59:10      阅读:297      评论:0      收藏:0      [点我收藏+]

标签:

  数据库逻辑结构发展史:层次型、网状型、关系型(RDBMS关系型数据库管理系统)。我们常用的mysql就是关系型,它的核心就是关系型表。为了对其数据访问、关系维护进行控制,还提供附加功能,如:数据安全用认证、授权实现;部分数据访问控制用索引实现;用户只看到他能看到的数据用视图实现。

  mysql的现在发展:mysql被oracle收购,现在基于mysql改进而来的有mariaDB,webscaledb。

  mysql是基于C/S架构,client是mysql,server为mysqld,client与server间的交互是由sql协议实现的。具体实现有两种:1、用开发的命令行,在命令行中直接写sql语句,进行增删改查。2、将sql协议封装成API,如JDBC驱动,用JDBC驱动进行连接。

  sql语句:DDL(create、drop、alert)、DML(insert、delete、update、select)、DCL(grant、revoke)。是用户与mysqld交互的接口。

  为了支持并发,提供了事务,即ACID,A 原子性 C一致性 I 隔离性 D 持久性。Inodb是支持事务的,MyIsam没有事务。事务的隔离级别,读未提交、读提交、可重读、可串行化。

  用户在命令行或者是用API接口输入sql语句,基于socket通信将sql语句送给mysqld,在mysqld中有sql解释器,之后就是进行用户操作了,因此在mysqld中还提供了文件管理器、缓存管理器、磁盘操作器、事务管理器、锁管理器、恢复管理器。

  事务日志:在机械硬盘上存在大量的随机IO,为了提高写性能,将数据先写入事务日志(连续IO),之后再写入硬盘。记录日志:简单的对操作的记录。

  数据写入过程:开启事务(事务管理器)——>写入内存(缓存管理器)——>写入事务日志(缓存管理器)——>提交事务(事务管理器)——>写入数据库硬盘空间(磁盘管理器)。若事务未提交则还可以回滚(恢复管理器)

  索引:为了方便查找提供索引,索引指向对应数据在磁盘上的位置,索引的存储格式以及查找算法对数据的读取至关重要。索引又分为一级索引、二级索引....

  数据查找过程:首先查找查询缓存,如果找到就直接返回,若查询缓存中没有就由分析器分析,再去索引空间将顶级索引读如内存,根据顶级索引一级级的查找到指定数据。

  mysqld内部结构:

技术分享

  第一范式:字段为基本的数据类型;第二范式:属性完全依赖主建;第三范式:非主属性不能同时出现在一个实体的多张表中。

  关系型数据库的约束:主健约束、外健约束、条件约束、非空约束。

  mysql的常用组件架构:

技术分享

  mysql开发工具,画红线为常用工具:

技术分享

  mysql安装目录:

技术分享

  

  

mysql的基本知识

标签:

原文地址:http://www.cnblogs.com/Jc-zhu/p/4709168.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!