mySQL (关系型数据库管理系统)基础知识

编程入门 行业动态 更新时间:2024-10-09 23:16:06

mySQL (关系型数据库管理系统)<a href=https://www.elefans.com/category/jswz/34/1769428.html style=基础知识"/>

mySQL (关系型数据库管理系统)基础知识

1.什么是数据库?

数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作
所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合

2.什么是数据库管理系统?

数据库管理系统(英语:Database Management System,简称DBMS)是为管理数据库而设计的电脑软件系统

一般具有存储、截取、安全保障、备份等基础功能。
数据库管理系统可以依据它所支持的数据库模型来作分类,例如关系式、XML;
或依据所支持的计算机类型来作分类,例如服务器群集、移动电话;
或依据所用查询语言来作分类,例如SQL、XQuery;
或依据性能冲量重点来作分类,例如最大规模、最高运行速度;
亦或其他的分类方式。不论使用哪种分类方式,一些DBMS能够跨类别,例如,同时支持多种查询语言。

3.数据库的分类

(1)关系数据库

MySQL
MariaDB(MySQL的代替品,英文维基百科从MySQL转向MariaDB)
Percona Server(MySQL的代替品·)
PostgreSQL
Microsoft Access
Microsoft SQL Server
Google Fusion Tables
FileMaker
Oracle数据库
Sybase
dBASE
Clipper
FoxPro
foshub

几乎所有的数据库管理系统都配备了一个开放式数据库连接(ODBC)驱动程序,令各个数据库之间得以互相集成。

(2)非关系型数据库(NoSQL)

BigTable(Google)
Cassandra
MongoDB
CouchDB
键值(key-value)数据库
Apache Cassandra(为Facebook所使用):高度可扩展
Dynamo
LevelDB(Google)

4.数据库模型

    对象模型层次模型(轻量级数据访问协议)网状模型(大型数据储存)关系模型面向对象模型半结构化模型平面模型(表格模型,一般在形式上是一个二维数组。如表格模型数据Excel)

5.数据库架构

数据库的架构可以大致区分为三个概括层次:内层、概念层和外层。

内层:最接近实际存储体,亦即有关数据的实际存储方式。
外层:最接近用户,即有关个别用户观看数据的方式。
概念层:介于两者之间的间接层。

6.数据库索引

数据索引的观念由来已久,像是一本书前面几页都有目录,目录也算是索引的一种,只是它的分类较广,例如车牌、身份证字号、条码等,都是一个索引的号码,当我们看到号码时,可以从号码中看出其中的端倪,若是要找的人、车或物品,也只要提供相关的号码,即可迅速查到正确的人事物。

另外,索引跟字段有着相应的关系,索引即是由字段而来,其中字段有所谓的关键字段(Key Field),该字段具有唯一性,即其值不可重复,且不可为"空值(null)"。例如:在合并数据时,索引便是扮演欲附加字段数据之指向性用途的角色。故此索引为不可重复性且不可为空。
数据库操作:事务

7.数据库事务

事务(transaction)是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。
事务的ACID特性:

原子性(atomicity)
一致性(consistency)
隔离性(isolation)
持续性(durability)

事务的并发性是指多个事务的并行操作轮流交叉运行,事务的并发可能会访问和存储不正确的数据,破坏交易的隔离性和数据库的一致性。
网状数据模型的数据结构 网状模型 满足下面两个条件的基本层次联系的集合为网状模型。
允许一个以上的结点无双亲;一个结点可以有多于一个的双亲

8.什么是mysql?

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品 MySQL
是最流行的关系型数据库管理系统之一 在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database
Management System,关系数据库管理系统) 应用软件之一 MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中
而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性 MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言
MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点
一般中小型网站的开发都选择 MySQL 作为网站数据库 由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境

9.常见的关系型数据库和非关系型数据及其区别

一、关系型数据库

关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织
优点:
1、易于维护:都是使用表结构,格式一致;
2、使用方便:SQL语言通用,可用于复杂查询;
3、复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。
缺点:
1、读写性能比较差,尤其是海量数据的高效率读写;
2、固定的表结构,灵活度稍欠;
3、高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。

