MySql学习笔记:什么是数据库?

数据库的概念:

         数据库(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操作。

联接到C++的一个示例

常用IDE推荐: 

  • DataGrip:JetBrains公司旗下的一款数据库GUI图形界面,集成了许多实用功能。试用期为30天(长期使用可以上某多淘一个^_^)

  • SQLyog:由 Webyog 公司开发。它提供了一个图形用户界面(GUI),使数据库开发人员和管理员能够轻松地管理 MySQL 和 MariaDB 数据库。

  • MySQL Workbench官方提供的免费工具,也提供了GUI图形化界面,支持对数据库的开发和管理等。

注:部分图片来自于网络,侵删。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值