数据库的概念:
数据库(Database),简而言之可视为数字化的文件柜,是一个长期储存在计算机内有组织的、统一管理的数据集合,用于存储和管理大量相关信息。
数据库是一个按数据的结构来存储和管理数据的计算机系统,也就是说,数据库通常有两方面含义:保管数据的“仓库”以及管理数据的技术与方法。其通常以电子形式存储在计算机系统中,允许用户通过特定的工具和语言(如 SQL)高效地进行数据的增删查改操作。一个数据库有多个表空间组成。
数据库的核心目标是以结构化的方式存储数据,以便能够方便、快速、安全地查询和管理这些数据。其功能可分为如下几点:
-
数据存储:数据库能够按一定的数据结构,有序的存储大量数据。
-
数据查询:数据库可以快速查询存储的数据,满足不同的业务需求。
-
数据操作:可以方便地对数据进行增删改等操作。
-
数据共享:多个用户可以并发访问数据库。
-
数据安全:通过权限控制,保证数据的机密和安全。
-
数据备份与恢复:确保在系统故障时,数据不丢失。
数据库的分类:
关系型数据库(Relational Database)
关系型数据库是基于关系模型的数据管理系统,其可通过被广泛使用的ODBC(开放数据互连)标准接口,在不同的操作系统与数据库系统之间进行数据访问。关系型数据库,数据通过表的形式存储。
每张表由行和列组成,行代表具体的记录,列代表属性。表之间可以通过外键建立关系,支持数据的复杂联接和查询。 关系型数据库的特点如下:
-
数据具有行和列的结构,是以二维表的方式进行存储的(类似于Excel)。
-
表之间可以通过外键建立关系,实现复杂的查询和联接。
-
数据一致性和完整性高,适用于结构化数据。
-
支持事务和并发控制。
常见的关系型数据库有
SQL Server(微软结构化查询语言服务器,是由美国微软公司所推出的关系数据库解决方案,广泛使用的开源数据库,常用于Web应用开发 )。
Oracle(甲骨文公司的一款关系式数据库管理系统,高性能、稳定性强的商业数据库,适合大规模企业级应用。 )
以及我们所学的MySql也是关系型数据库的一个典例。
非关系型数据库(NoSQL Database)
非关系型数据库又被称为 NoSQL(Not Only SQL)。与传统的关系型数据库相对,NoSQL 数据库用于处理非结构化或半结构化数据。该数据库不采用表结构来存储数据,而是采用更为灵活的数据模型,例如键值对、文档、图形等形式来对数据进行存储。
非关系型数据库中,数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定。
{
"user:1001": {
"name": "Alice",
"age": 30,
"city": "Beijing"
},
"user:1002": {
"name": "Bob",
"age": 25,
"city": "Shanghai"
},
"user:1003": {
"name": "Charlie",
"age": 35,
"city": "Guangzhou"
}
}
(以上是一个KV键值存储的数据实例:在这个例子中,我们有三个用户的数据,每个用户的数据都以键值对的形式存储。键是用户的ID(如user:1001
),值是一个包含用户信息的对象。)
总的来说,非关系型数据库有以下特征:
-
数据模型灵活,不限制数据结构,可以存储键值对、文档、列族等类型的数据。
-
高扩展性,适合大数据量的分布式存储。
-
高并发性能,适合大规模的实时数据处理。
-
弱化了事务支持,但可以通过其他机制保证数据一致性。
非关系型数据库的一种典型应用是:KV(Key-Value)键值存储,其常见的数据库包括
- Redis(Remote Dictionary Server):是一个使用ANSI C编写的支持网络、基于内存、分布式、可选持久性的键值对存储数据库,也是一个典型的NoSQL数据库。
- MongoDB:一种面向文档的数据库管理系统,用C++等语言撰写而成,介于关系型数据库和非关系型数据库之间。其特点是采用文档存储模式,使用 BSON(类似 JSON 的二进制格式)存储数据,允许嵌套文档和数组。
数据库的分类可以基于多种标准,包括数据模型、存储方式、访问方式、应用领域、分布模式和数据组织方式等。还有更多的分类方式,此处不进行展开。
深入了解MySQL:
正如上述所言,MySQL是一个开源的基于关系模型的一个关系型数据库管理系统(RDBMS)
由于性能高、成本低、可靠性好,已经成为最流行的开源数据库,有大量的社区支持和丰富的文档资源。 被广泛应用于各种应用场景,尤其是互联网应用和网站开发。
MySQL 的应用场景
-
Web 应用:MySQL 常与 PHP、JavaScript 等结合,成为 LAMP(Linux、Apache、MySQL、PHP/Python)开发栈中的关键部分。
-
电子商务平台:MySQL 被广泛应用于需要处理大量交易的电子商务平台中,如商品信息存储、订单处理等。
-
内容管理系统(CMS):如 WordPress、Joomla 等 CMS 系统依赖 MySQL 来管理博客、文章和用户数据。
MySQL 基于 SQL(Structured Query Language,结构化查询语言)进行数据操作。
其优点是SQL语言的语法简单凝练,易于学习和理解,且十分灵活,可以灵活组合进行复杂的CRUD(Create,Read,Update and Delete)操作。
同时,MySQL也对多种主流语言提供了API支持,这些语言包括但不限于时下主流语言:
- C/C++
- Java
- PHP
- Python
- Ruby
- C#
通过由官方提供的API接口,用户可以在此类语言的程序中链接到我们的数据库,对其进行CRUD操作。
常用IDE推荐:
- DataGrip:JetBrains公司旗下的一款数据库GUI图形界面,集成了许多实用功能。试用期为30天(长期使用可以上某多淘一个^_^)
- SQLyog:由 Webyog 公司开发。它提供了一个图形用户界面(GUI),使数据库开发人员和管理员能够轻松地管理 MySQL 和 MariaDB 数据库。
-
MySQL Workbench:官方提供的免费工具,也提供了GUI图形化界面,支持对数据库的开发和管理等。
注:部分图片来自于网络,侵删。
标签:关系,存储,数据库,MySql,笔记,键值,MySQL,数据 From: https://blog.csdn.net/R6bandito/article/details/142643904