DocumentDB教程
DocumentDB SQL

SQL 概述

DocumentDB 是 Microsoft 在 Azure 上运行的最新 NoSQL 文档数据库平台。在本教程中,我们将学习有关使用 DocumentDB 支持的特殊版本 SQL 查询文档的所有信息。

NoSQL 文档数据库

DocumentDB 是微软最新的 NoSQL 文档数据库,但是,当我们说 NoSQL 文档数据库时,我们所说的 NoSQL 和文档数据库究竟是什么意思?
SQL 意为结构化查询语言,它是关系数据库的传统查询语言。 SQL 通常等同于关系数据库。 将 NoSQL 数据库视为非关系型数据库确实更有帮助,因此 NoSQL 真正意味着非关系型。
有不同类型的 NoSQL 数据库,其中包括键值存储,例如-
Azure 表存储 列式商店,例如 Cassandra 图形数据库,如 NEO4 文档数据库,例如 MongoDB 和 Azure DocumentDB

为什么是 SQL 语法?

这听起来可能很奇怪,但在 NoSQL 数据库 DocumentDB 中,我们使用 SQL 进行查询。如上所述,这是一个基于 JSON 和 JavaScript 语义的特殊 SQL 版本。
SQL 只是一种语言,但它也是一种非常流行的语言,内容丰富且富有表现力。因此,如果您想从数据库中获取文档,使用某种 SQL 方言而不是提出一种全新的查询表达方式似乎是个好主意。 SQL 是为关系数据库设计的,而 DocumentDB 是一个非关系文档数据库。 DocumentDB 团队实际上已经为文档数据库的非关系世界调整了 SQL 语法,这就是将 SQL 植根于 JSON 和 JavaScript 的含义。 该语言读起来仍然是熟悉的 SQL,但语义都是基于无模式 JSON 文档而不是关系表。在 DocumentDB 中,我们将使用 JavaScript 数据类型而不是 SQL 数据类型。我们将熟悉 SELECT、FROM、WHERE 等,但 JavaScript 类型仅限于数字和字符串,对象、数组、布尔值和 null 远少于范围广泛的 SQL 数据类型。 同样,表达式被计算为 JavaScript 表达式,而不是某种形式的 T-SQL。例如,在非规范化数据的世界中,我们处理的不是行和列,而是具有包含嵌套数组和对象的分层结构的无模式文档。

SQL 是如何工作的?

DocumentDB 团队以多种创新方式回答了这个问题。其中很少有人列出如下-
首先,假设您没有更改自动为文档中的每个属性编制索引的默认行为,您可以在查询中使用点分符号来导航到任何属性的路径,无论它在文档中嵌套多深。 您还可以执行文档内连接,其中嵌套数组元素与文档中的父元素连接,方式与关系世界中两个表之间的连接方式非常相似。 您的查询可以按原样从数据库中返回文档,或者您可以根据所需的尽可能多或尽可能少的文档数据来投影任何您想要的自定义 JSON 形状。 DocumentDB 中的 SQL 支持许多常见的运算符,包括- 算术和按位运算 AND 和 OR 逻辑 相等和范围比较 字符串连接 查询语言还支持大量内置函数。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4