IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Day453.数据库概述 -mysql -> 正文阅读

[大数据]Day453.数据库概述 -mysql

数据库概述

一、为什么要使用数据库

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0NdVSHVb-1637247311289)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20211118222718563.png)]


二、数据库与数据库管理系统

1、相关概念

概念概述
DB:数据库(Database)即存储数据的“仓库”,其本质是一个文件系统。它保存了一系列有组织的数据。
DBMS:数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制。用户通过数据库管理系统访问数据库中表内的数据。
SQL:结构化查询语言(Structured Query Language)专门用来与数据库通信的语言。

2、数据库与数据库管理系统的关系

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

数据库管理系统、数据库和表的关系如图所示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Cce8xv6X-1637247311292)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20211118222905449.png)]

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

在这里插入图片描述

对应的走势图:(https://db-engines.com/en/ranking_trend)

在这里插入图片描述


4、常见的数据库介绍

  • Oracle
  • SQL Server
  • DB2
  • PostgreSQL
  • SyBase
  • SQLite
  • informix

三、MySQL介绍

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oElbwfUG-1637247311300)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20211118223049290.png)]

1、概述

  • 开放源代码的关系型数据库管理系统
  • 分为 社区版 和 商业版
  • MySQL是可以定制的,采用了 GPL(GNU General Public License) 协议,你可以修改源码来开发自己的MySQL系统。
  • MySQL支持大型数据库,支持5000万条记录的数据仓库,32位系统表文件最大可支持 4GB ,64位系统支持最大的表文件为 8TB 。
  • MySQL使用 标准的SQL数据语言 形式。

2、关于MySQL 8.0

MySQL从5.7版本直接跳跃发布了8.0版本,可见这是一个令人兴奋的里程碑版本。MySQL 8版本在功能上做了显著的改进与增强,开发者对MySQL的源代码进行了重构,最突出的一点是多MySQL Optimizer优化器进行了改进。

不仅在速度上得到了改善,还为用户带来了更好的性能和更棒的体验。


3、Why choose MySQL?

  1. 开放源代码,使用成本低。
  2. 性能卓越,服务稳定。
  3. 软件体积小,使用简单,并且易于维护。
  4. 历史悠久,社区用户非常活跃,遇到问题可以寻求帮助。
  5. 许多互联网公司在用,经过了时间的验证。

4、Oracle vs MySQL

  • Oracle
    • 更适合大型跨国企业的使用,因为他们对费用不敏感,但是对性能要求以及安全性有更高的要求。
  • MySQL
    • 由于其体积小、速度快、总体拥有成本低,可处理上千万条记录的大型数据库,尤其是开放源码这一特点,使得很多互联网公司、中小型网站选择了MySQL作为网站数据库(Facebook,Twitter,YouTube,阿里巴巴/蚂蚁金服,去哪儿,美团外卖,腾讯)。

四、RDBMS 与 非RDBMS

1、关系型数据库(RDBMS)

  • 这种类型的数据库是最古老 的数据库类型,关系型数据库模型是把复杂的数据结构归结为简单的二元关系(即二维表格形式)。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-30UtlUN9-1637247311302)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20211118223324620.png)]

  • 关系型数据库以 行(row)列(column)的形式存储数据,以便于用户理解。这一系列的行和列被称为 表(table),一组表组成了一个库(database)。

  • 表与表之间的数据记录有关系(relationship)。现实世界中的各种实体以及实体之间的各种联系均用关系模型 来表示。

  • 关系型数据库,就是建立在 关系模型 基础上的数据库。

  • SQL 就是关系型数据库的查询语言。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fG5RasQK-1637247311305)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20211118223405640.png)]

  • 优势
    • 复杂查询 可以用SQL语句方便的在一个表以及多个表之间做非常复杂的数据查询。
    • 事务支持 使得对于安全性能很高的数据访问要求得以实现。

2、非关系型数据库(非RDBMS)

  • 介绍

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

  • 有哪些非关系型数据库

    • 键值型数据库

      键值型数据库典型的使用场景是作为内存缓存Redis 是最流行的键值型数据库。

    • 文档型数据库

      此类数据库可存放并获取文档,可以是XML、JSON等格式。在数据库中文档作为处理信息的基本单位,一个文档就相当于一条记录。文档数据库所存放的文档,就相当于键值数据库所存放的“值”。

      MongoDB是最流行的文档型数据库。此外,还有CouchDB等。

    • 搜索引擎数据库

      搜索引擎数据库是应用在搜索引擎领域的数据存储形式,由于搜索引擎会爬取大量的数据,并以特定的格式进行存储,这样在检索的时候才能保证性能最优。核心原理是“倒排索引”。

      典型产品:Solr、Elasticsearch、Splunk 等。

    • 列式数据库

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

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cE3LiRDs-1637247311307)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20211118223722599.png)]

    • 图形数据库

      利用了图这种数据结构存储了实体(对象)之间的关系。图形数据库最典型的例子就是社交网络中人与人的关系,数据模型主要是以节点和边(关系)来实现,特点在于能高效地解决复杂的关系问题。


五、关系型数据库设计规则

1、表、记录、字段

  • E-R(entity-relationship,实体-联系)模型中有三个主要概念是: 实体集属性联系集
  • 一个实体集(class)对应于数据库中的一个表(table),一个实体(instance)则对应于数据库表中的一行(row),也称为一条记录(record)。一个属性(attribute)对应于数据库表中的一列(column),也称为一个字段(field)。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ABg2qJHx-1637247311310)(C:/Users/PePe/AppData/Roaming/Typora/typora-user-images/image-20211118223844179.png)]

ORM思想(Object Relational Mapping)体现:

数据库中的一个表 <—> Java或Python中的一个类

表中的一条数据 <—> 类中的一个对象(或实体)

表中的一个列 <----> 类中的一个字段、属性(field)


2、表的关联关系

  • 表与表之间的数据记录有关系(relationship)。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。
  • 四种:
    • 一对一关联
    • 一对多关联
    • 多对多关联
    • 自我引用

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-11-19 17:41:33  更:2021-11-19 17:42:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 6:47:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码