MySQL基础(一)简介

MySQL官网

https://dev.mysql.com/doc/refman/8.0/en/

索引相关的

https://www.cs.usfca.edu/~galles/visualization/about.html

1.数据库概述

1.为什么要使用数据库

  • 持久化:把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用
    数据持久化意味着将内存中的数据保存到硬盘上加以固化,而持久化的实现过程大多通过各种关系数据库来完成
  • 持久化的主要作用是将内存中的数据存储在关系型数据中,当然也可以存储在磁盘文件,xml数据文件中

2.数据库与数据库管理系统

2.1数据库的相关概念

  • DB:数据库
    既存储数据的仓库,其本质是一个文件系统,他保存了一系列有组织的数据
  • DBMS:数据库管理系统
    是一种操纵和管理数据库的大型软件,用于建立,使用和维护数据库进行统一管理和控制,用户通过数据库管理系统访问数据库中表内的数据
  • SQL:结构化查询语言
    专门用来与数据库通信的语言

2.2数据库与数据库管理系统的关系

数据库管理系统可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库,为保存应用中实体的数据,一般会在数据库创建多个表,以保存程序中实体用户的数据

2.3常见的数据库管理系统排名(DBMS)

目前互联网上常见的数据库管理软件有Oracle,MySQL,MS SQL Server,DB2,PostgreSQL,Access,Sybase,Informix这几种,查看数据库最新排名:https://db-engines.com/en/ranking
对应的走势图:https://db-engines.com/en/ranking_trend

2.4常见的数据库介绍

DB2
IBM公司的数据库产品,收费的。常应用在银行系统中
PostgreSQL
稳定性极强,最符合SQL标准,开放源码,具备商业级DBMS质量,PG对数据量大的文本以及SQL处理较快
SQlite
嵌入式的小型数据库,应用在手机端,零配置,SQlite3不用安装,不用配置,不用启动,关闭或者配置数据库实例,当系统崩溃后不用做任何恢复操作,再下次使用数据库的时候自动恢复
informix
IBM公司出品,取自infomation和Unix的结合,他是一个被移植到Liunx上的商业数据库产品,仅运行于unix/liunx平台,命令行操作,性能较高,支持集群,适用于安全性要求极高的系统,尤其是银行,证券系统的应用

3.MySQL介绍

3.1概述

  • MySQL是开放源代码的关系型数据库管理系统
  • MySQL6.x版本之后分为社区版和商业版
  • MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了
    灵活性
  • MySQL是可以定制的,采用GPL协议,你可以修改源码来开发自己的MySQL系统
  • MySQL支持大型的数据库,可以处理拥有上千万条记录的大型数据库
  • MySQL使用标准的SQL数据语言形式
  • MySQL支持大型数据库,支持5000万条记录的数据仓库,32位系统表最大可支持4GB,64位系统支持最大的表文件为8TB
  • MySQL可以允许运行于多个系统,并且支持多种语言,包括C++,Python,Java,Perl,PHP,Puby

3.2常用MySQL版本

MySQL5.7和MySQL8.0

3.3关于MySQL8.0

MySQL从5.7版本直接跳跃发布了8.0版本,MySQL8版本在功能上做了显著的改进与增强,最突出的一点是多MySQL Optimizer优化器进行了改进,不仅在速度上得到了改善

4.RDBMS与非RDBMS

关系型数据库是DBMS的主流,其中最多的DBMS分别是Oracle,MySQL和SQL Server,这些都是关系型数据库(RDBMS)

4.1关系型数据库

4.1.1实质
  • 这种类型的数据库是最古老的数据库类型,关系型数据库模型是把复杂的数据归结为简单的二元关系(即二维表格形式)
  • 关系型数据库以行和列的形式存储数据,以便用户理解,这一系列的行和列被称为表,一组表组成了一个库(database)
4.1.2优势
  • 复杂查询
    可以用SQL语句方便的在一个表以及多个表之间做非常复杂的数据查询
  • 事务支持
    使得对于安全性能很高的数据访问要求得以实现

4.2非关系型数据库(非RDBMS)

4.2.1介绍

非关系型数据库,可看成传统关系型数据库的阉割版本,基于键值对存储数据,不需要经过SQL层的解析,性能非常高,同时,通过减少不常用的功能,进一步提高性能
目前基本大部分主流的非关系型数据库都是免费的

4.2.2有哪些非关系型数据库
  • 键值型数据库
    键值型数据库通过key-value键值的方式来存储数据,其中key和value可以是简单的对象,也可以是复杂的对象。key作为唯一的标识符,优点是查找速度快,在这方便明显优于关系型数据库,缺点是无法像关系型数据库一样使用条件过滤,比如WHERE,如果你不知道去哪里找数据,就要遍历所有的键,这就·会消耗大量的计算,键值型·数据库典型的使用场景是作为内存缓存。Redis是最流行的键值型数据库

  • 文档型数据库
    此类数据库可存放并获取文档,可以是XML,JSON格式,在数据库中文档作为处理信息的基本单位,一个文档就相当于一条记录,文档数据库所存放的文档,就相当于键值数据库所存放的值,MongoDB是最流行的文档型数据库,此外,还有CouchDB等

  • 搜索引擎数据库
    虽然关系型数据库采用了索引提升检索效率,但是针对全文索引效率却较低。搜索引擎数据库是应用在搜索引擎领域的数据存储形式,由于搜索引擎会爬取大量的数据,并以特定的格式进行存储,这样在检索的时候才能保证性能最优。核心原理是倒排索引
    典型产品,Solr,Elastcsearch,Splunk等

  • 列式数据库
    列式数据库是相对于行式存储的数据库,Oracle,MySQL,SQL Server等数据库都是采用的行式存储,而列式数据库是将数据按照列存储到数据库中,这样做的好处是可以大量降低系统的I/O,适合于分布式文件系统,不足在于功能相对有限。典型产品,HBase

  • 图形数据库
    如果用关系型数据库则非常复杂,用图形数据库将非常简单,典型产品:Neo4J,InfoGrid

5.关系型数据库设计规则

待更新。。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bruce-li__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值