MySQL基础-数据库介绍

本文介绍MySQL基础,包括什么是数据库,什么是关系型数据库,数据库和实例区别,数据库分类

参考文档:

  1. 英文文档
  2. 中文文档
  3. 什么是数据库?
  4. 链接
  5. 数据库分类

前言

在这里插入图片描述

什么是数据库?

数据库是结构化信息或数据的有序集合,一般以电子形式存储在计算机系统中。通常由数据库管理系统 (DBMS) 来控制。在现实中,数据、DBMS 及关联应用一起被称为数据库系统,通常简称为数据库。

为了提高数据处理和查询效率,当今最常见的数据库通常以行和列的形式将数据存储在一系列的表中,支持用户便捷地访问、管理、修改、更新、控制和组织数据。另外,大多数数据库都使用结构化查询语言 (SQL) 来编写和查询数据。

什么是数据库管理系统(DBMS)?

数据库通常离不开完备的数据库软件程序,也就是数据库管理系统 (DBMS)。DBMS 充当数据库与其用户或程序之间的接口,允许用户检索、更新和管理信息的组织和优化方式。此外,DBMS 还有助于监督和控制数据库,提供各种管理操作,例如性能监视、调优、备份和恢复。

常见的数据库软件或 DBMS 有 MySQL、Microsoft Access、Microsoft SQL Server、FileMaker Pro、Oracle Database 和 dBASE。

什么是关系型数据库管理系统(RDBMS)?

所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。

RDBMS 即关系数据库管理系统(Relational Database Management System)的特点:

  • 数据以表格的形式出现
  • 每行为各种记录名称
  • 每列为记录名称所对应的数据域
  • 许多的行和列组成一张表单
  • 若干的表单组成database

什么是MySQL数据库?

MySQL 是一种开源的基于 SQL 的关系数据库管理系统

  • 它专门针对 Web 应用进行设计和优化,可以在任何平台上运行。互联网的兴起带来许多新的和不同的需求,MySQL 开始成为 Web 开发人员以及基于 Web 的应用的首选平台。

  • 它可以处理数以百万计的查询和数以千计的事务,因此深受那些需要进行大量资金转账的电商企业的欢迎。随需应变的灵活性是 MySQL 的一项主要特点。

  • 由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。

  • MySQL 是开源的,目前隶属于 Oracle 旗下产品。

  • MySQL 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。

  • MySQL 使用标准的 SQL 数据语言形式。

  • MySQL 可以运行于多个系统上,并且支持多种语言。这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。

  • MySQL 对 PHP 有很好的支持,PHP 是很适合用于 Web 程序开发。

  • MySQL 支持大型数据库,支持 5000 万条记录的数据仓库,32 位系统表文件最大可支持 4GB,64 位系统支持最大的表文件为8TB。

  • MySQL 是可以定制的,采用了 GPL 协议,你可以修改源码来开发自己的 MySQL 系统。

数据库和实例区别

定义

数据库:物理操作系统文件或其他形式文件类型的集合。

实例:MySQL数据库由后台线程以及一个内存共享区组成。

区别

数据库是文件的集合,是依照某种数据模型组织起来并存放于二级存储器中的数据集合。

数据库实例是程序,是位于用户与操作系统之间的一层数据管理软件,用户对数据库数据的任何操作,包括数据库定义、数据查询、数据维护、数据库运行控制等都是在数据库实例下进行的,应用程序只能通过数据库实例才能和数据库打交道。

RDBMS 术语

  • 数据库: 数据库是一些关联表的集合。
  • 数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
  • : 一列(数据元素) 包含了相同类型的数据, 例如邮政编码的数据。
  • :一行(元组,或记录)是一组相关的数据,例如一条用户订阅的数据。
  • 冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。
  • 主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。
  • 外键:外键用于关联两个表。
  • 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
  • 索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
  • 参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。
  • 表头(header):每一列的名称;
  • 列(col):具有相同数据类型的数据的集合;
  • 行(row):每一行用来描述某条记录的具体信息;
  • 值(value):行的具体信息,每个值必须与该列的数据类型相同;
  • 键(key):键的值在当前列中具有唯一性。
    在这里插入图片描述
    在这里插入图片描述

数据库分类

数据库排名:https://db-engines.com/en/ranking
在这里插入图片描述

按照存储介质和数据库结构,可以将数据库分为两类:关系型数据库和非关系型数据库

  • 一般情况下,关系型数据库是将数据存放于磁盘中,非关系型数据库则存放于内存里;
  • 在数据访问性能上看非关系型数据库的效率更高;
  • 在数据安全性、持久性看,关系型数据库有明显优势;
  • 关系型数据库有利于数据的持久化保存与管理

关系数据库

MySQL、MariaDB(MySQL的代替品)、
Percona Server(MySQL的代替品·)、PostgreSQL、
Microsoft Access、Google Fusion Tables、SQLite、DB2、FileMaker、Oracle、SQL Server、INFORMIX、Sybase、dBASE、Clipper、FoxPro、foshub。

非关系数据库

Redis、MongoDB、Memcache、HBase、BigTable、Cassandra、CouchDB、Neo4J。

键值存储数据库

键值数据库就类似传统语言中使用的哈希表。可以通过key来添加、查询或者删除数据库,因为使用key主键访问,所以会获得很高的性能及扩展性。

典型产品:Memcached、Redis、MemcacheDB

列存储数据库

列式存储(column-based)是相对于传统关系型数据库的行式存储(Row-basedstorage)来说的。简单来说两者的区别就是对表中数据的存储形式的差异。

典型产品:HBase、Cassandra等。

面向文档数据库

  • 面向文档数据库会将数据以文档形式存储。
  • 每个文档都是自包含的数据单元,是一系列数据项的集合。
  • 每个数据项都有一个名词与对应值,值既可以是简单的数据类型,如字符串、数字和日期等;也可以是复杂的类型,如有序列表和关联对象。
  • 数据存储的最小单位是文档,同一个表中存储的文档属性可以是不同的,数据可以使用XML、JSON或JSONB等多种形式存储。

典型产品:MongoDB、CouchDB

图形数据库

图形数据库顾名思义,就是一种存储图形关系的数据库。图形数据库是NoSQL数据库的一种类型,它应用图形理论存储实体之间的关系信息。

典型产品:Neo4J、InforGrid

猜你喜欢

转载自blog.csdn.net/baidu_33256174/article/details/130610756
今日推荐