数据库概述
1. 什么是数据库
Section titled “1. 什么是数据库”数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。
2. 数据库类型
Section titled “2. 数据库类型”2.1. 关系型数据库
Section titled “2.1. 关系型数据库”关系型数据库基于关系模型创建,以 二维表 形式组织数据,并建立 一对一、一对多、多对多 等关系。
它适用于存储关联数据,例如:
- 一对多:一本书对应多个作者
- 多对多:一个老师对应多个学生
- 一对一:一本书对应一个出版日期
关系模型由 数据结构(二维表)、操作指令(SQL 语句)、完整性约束(数据与表间约束) 组成。
2.2. 非关系型数据库(NoSQL)
Section titled “2.2. 非关系型数据库(NoSQL)”NoSQL(非关系型数据库)用于应对大规模数据存储和高并发需求,特别适用于 Web 2.0 纯动态网站和大数据应用。
NoSQL 通常解释为 “Non-Relational”,也有人将其理解为 “Not Only SQL”。它不同于关系型数据库,不保证 ACID 特性,强调灵活性和扩展性,采用键值、文档、列族、图数据库等多种存储方式。
NoSQL 的主要优势包括易扩展、读写性能高、适应大数据量需求和数据结构灵活。它并非取代关系型数据库,而是为特定场景提供更优的解决方案。
3. 数据库管理系统
Section titled “3. 数据库管理系统”数据库管理系统(DBMS)是一种用于管理数据库的计算机软件,具备存储、查询、安全保障和备份等功能。
DBMS 是数据库系统的核心,负责数据库的创建、查询、添加、修改、删除以及用户和权限管理。
常见的数据库管理系统包括 MySQL、Oracle、DB2、MS SQL Server、SQLite、PostgreSQL 和 Sybase。
4. 什么是SQL
Section titled “4. 什么是SQL”结构化查询语言(SQL)是一种用于查询、存取、更新和管理关系型数据库的编程语言。
SQL 是高级的非过程化语言,允许用户在高层数据结构上操作,而无需了解数据的具体存储方式。不同数据库系统即使底层结构不同,也可以使用相同的 SQL 作为数据管理接口。SQL 语句支持嵌套,具有灵活性和强大的功能。
5. SQL的分类
Section titled “5. SQL的分类”-
DQL(数据查询语言)
负责查询数据,不修改数据本身,主要使用
SELECT语句,并常与FROM、WHERE、GROUP BY、HAVING、ORDER BY等子句配合使用。 -
DDL(数据定义语言)
负责定义数据库结构和对象,包括
CREATE(创建)、ALTER(修改)、DROP(删除)等语句。 -
DML(数据操纵语言)
负责对数据进行操作,核心语句包括
INSERT(插入)、UPDATE(更新)、DELETE(删除)。 -
DCL(数据控制语言)
用于管理用户权限,包括
GRANT(授权)和REVOKE(撤销权限)。 -
TPL(数据事务管理语言)
用于事务管理,确保 DML 语句的影响能正确提交或回滚,主要包括
BEGIN TRANSACTION、COMMIT、ROLLBACK语句。 -
CCL(指针控制语言)
主要用于操作数据指针,对单行数据进行精细控制,常用语句包括
DECLARE CURSOR(声明游标)、FETCH INTO(获取数据)、UPDATE WHERE CURRENT(更新当前数据)。
6. DBMS、SQL 和 DB 之间的关系
Section titled “6. DBMS、SQL 和 DB 之间的关系”- DB(数据库):存储数据的集合。
- DBMS(数据库管理系统):管理数据库的系统软件,负责数据的存储、查询和维护。
- SQL(结构化查询语言):用于与 DBMS 交互,执行查询、插入、更新、删除等操作。
关系: DBMS 通过执行 SQL 语句来操作数据库(DB)中的数据。