Mysql数据库概述

数据库概述

1.为什么使用数据库

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

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

2.1 数据库的相关概念

在这里插入图片描述

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

数据库管理系统(DBMS)可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。为保存应用中实体的数据,一般会在数据库创建多个表,以保存程序中实体用户的数据。
数据库管理系统、数据库和表的关系如图所示:
在这里插入图片描述

3. MySQL介绍

3.1 概述
  • MySQL是一个 开放源代码的关系型数据库管理系统 ,由瑞典MySQL AB(创始人Michael Widenius)公司1995年开发,迅速成为开源数据库的 No.1。
  • 2008被 Sun 收购(10亿美金),2009年Sun被 Oracle 收购。 MariaDB 应运而生。(MySQL 的创造者担心 MySQL 有闭源的风险,因此创建了 MySQL 的分支项目 MariaDB)
  • MySQL6.x 版本之后分为 社区版 和 商业版 。
  • MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
  • MySQL是开源的,所以你不需要支付额外的费用。
  • MySQL是可以定制的,采用了 GPL(GNU General Public License) 协议,你可以修改源码来
    开发自己的MySQL系统。
  • MySQL支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
  • MySQL支持大型数据库,支持5000万条记录的数据仓库,32位系统表文件最大可支持 4GB ,64位系统支持最大的表文件为 8TB 。
  • MySQL使用 标准的SQL数据语言 形式。
  • MySQL可以允许运行于多个系统上,并且支持多种语言。这些编程语言包括C、C++、Python、Java、Perl、PHP和Ruby等。

4. RDBMS 与 非RDBMS

4.1 关系型数据库(RDBMS)
  • 这种类型的数据库是 最古老 的数据库类型,关系型数据库模型是把复杂的数据结构归结为简单的
    二元关系 (即二维表格形式)。
    在这里插入图片描述
  • 关系型数据库以 行(row) 和 列(column) 的形式存储数据,以便于用户理解
  • SQL 就是关系型数据库的查询语言
4.2 非关系型数据库(非RDBMS)
4.2.1 介绍

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

4.2.2 有哪些非关系型数据库

相比于 SQL,NoSQL 泛指非关系型数据库,包括了榜单上的键值型数据库、文档型数据库、搜索引擎和列存储等,除此以外还包括图形数据库。也只有用 NoSQL 一词才能将这些技术囊括进来。

键值型数据库

键值型数据库通过 Key-Value 键值的方式来存储数据,其中 Key 和 Value 可以是简单的对象,也可以是复杂的对象。Key 作为唯一的标识符,优点是查找速度快,在这方面明显优于关系型数据库,缺点是无法像关系型数据库一样使用条件过滤(比如 WHERE),如果你不知道去哪里找数据,就要遍历所有的键,这就会消耗大量的计算。

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

文档型数据库

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

搜索引擎数据库

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

典型产品:SolrElasticsearchSplunk 等。

列式数据库

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

典型产品:HBase

图形数据库

图形数据库顾名思义,就是一种存储图形关系的数据库。它利用了图这种数据结构存储了实体(对象)之间的关系。关系型数据用于存储明确关系的数据,但对于复杂关系的数据存储却有些力不从心。如社交网络中人物之间的关系,如果用关系型数据库则非常复杂,用图形数据库将非常简单

典型产品:Neo4JInfoGrid等。

5. 关系型数据库设计规则
  • 一个数据库中可以有多个表,每个表都有一个名字,用来标识自己。表名具有唯一性。
  • 表具有一些特性,这些特性定义了数据在表中如何存储,类似Java和Python中 “类”的设计。
5.1表、记录、字段
  • E-R(entity-relationship,实体-联系)模型中有三个主要概念是: 实体集 、 属性 、 联系集 。
  • 一个实体集(class)对应于数据库中的一个表(table),一个实体(instance)则对应于数据库表中的一行(row),也称为一条记录(record)。一个属性(attribute)对应于数据库表中的一列(column),也称为一个字段(field)。
5.2 表的关联关系
  • 表与表之间的数据记录有关系(relationship)。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。
  • 四种:一对一关联、一对多关联、多对多关联、自我引用 (具体后面讲解)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在线蛋糕店订购网站的MySQL数据库是一个用于存储和管理相关数据的关系型数据库管理系统。它提供了一个可靠的数据存储解决方案,用于支持网站的订单管理、用户信息、产品信息等。 MySQL数据库概述如下: 1. 数据表:MySQL数据库由多个数据表组成,每个数据表包含多个列和行。在蛋糕店订购网站中,可以创建数据表来存储订单信息、用户信息、产品信息等。 2. 列和数据类型:每个数据表由多个列组成,每个列定义了不同类型的数据。例如,订单表可以包含列如订单ID、顾客姓名、蛋糕种类、数量等。MySQL提供了各种数据类型,如整数、字符串、日期等。 3. 主键和索引:主键是用于唯一标识每个数据表中的记录的列。索引是用于提高查询性能的数据结构,可以加快数据检索速度。在蛋糕店订购网站中,可以使用主键和索引来优化订单查询和用户搜索等操作。 4. 查询语言:MySQL使用结构化查询语言(SQL)进行数据查询和操作。通过SQL语句,可以执行各种操作,如插入、更新、删除和查询数据。 5. 安全性:MySQL提供了安全性功能,如用户认证和权限管理。只有经过授权的用户才能访问数据库,并且可以根据需要限制用户对数据的操作权限。 6. 扩展性和可靠性:MySQL具有良好的扩展性和可靠性,可以处理大量的数据和并发访问。它支持主从复制和故障恢复机制,确保数据的可靠性和持久性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值