关系型数据库理论及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运算,根据结果存放在某个散列容器(桶)中;

时间: 2024-10-10 13:14:06

关系型数据库理论及MySQL微观结构的相关文章

第二十二天 IO模型理论、数据库基础、LAMP平台基础理论及MySQL安装部署

一.I/O模型理论 http或https都是基于tcp协议完成通讯.在tcp中使用socket通讯模型,在domain中界定socket是如何定义.                           domain有三种工作类型:                                        unix domain:每个socket地址是个文件路径                                        ipv4 domain:每个socket是ipv4:p

linux下关系型数据库解释及mysql基本命令详解

1.RDBMS:关系型数据库,如下功能: 数据库创建.删除.修改 创建表.删除表.修改表 索引的创建.删除 用户和权限创建.修改.删除 数据新增.删除.修改 查询 2.myslq属于关系型数据库,数据引擎命令如下:命令不区分大小写 DML:Data Manapulate Language: 数据操作语言 INSERT, REPLACE, UPDATE, DELETE DDL:Data Defination Lanuage: 数据定义语言 CREATE, ALTER, DROP DCL:Data

关系型数据库和非关系型数据库之间的那些区别(一)

说说关系型数据库和非关系型数据库之间的那些区别 第一弹 就拿现在最流行的两种数据库来说吧:mysql和mongodb(介于关系型和非关系型之间的一种产品,在这里面我们就当做非关系型数据库用来和mysql比较一下) 举个实际好理解的的例子:学生选课的系统(简化来说举出系统里面的两个:学生,课程) 首先说在mysql里面建立的模型是 学生表(student): S Sid name gender age address email college class 1 张三 女 19 a 111 外语 1

数据库大师成长日记:您最需要了解的NoSQL非关系型数据库

朋友们,我们平时使用的数据库,大多都是关系型数据库,包括MySQL.PostgreSQL.SQLServer等.关系型数据库的特点是数据的存储通过二维表格实现,将数据存储在相互独立的表格中. 近年来,随着互联网的飞速发展,数据的形态发生了很大改变,非关系型数据库NoSQL应运而生.越来越流行.NoSQL主要包括键值(Key-Value)存储数据库.列存储(Column-oriedted)数据库.面向文档(Document-Oriented)数据库.图形(Graph)数据库四种,下面介绍三款最常用

一,数据库基础,MySQL安装,配置文件,语法

今日总结: 一,数据库基础 ***** 二:mysql 的下载安装 ***** 三:修改密码 四 配置文件 *** 五:数据库基础语法 ****** 一,数据库基础: 1,数据库基础概念 1,之前储存到文件中 ,数据格式也是千差万别的 2,软件开发目录规范,规定了数据的存放位置,数据都是保存在本地的, 3,将保存数据的,存储到一个公共的地方 MySQL就是一个基于C/S 架构的应用软件,也是一个基于网络通信的socket套接字应用软件 服务端:socket 套接字通信 收发消息 SQL语句(是一

mysql基本认识【关系型数据库和nosql、mysql操作流程和体系,库操作,表操作,数据的操作,字符集的操作,以及php作为client操作数据库】对连接本身没有疑问

1.关系型数据库永久性保存数据的仓库php的变量只是php脚本执行期间,临时性保存变量的空间[使用内存空间临时保存] 关系型数据库:利用二者的关系来描述实体的信息.[利用二维表字段名和字段值来进行描述][关系型数据库根本不是可以使用外键将两个表构建成关联的意思,而是实现描述实体的二维表的形式] nosql:not only sql[sql表示操作关系型数据的语言]所以nosql指的就是非关系型数据库[典型的是键值对型的数据(redis.memcache)][nosql可以视情况添加信息,不需要对

mySQL (关系型数据库管理系统)

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件. MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性. MySQL所使用的 SQL 语言是用于访问

初识mySQL(关系型数据库)

一.数据库修改密码 ①先执行use mysql; ②再执行update  mysql.user  set  password=PASSWORD(要修改的密码) where  user='root' ; mysql用户名:root mysql密码:自己修改 mysql服务器地址:localhost 二. mySQL数据库(关系型数据库) 1.姓名(name):字符串:varchar:字符串长度:常见的为20位和50位:允许空值: 2.性别(sex):bit,一般用布尔型数据,常用代码1=男,0=女

关系型数据库基本概念及MySQL简述

数据库基本概念">关系型数据库基本概念 数据库: 对大量信息进行管理的高效解决方案. 按照数据结构来组织.存储和管理数据的库. 数据库系统(DBS,DATABASE SYSTEM): 数据库(DB,DATABASE) + 数据库管理系统(DBMS,DATABASE MANAGEMENT SYSTEM) 关系型数据库 建立在关系模型上的数据库系统. 关系模型: 将日常生活中的实体(学生)和实体的属性(学生的学号,姓名等)保存到数据库中时,应该如何处理该实体结构. 1.数据结构可以规定,同类数