mysql理论基础_MySQL 基础知识理论篇

1、数据保存在文件当中可能会出现的问题

①数据冗余:很多内容都是重复的,就像是/etc/passwd中最后一列/bin/bash

②不一致性:数据存储多份时,修改的话每一份都要手动修改,很麻烦

③数据访问困难:当保存数据的文本过大时,载入内存再访问很困难

④数据孤立:数据分散在不同文件中,每个数据保存时没有统一规范,检索很困难

⑤完整性问题:以银行转账的问题,要保证转账前跟转账后的结果是一致的

⑥原子性问题:同银行转账问题,数据必须以一种稳定状态转换为另一种稳定状态

⑦并发访问异常:多个人访问同一个数据文件

⑧安全性问题:例如文件查看与访问授权等等

2、关系模型(结构化数据模型)

①关系模型

②实体-关系模型(E-R模型)

③对象关系模型:基于对象的数据模型

④半结构化数据模型:XML(扩展标记语言)

3、关系:关系代数运算

①交集:A 交 B

②并集:A 并 B

③差集:属于A不属于B;属于B不属于A

④全集:总的集合

⑤补集:全集 - A

4、SQL(Structure Query Language)语言基本分类DML(Data Manipulation Language):数据操纵语言例如:INSERT DELETE SELECT UPDATE

DCL(Data Control Language):数据控制语言例如:GRANT REVOKE

DDL(Data Definition Language):数据定义语言例如:CREATE ALTER DROP

5、约束类型域约束:数据类型约束

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

主键约束:某字段或某些字段组合能唯一标识此字段所属的实体,并且不允许为空;所有能唯一标识

的都叫候选键,选定之后就成了主键

唯一键约束:每一行的某字段都不允许出现相同指,可以为空;一张表只能有一个主键,但可以有多个唯一键

检查性约束:对域约束进一步的检查,避免发生现实逻辑错误

6、关系型数据库视角及文件系统视角关系型数据库视角                        文件系统视角

表示层:表                              表示层:文件

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

物理层:数据文件                        物理层:磁盘块

7、关系型数据库管理系统具备的两个核心组件

①存储管理器权限及完整性管理器

事务管理器

文件管理器

缓冲区管理器

②查询管理器DML解释器

DDL解释器

查询执行引擎

8、mysql是使用一个独立线程响应一个请求的,避免权限交叉及安全问题单进程多线程模型线程重用提高效率

SMP(Symmetric Multi-Processing)对称多处理 能力较弱,一个单独的查询语句只能在一颗CPU上执行

9、关系运算投影:只输出指定字段或属性

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

自然连接:具有相同名字的属性上所有取值相同的行

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

并:集合运算

10、MySQL微观组织结构各组件的功能连接管理器:用于侦听来自客户端的连接,然后将请求派发给线程管理器

线程管理器:跟踪用户线程,确保每一个用户都能分配到线程,并且在用户退出后要么能实现线程重用,要么销毁此进程

用户模块:验证用户身份,判断用户是否有访问服务器权限

命令分发器:用户具有访问服务器权限之后,用户所发起的请求依据其类型将其转交给特定的模块

缓存模块:高速缓存模块,如果用户的请求是查询请求,缓存中有就直接返回

日志模块:负责记录用户操作的各种日志

解析器:解析查询并生成解析树,然后将生产的解析树交给特定的模块

优化器:负责创建响应请求时候的最佳查询策略,服务器的性能一定的程度上取决于优化器

表定义模块:DDL或DML之类的操作交由表定义模块,如表创建、删除、重命名、移除、更新或插入之类的操作

表维护模块:检查、修改、备份、恢复、优化(碎片整理)及解析

复制模块:例如把主MySQl服务器上的数据同步至从MySQL服务器上就需要用到复制模块

状态报告模块:存储当前MySQL服务器每一个执行过程中的状态信息

访问控制模块:验证客户端用户是否有权限执行其请求的操作

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

存储引擎:真正与磁盘上数据交互的接口

11、文件中记录组织

①堆文件组织:一条记录可以放在文件中的任何地方

②顺序文件组织:根据"搜索码"指顺序存放

③散列文件组织:散列索引函数组织存放

12、表空间

将多个表的数据组织在一个数据文件当中的另外一个逻辑管理组件,有点类似于逻辑卷

13、数据字典

其实就是关系的元数据;例如关系的名字、字段名称、字段类型及长度、视图、约束关系、用户名称、授权、密码等等

安装MySQL后会进行初始化,生产一个mysql名称的库,这个其实就是MySQL的数据字典

原文:http://soysauce93.blog.51cto.com/7589461/1726867

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值