文章目录
- 数据库、数据库管理系统以及SQL之间的关系
- 关系型数据库与非关系型数据库
- 手册语法约定
数据库、数据库管理系统以及SQL之间的关系
| 名称 | 说明 | 
|---|---|
| 数据库(Database) | 即存储数据的仓库,其本质是一个文件系统。它保存了一系列有组织的数据。 | 
| 数据库管理系统(Database Management System) | 是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制。用户通过数据库管理系统访问数据库中表内的数据。 | 
| 结构化查询语言(Structured Query Language) | 专门用来与数据库通信的语言。 | 
数据库管理系统可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。为保存应用中实体的数据,一般会在数据库创建多个表,以保存程序中实体用户的数据。数据库管理系统、数据库和表的关系如图所示:

关系型数据库与非关系型数据库
关系型数据库模型是把复杂的数据结构归结为简单的二元关系 (即二维表格式),它以行和列的形式存储数据,这一系列的行和列被称为表,一组表组成了一个库。表与表之间的数据记录存在关系。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。因此关系型数据库,就是建立在关系模型基础上的数据库。SQL 就是关系型数据库的查询语言。非关系型数据库,可看成关系型数据库的阉割版本,它基于键值对存储数据,不需要经过SQL层的解析。NoSQL 一词泛指非关系型数据库,常用的非关系型数据库如下:
| 类型 | 说明 | 代表 | 
|---|---|---|
| 键值型数据库 | 键值型数据库通过 Key-Value 键值的方式来存储数据,优点是查找速度快,缺点是无法像关系型数据库一样使用条件过滤。键值型数据库典型的使用场景是作为 内存缓存 | Redis | 
| 文档型数据库 | 文档型数据库可存放并获取文档,在数据库中文档作为处理信息的基本单位,一个文档就相当于一条记录。 | MongoDB | 
| 搜索引擎数据库 | 虽然关系型数据库采用了索引提升检索效率,但是针对全文索引效率却较低。搜索引擎数据库是应用在搜索引擎领域的数据存储形式,由于搜索引擎会爬取大量的数据,并以特定的格式进行存储,这样在检索的时候才能保证性能最优。 | Elasticsearch | 
| 图形数据库 | 图形数据库是一种存储图形关系的数据库。它利用了图这种数据结构存储了实体之间的关系。关系型数据用于存储明确关系的数据,但对于复杂关系的数据存储却有些力不从心。 | Neo4J | 
手册语法约定
方括号[]表示可选词或语句,例如,在下面的语句中,IF EXISTS是可选的:
DROP DTABLE [IF EXISTS] tab1_name
当一个语法元素由多个备选项组成时,这些备选项由竖条|分隔。当可以从一组选项中选择一个成员时,备选项列在方括号内:
TRIM([[BOTH | LEADING | TRAILING] [remstr] FROM] str)
当必须从一组选项中选择一个成员时,备选项在大括号{}中列出:
{DESCRIBE | DESC} tbl_name [col_name | wild]
省略号…表示省略语句的某一部分,通常是为了提供更复杂语法的更短版本。例如,SELECT…INTO OUTFILE是SELECT语句形式的简写。省略号还可以表示语句的前一个语法元素可以重复。在下面的示例中,可以给出多个reset_option值,每个值在第一个值之后以逗号开头:
RESET reset_option [,reset_option] ...