菜鸟学Linux 第071篇笔记 Mysql理论

简介:

菜鸟学Linux 第071篇笔记 Mysql理论



接下来课程

MySQL

SQL/MySQL 语句

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

用户和权限

监控

STATUS

索引类型:查询

VARIABLES

备份和恢复

复制功能(同步数据库)

集群



数据库历史

文件管理数据缺点

数据冗余和不一致性

数据访问困难

数据孤立

数据完整性问题

原子性问题

并发访问异常

安全性问题


文件

表示层

文件

逻辑层

文件系统 (将底层的数据块表示为文件的形式供最终用户查看,

   用户存储文件时文件系统将文件解构为二进制存到硬盘)

存储引擎

物理层

元数据

数据:数据块



由上原因,所以产生了DBMS

DBMS

层次模型

网状模型

关系模型

RDBMS





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

关系模型

实体*关系模型

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

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




关系:关系代数运算

交集

并集

差集

补集



SQL (Structure Query Language)

DML (Data Manipulation Language)

INSERT

DELETE

SELECT

UPDATE

DDL (Data Definition Language)

CREATE

DROP

ALTER

DCL (Data Control Language)

GRANT

REVOKE



RDB对象

库、表、索引、视图、用户、存储过程、存储函数、触发器、事件设库器


约束 constraint

域约束:数据类型的约束

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

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

  主键条目不可相同,一张表只可以有一个主键

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

  一张表可以有多个

检查性约束:



关系型数据

表示层:表

逻辑层:存储引擎,解构

物理层:数据文件


70年

System R: SQL

Ingres, Oracle, Sybase

ANSI: ansi-sql




如何进行数据存储和查询

存储管理器(功能)

权限及完整性管理器

事务管理器

文件管理器

缓冲区管理器

查询管理器

DML解释器

DDL解释器

查询执行引擎




数据不允许一个线程响应多个请求,一般为一个线程响应一个请求

单进程,多线程

守护线程

应用线程

Thread Reuse




关系运算

投影: 只输出指定字段

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

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

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

并: union 集合运算




SQL查询语句

sequel-->SQL

SQL-86

SQL-89

SQL-92

SQL-99

SQL-03

SQL-08



SQL语言的组成部分

DDL

DML

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

视图定义

事务控制

嵌入式SQL和动态SQL

DCL



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

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

动态SQL 程序设计语言使用函数(mysql_connect())

或者方法与RDBMS服务器建立连接,并进行交互;通过建立连接向SQL服务器发

送查询语句,并将结果保存至变量中而后进行处理  JDBC



MySQL 组成部分

连接管理器

连接管理器

线程管理器

解析器

缓存

优化器

插件式存储引擎

MySAM (不支持事务)

InnoDB (支持事务)




MySQL 命令执行过程


用户连接请求-->连接管理器-->线程管理器

用户模块

缓存模块<-- 命令分发器 -->日志模块

解析器

优化器 表定义模块 表维护模块 复制模块 状态报告模块

访问控制模块

表管理器

存储引擎


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

表结构定义文件

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

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




文件中记录组织:

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

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

散列文件组织: 




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

表空间: table space


数据字典: Data Dictionary

关系的元数据

关系的名字

字段名称

字段类型和长度

视图

约束


用户名字,授权,密码



缓冲区管理器

缓存置换策略

被钉住的块

本文转自Winthcloud博客51CTO博客,原文链接http://blog.51cto.com/winthcloud/1889480如需转载请自行联系原作者


Winthcloud


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
Java 关系型数据库 MySQL
在Linux平台上进行JDK、Tomcat、MySQL的安装并部署后端项目
现在,你可以通过访问http://Your_IP:Tomcat_Port/Your_Project访问你的项目了。如果一切顺利,你将看到那绚烂的胜利之光照耀在你的项目之上!
707 41
|
关系型数据库 MySQL 索引
MySQL多表练习笔记
链接可行,多表查询语法
262 0
|
开发框架 Java 关系型数据库
在Linux系统中安装JDK、Tomcat、MySQL以及部署J2EE后端接口
校验时,浏览器输入:http://[your_server_IP]:8080/myapp。如果你看到你的应用的欢迎页面,恭喜你,一切都已就绪。
963 17
|
Java 关系型数据库 MySQL
在Linux操作系统上设置JDK、Tomcat、MySQL以及J2EE后端接口的部署步骤
让我们总结一下,给你的Linux操作系统装备上最强的军队,需要先后装备好JDK的弓箭,布置好Tomcat的阵地,再把MySQL的物资原料准备好,最后部署好J2EE攻城车,那就准备好进军吧,你的Linux军团,无人可挡!
739 18
|
关系型数据库 MySQL Java
安装和配置JDK、Tomcat、MySQL环境,以及如何在Linux下更改后端端口。
遵循这些步骤,你可以顺利完成JDK、Tomcat、MySQL环境的安装和配置,并在Linux下更改后端端口。祝你顺利!
837 11
|
开发框架 关系型数据库 Java
Linux操作系统中JDK、Tomcat、MySQL的完整安装流程以及J2EE后端接口的部署
然后Tomcat会自动将其解压成一个名为ROOT的文件夹。重启Tomcat,让新“植物”适应新环境。访问http://localhost:8080/yourproject看到你的项目页面,说明“植物”种植成功。
478 10
|
运维 监控 中间件
Linux运维笔记 - 如何使用WGCLOUD监控交换机的流量
WGCLOUD是一款开源免费的通用主机监控工具,安装使用都非常简单,它可以监控主机、服务器的cpu、内存、磁盘、流量等数据,也可以监控数据库、中间件、网络设备
|
Linux Shell 数据安全/隐私保护
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
1138 1
二、Linux文本处理与文件操作核心命令
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
852 137