二、非关系型数据库

非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合,可以是文档或者键值对等。
优点:
1、格式灵活:存储数据的格式可以是key,value形式、文档形式、图片形式等等,文档形式、图片形式等等,使用灵活,应用场景广泛,而关系型数据库则只支持基础类型。
2、速度快:nosql可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘;
3、高扩展性;
4、成本低:nosql数据库部署简单,基本都是开源软件。

缺点:
1、不提供sql支持,学习和使用成本较高;
2、无事务处理;
3、数据结构相对复杂,复杂查询方面稍欠。

非关系型数据库的分类和比较:
1、文档型
2、key-value型
3、列式数据库
4、图形数据库

10.MySQL与Redis的区别与联系详解

  1. MySQL和Redis的数据库类型

MySQL是关系型数据库,主要用于存放持久化数据,将数据存储在硬盘中,读取速度较慢.

Redis是NOSQL,即非关系型数据库,也是缓存数据库,即将数据存储在缓存中,缓存的读取速度快,能够大大的提高运行效率,但是保存时间有限.

  1. MySQL的运行机制

MySQL作为持久化存储的关系型数据库,相对薄弱的地方在于每次请求访问数据库时,都存在着I/O操作,如果反复频繁的访问数据库.第一:会在反复链接数据库上花费大量时间,从而导致运行效率过慢;第二:反复的访问数据库也会导致数据库的负载过高,那么此时缓存的概念就衍生了出来.

  1. 缓存

缓存就是数据交换的缓冲区(cache)当浏览器执行请求时,首先会对在缓存中进行查找,如果存在就获取;否则就访问数据库.

缓存的好处就是读取速度快.

  1. Redis数据库

Redis数据库就是一款缓存数据库,用于存储使用频繁的数据,这样减少访问数据库的次数,提高运行效率.

5. Redis和MySQL的区别总结

5.1 类型上

从类型上来说,MySQL是关系型数据库,Redis是缓存数据库.

5.2 作用上

MySQL用于持久化的存储数据到硬盘,功能强大,但是速度较慢

Redis用于存储使用较为频繁的数据到缓存中,读取速度快.

5.3 需求上

MySQL和Redis因为需求的不同,一般都是配合使用.

5.4 场景选型上

Redis和MySQL要根据具体业务场景去选型.

5.5 存放位置

数据存放位置MySQL:数据放在磁盘

Redis:数据放在内存

5.6 适合存放数据类型

Redis适合放一些频繁使用,比较热的数据,因为是放在内存中,读写速度都非常快,一般会应用在下面一些场景:排行榜、计数器、消息队列推送、好友关注、粉丝.

  1. 数据可不可以直接全部用Redis存储呢?

6.1 首先要知道MySQL存储在磁盘里,Redis存储在内存里,Redis既可以用来做持久存储,也可以做缓存,而目前大多数公司的存储都是MySQL + Redis,MySQL作为主存储,Redis作为辅助存储被用作缓存,加快访问读取的速度,提高性能.

6.2 Redis存储在内存中,如果存储在内存中,存储容量肯定要比磁盘少很多,那么要存储大量数据,只能花更多的钱去购买内存,造成在一些不需要高性能的地方是相对比较浪费的,所以目前基本都是MySQL(主) + Redis(辅),在需要性能的地方使用Redis,在不需要高性能的地方使用MySQL,好钢用在刀刃上.

6.3 MySQL支持sql查询,可以实现一些关联的查询以及统计.

6.4 Redis对内存要求比较高,在有限的条件下不能把所有数据都放在Redis.

6.5 MySQL偏向于存数据,Redis偏向于快速取数据,但Redis查询复杂的表关系时不如MySQL,所以可以把热门的数据放Redis,MySQL存基本数据.

更多推荐

mySQL (关系型数据库管理系统)基础知识

本文发布于:2024-02-07 07:25:52,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1754745.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:基础知识   关系   数据库管理系统   mySQL

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!