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

关系型数据库理论及MySQL微观结构

时间:2015-08-19 17:41:45      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:rdbms mysql

    关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成。

1.数据的组织结构:层次模型、网状模型、关系模型。

2.常见的关系模型有4种:关系模型、实体-关系模型、对象关系模型、半结构化数据模型(XML)。

3.约束分类:

    域约束:数据类型约束;

    外键约束:引用完整性约束;

    主键约束:某字段能唯一标识此字段所属的实体,并且不允许为空,一张表中只能有一个主键;

    惟一键约束:每一行某字段不允许出现相同值,可以为空一张表可以有多个惟一键;

    检查性约束:约束某字段不能出现违反常理的数值,MySQL对此支持有限;

4.数据库逻辑关系:

    表示层:表

    逻辑层:存储引擎

    物理层:数据文件

5.数据的存储和查询:

    存储管理器:权限及完整性管理器、事务管理器、文件管理器、缓冲区管理器;

    查询管理器:DML解释器、DDL解释器、查询执行引擎;

6.关系运算

    投影:只输出指定字段

    选择:只输出符合条件的行

    自然连接:两张表中具有相同名字的属性上所有取值相同的行连接输出

    笛卡尔乘积:(a+b)*(c+d)=ab+ad+bc+bd

    并:两样关系彼此之间都有的部分

7.使用程序设计语言如何跟RDBMS交互:
    嵌入式SQL:与动态SQL类似,但其语言必须程序编译时完全确定下来;
    动态SQL:程序设计语言使用函数(mysql_connect())或者方法与RDBMS服务器建立连接,并进行交互;通过建立连接向SQL服务器发送查询语句,并将结果保存至变量中而后进行处理;

8.MySQL微观结构

技术分享

连接管理器:监听并接受用户请求;

线程管理器:创建新线程或以线程重用方式给用户一个响应线程;

用户模块:检查用户连接权限;

解析器:解析查询并生成解析树;

访问控制模块:验证用户是否有权限操作其想操作的对象;

优化器:负责创建响应请求时的最佳查询策略;

表定义模块:表创建、删除、重命名、移除、更新或插入之类的操作;
表维护模块:检查、修改、备份、恢复、优化(碎片整理)及解析;

表管理器:负责创建、读取或修改表定义文件,维护表描述符高速缓存,管理表锁;

9.文件中记录组织:表中的每一行在文件中的存储方式
    堆文件组织:一条记录可以放在文件中的任何地方;
    顺序文件组织:根据“搜索码”值顺序存放;
    散列文件组织:对表的某个字段或某些字段做hash运算,根据结果存放在某个散列容器(桶)中;

关系型数据库理论及MySQL微观结构

标签:rdbms mysql

原文地址:http://wangyongbin.blog.51cto.com/8964308/1685833

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