Учебники

DocumentDB SQL — Обзор

DocumentDB — это новейшая платформа Microsoft NoSQL для базы данных документов, которая работает на Azure. В этом руководстве мы узнаем все о запросах документов с использованием специальной версии SQL, поддерживаемой DocumentDB.

NoSQL Document Database

DocumentDB является новейшей базой документов Microsoft NoSQL, однако, когда мы говорим о базе данных документов NoSQL, что именно мы подразумеваем под NoSQL, и базой данных документов?

  • SQL означает язык структурированных запросов, который является традиционным языком запросов для реляционных баз данных. SQL часто приравнивают к реляционным базам данных.

  • Действительно, более полезно думать о базе данных NoSQL как о нереляционной базе данных, поэтому NoSQL действительно означает нереляционную.

SQL означает язык структурированных запросов, который является традиционным языком запросов для реляционных баз данных. SQL часто приравнивают к реляционным базам данных.

Действительно, более полезно думать о базе данных NoSQL как о нереляционной базе данных, поэтому NoSQL действительно означает нереляционную.

Существуют различные типы баз данных NoSQL, которые включают хранилища значений ключей, такие как —

  • Azure Table Storage
  • Основанные на колонках магазины, такие как Кассандра
  • Графовые базы данных, такие как NEO4
  • Базы данных документов, такие как MongoDB и Azure DocumentDB

Почему синтаксис SQL?

Поначалу это может звучать странно, но в DocumentDB, которая является базой данных NoSQL, мы выполняем запросы с использованием SQL. Как упоминалось выше, это специальная версия SQL, основанная на семантике JSON и JavaScript.

  • SQL — это просто язык, но он также очень популярен, он богат и выразителен. Таким образом, определенно представляется хорошей идеей использовать некоторый диалект SQL, а не придумывать совершенно новый способ выражения запросов, который нам необходимо изучить, если вы хотите получить документы из своей базы данных.

  • SQL предназначен для реляционных баз данных, а DocumentDB является нереляционной базой документов. Команда DocumentDB фактически адаптировала синтаксис SQL для нереляционного мира баз данных документов, и это то, что подразумевается под внедрением SQL в JSON и JavaScript.

  • Язык по-прежнему читается как знакомый SQL, но все семантика основана на документах JSON без схемы, а не на реляционных таблицах. В DocumentDB мы будем работать с типами данных JavaScript, а не с типами данных SQL. Мы будем знакомы с SELECT, FROM, WHERE и т. Д., Но с типами JavaScript, которые ограничены числами и строками, объекты, массивы, логические и нулевые значения намного меньше, чем широкий диапазон типов данных SQL.

  • Точно так же выражения оцениваются как выражения JavaScript, а не как форма T-SQL. Например, в мире денормализованных данных мы имеем дело не со строками и столбцами, а с документами без схемы с иерархическими структурами, которые содержат вложенные массивы и объекты.

SQL — это просто язык, но он также очень популярен, он богат и выразителен. Таким образом, определенно представляется хорошей идеей использовать некоторый диалект SQL, а не придумывать совершенно новый способ выражения запросов, который нам необходимо изучить, если вы хотите получить документы из своей базы данных.

SQL предназначен для реляционных баз данных, а DocumentDB является нереляционной базой документов. Команда DocumentDB фактически адаптировала синтаксис SQL для нереляционного мира баз данных документов, и это то, что подразумевается под внедрением SQL в JSON и JavaScript.

Язык по-прежнему читается как знакомый SQL, но все семантика основана на документах JSON без схемы, а не на реляционных таблицах. В DocumentDB мы будем работать с типами данных JavaScript, а не с типами данных SQL. Мы будем знакомы с SELECT, FROM, WHERE и т. Д., Но с типами JavaScript, которые ограничены числами и строками, объекты, массивы, логические и нулевые значения намного меньше, чем широкий диапазон типов данных SQL.

Точно так же выражения оцениваются как выражения JavaScript, а не как форма T-SQL. Например, в мире денормализованных данных мы имеем дело не со строками и столбцами, а с документами без схемы с иерархическими структурами, которые содержат вложенные массивы и объекты.

Как работает SQL?

Команда DocumentDB ответила на этот вопрос несколькими инновационными способами. Немногие из них перечислены ниже:

Во-первых, предполагая, что вы не изменили поведение по умолчанию для автоматической индексации каждого свойства в документе, вы можете использовать пунктирную нотацию в своих запросах, чтобы найти путь к любому свойству, независимо от того, насколько глубоко оно вложено в документ.

Вы также можете выполнить соединение внутри документа, в котором вложенные элементы массива соединяются со своим родительским элементом в документе способом, очень похожим на способ, которым выполняется соединение между двумя таблицами в реляционном мире.

Ваши запросы могут возвращать документы из базы данных в том виде, в каком они есть, или вы можете проецировать любую произвольную фигуру JSON по своему усмотрению, основываясь на том количестве данных документа, которое вам нужно.

SQL в DocumentDB поддерживает многие из общих операторов, в том числе —

Арифметические и побитовые операции

И и ИЛИ логика

Равенство и диапазон сравнения

Конкатенация строк

Язык запросов также поддерживает множество встроенных функций.