This section explains the concepts introduced as part of using MySQL as a document store.
本节解释了将MySQL用作文档存储时引入的概念。
JSON Document
A JSON document is a data structure composed of key-value pairs and is the fundamental structure for using MySQL as document store. For example, the world_x schema (installed later in this chapter) contains this document:
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
}
}
This document shows that the values of keys can be simple data types, such as integers or strings, but can also contain other documents, arrays, and lists of documents. For example, the geography
key's value consists of multiple key-value pairs. A JSON document is represented internally using the MySQL binary JSON object, through the JSON MySQL datatype.
本文档显示键的值可以是简单的数据类型,例如整数或字符串,但也可以包含其他文档、数组和文档列表。例如,地geography
的值由多个键值对组成。JSON文档在内部通过使用 JSON MySQL数据类型的MySQL二进制JSON对象表示。
The most important differences between a document and the tables known from traditional relational databases are that the structure of a document does not have to be defined in advance, and a collection can contain multiple documents with different structures. Relational tables on the other hand require that their structure be defined, and all rows in the table must contain the same columns.
文档和传统关系数据库中的表之间最重要的区别在于,文档的结构不必事先定义,一个集合可以包含多个具有不同结构的文档。但是,关系表要求定义其结构,表中的所有行必须包含相同的列。
Collection
A collection is a container that is used to store JSON documents in a MySQL database. Applications usually run operations against a collection of documents, for example to find a specific document.
集合是用于在MySQL数据库中存储JSON文档的容器。应用程序通常对文档集合进行操作,例如查找特定文档。
CRUD Operations
The four basic operations that can be issued against a collection are Create, Read, Update and Delete (CRUD). In terms of MySQL this means:
可以对集合执行的四个基本操作是创建、读取、更新和删除(CRUD)。就MySQL而言,这意味着:
-
Create a new document (insertion or addition)
-
创建一个文档(插入或新增)
-
Read one or more documents (queries)
-
查询一个或多个文档(查询)
-
Update one or more documents
-
更新一个或多个文档
-
Delete one or more documents
-
删除一个或多个文档