mysql是对象关系型数据库嘛_关系型数据库之MYSQL(详细)

本文深入探讨了 MySQL 数据库的关键技术,包括 SQL 语句、事务处理、并发控制、索引类型、备份与恢复等核心概念。同时介绍了不同存储引擎的特点,如 MyISAM 和 InnoDB 的区别,并概述了数据库管理系统的演变历史。

MYSQL :

目录

SQL语句

事务,隔离,并发控制,锁

用户和权限

监控

STATUS

索引类型 :查询

VARIABLES

备份和恢复

复制功能

集群

60-70年代,数据使用文件存放

数据冗余和不一致性

数据访问困难

数据孤立

完整性问题

原子性问题

并发访问异常

安全性问题

DBMS

层次模型

网状模型

关系模型

RDBMS

关系模型 :(结构化数据模型)

关系模型

E-R:实体-关系模型

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

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

文件 :抽象结构

表示层

文件

逻辑层

文件系统 :存储引擎

物理层

元数据

数据:数据块

关系 :关系代数运算

交集

并集

差集

全集

补集

关系运算 :

投影

选择

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

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

并: 集合运算

SQL :Structure Query Language 第四代语言

IBM :70 推出的System R : SQL

RDB对象 :

库,表,索引,视图,用户,存储过程,存储函数,触发器,事件调试器

约束 :数据库可检查出逻辑错误

域约束

数据类型约束

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

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

惟一性约束 :每一行的某字段都不允许出现相同值,可以为空

一张表中可以有多个

检查性约束 :age:int

DML 数据操作语言

DDL 数据定义语言

DCL 数据控制语言

关系型数据

表示层 :表

逻辑层 :存储引擎,解构

物理层 :数据文件

数据存储和查询

存储管理器 : (基本组件)

权限及完整性管理器

事务管理器

文件管理器

缓冲区管理器

查询管理器 : (基本组件)

DML解释器

DDL解释器

查询执行引擎

几种角色交互

3dc09b03714e5989e8dc1622ec5e572d.png

C/S 架构用什么通信 协议

MYSQL

单进程

多线程

守护线程

应用线程

线程重用 优化性能

64 bit 系统

smp :对称多处理器

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

表结构定义文件

表修改模块 :表创建、删除、重命名、移除、更新或插入之类的操作;

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

行 :定长,变长

文件中记录组合 :

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

顺序文件组织:根据“搜索码”值顺序存放;

散列文件组织:

表结构定义文件,表数据文件

表空间 :table space

数据字典 :Data Dictionary

关系的元数据

关系的名字

字段名字

字段的类型和长度

视图

约束

用户名字,授权,密码

缓冲区管理器 :

缓存置换策略

被钉住的块

使用程序设计语言如何跟RDBMS交互 :

嵌入式SQL :与动态SQL类似,但其语言必须程序编译时完全确定下来;

ODBC C编程语言

动态SQL :程序设计语言使用函数(mysql_connect())或者方法与RDBMS服务器建立连接,并进行交互;通过建立连接向SQL服务器发送查询语句,并将结果保存至变量中而后进行处理;

JDBC java编程语言

用户连接mysql全过程

f0a77962ed88cdd6f004b516c2cb3f49.png

SQL标准

SQL-03

SQL-08

SQL语言的组成部分

DDL

DML

完整性定义语言 :DDL的一部分功能

视图定义

事务控制

嵌入式SQL和动态SQL;

授权 :DCL

MYSQL插件式存储引擎 :

5.5.8 :MylSAM 不支持事务处理

5.5.8 :InnoDB 高级功能

MYSQL发展历程 :

a924d9816ca3cb64aa62344f7b889bf5.png

MYSQL家族

e1d391038d2b9d4f878cc2524a7db793.png

MYSQL 开源组织

1e2b06499806b6bbbb574c918192af13.png

MariaDB

Percona

MYSQL安装 :

专用软件包管理器包

deb, rpm

rpm :

RHEL(Oracle linux),CentOS

SUSE

通用二进制格式包

gcc :x86 , x64

源代码 :

5.5 5.6

cmake 编译器

在linux下启动如何找配置文件

b4fdc53f101adcc8e8e1da02a470d8a3.png

MySQL安装会5个用户,3个root用户,2个匿名

5fe3f01303811266d5d78a6ef7d5c7ab.png

设置root密码

979e2a4ab90db0b4bb92bf72235fb946.png

字符集 :

GBK

GB2312

删除匿名用户

0357794290fe8f7fe63085d2f257592c.png

mysql 与 mysqld 通信方式

同一主机

不在同一主机

77d18173e352aeaed4fca905db29832b.png

MYSQL客户端工具 :

mysql

mysqldump

mysqladmin

mysqlcheck

mysqlimport

[client]

-u USERNAME

-h HOST

-p PASSWORD

--protocol {tcp | socket | }

MYSQL 非客户端工具

myisamchk

myisampack

MyISAM :

每表三个文件 :

.frm : 表结构

.MYD:表数据

.MYI: 表索引

InnoDB :

所有表共享一个表空间文件:

建议:每表一个独立的表空间文件:

.frm:表结构

.ibd:表空间(表数据结构)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值