22.2 Понятия хранилища документов
В этом разделе объясняются понятия, введённые в рамках использования MySQL в качестве хранилища документов.
JSON-документ
JSON-документ — это структура данных, состоящая из пар ключ-значение, и является основной структурой для использования MySQL в качестве хранилища документов. Например, схема world_x (установленная позже в этой главе) содержит этот документ:
{
"GNP": 4834,
"_id": "00005de917d80000000000000023",
"Code": "BWA",
"Name": "Botswana",
"IndepYear": 1966,
"geography": {
"Region": "Southern Africa",
"Continent": "Africa",
"SurfaceArea": 581730
},
"government": {
"HeadOfState": "Festus G. Mogae",
"GovernmentForm": "Republic"
},
"demographics": {
"Population": 1622000,
"LifeExpectancy": 39.29999923706055
}
}
Этот документ показывает, что значения ключей могут быть простыми типами данных, такими как целые числа или строки, но также могут содержать другие документы, массивы и списки документов. Например, значение ключа geography состоит из нескольких пар ключ-значение. JSON-документ представлен внутри с помощью двоичного объекта JSON MySQL, через тип данных MySQL JSON.
Самые важные отличия между документом и таблицами, известными из традиционных реляционных баз данных, заключаются в том, что структура документа не должна быть определена заранее, и коллекция может содержать несколько документов с различными структурами. Реляционные таблицы, с другой стороны, требуют, чтобы их структура была определена, и все строки в таблице должны содержать одни и те же столбцы.
Коллекция
Коллекция — это контейнер, используемый для хранения JSON-документов в базе данных MySQL. Приложения обычно выполняют операции над коллекцией документов, например, для поиска конкретного документа.
Операции CRUD
Четыре основные операции, которые могут быть выполнены над коллекцией, — это создание, чтение, обновление и удаление (CRUD). В терминах MySQL это означает:
Создание нового документа (вставка или добавление)
Чтение одного или нескольких документов (запросы)
Обновление одного или нескольких документов
Удаление одного или нескольких документов
© 2025 Oracle
Licensed under the GPLv2 License.