889 字
4 分钟
数据库概述
2022-03-12

什么是数据库#

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。

数据库类型#

关系型数据库#

关系型数据库基于关系模型创建,以 二维表 形式组织数据,并建立 一对一、一对多、多对多 等关系。

它适用于存储关联数据,例如:

  • 一对多:一本书对应多个作者
  • 多对多:一个老师对应多个学生
  • 一对一:一本书对应一个出版日期

关系模型由 数据结构(二维表)、操作指令(SQL 语句)、完整性约束(数据与表间约束) 组成。

非关系型数据库(NoSQL)#

NoSQL(非关系型数据库)用于应对大规模数据存储和高并发需求,特别适用于 Web 2.0 纯动态网站和大数据应用。

NoSQL 通常解释为 “Non-Relational”,也有人将其理解为 “Not Only SQL”。它不同于关系型数据库,不保证 ACID 特性,强调灵活性和扩展性,采用键值、文档、列族、图数据库等多种存储方式。

NoSQL 的主要优势包括易扩展、读写性能高、适应大数据量需求和数据结构灵活。它并非取代关系型数据库,而是为特定场景提供更优的解决方案。

数据库管理系统#

数据库管理系统(DBMS)是一种用于管理数据库的计算机软件,具备存储、查询、安全保障和备份等功能。

DBMS 是数据库系统的核心,负责数据库的创建、查询、添加、修改、删除以及用户和权限管理。

常见的数据库管理系统包括 MySQL、Oracle、DB2、MS SQL Server、SQLite、PostgreSQL 和 Sybase。

什么是SQL#

结构化查询语言(SQL)是一种用于查询、存取、更新和管理关系型数据库的编程语言。

SQL 是高级的非过程化语言,允许用户在高层数据结构上操作,而无需了解数据的具体存储方式。不同数据库系统即使底层结构不同,也可以使用相同的 SQL 作为数据管理接口。SQL 语句支持嵌套,具有灵活性和强大的功能。

SQL的分类#

  1. DQL(数据查询语言)

负责查询数据,不修改数据本身,主要使用 SELECT 语句,并常与 FROMWHEREGROUP BYHAVINGORDER BY 等子句配合使用。

  1. DDL(数据定义语言)

负责定义数据库结构和对象,包括 CREATE(创建)、ALTER(修改)、DROP(删除)等语句。

  1. DML(数据操纵语言)

负责对数据进行操作,核心语句包括 INSERT(插入)、UPDATE(更新)、DELETE(删除)。

  1. DCL(数据控制语言)

用于管理用户权限,包括 GRANT(授权)和 REVOKE(撤销权限)。

  1. TPL(数据事务管理语言)

用于事务管理,确保 DML 语句的影响能正确提交或回滚,主要包括 BEGIN TRANSACTIONCOMMITROLLBACK 语句。

  1. CCL(指针控制语言)

主要用于操作数据指针,对单行数据进行精细控制,常用语句包括 DECLARE CURSOR(声明游标)、FETCH INTO(获取数据)、UPDATE WHERE CURRENT(更新当前数据)。

DBMS、SQL 和 DB 之间的关系#

  • DB(数据库):存储数据的集合。
  • DBMS(数据库管理系统):管理数据库的系统软件,负责数据的存储、查询和维护。
  • SQL(结构化查询语言):用于与 DBMS 交互,执行查询、插入、更新、删除等操作。

关系: DBMS 通过执行 SQL 语句来操作数据库(DB)中的数据。

数据库概述
https://bitspark.netlify.app/posts/mysql/拾贰-mysql/
作者
CAMELLIA XIAOHUA
发布于
2022-03-12
许可协议
CC BY-NC-SA 4.0