Основные сведения о модели данных службы таблиц
Данная статья переведена автоматически. Наведите указатель мыши на предложения статьи, чтобы просмотреть исходный текст. Дополнительные сведения.
Перевод
Текст оригинала

Основные сведения о модели данных службы таблиц

 

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

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

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

https://myaccount.table.core.windows.net

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

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

Имена таблиц должны соответствовать следующим правилам:

  • Имена таблиц должны быть уникальными в пределах учетной записи.

  • Имена таблиц могут содержать только буквенно-цифровые символы.

  • Имена таблиц не могут начинаться с цифры.

  • В именах таблиц учитывается регистр символов.

  • Имена таблиц должны быть длиной от 3 до 63 символов.

  • Некоторые имена таблиц зарезервированы, в том числе «tables». Попытка создания таблицы с зарезервированным именем возвращает код ошибки 404 (Bad Request).

Эти правила также описываются регулярным выражением: «^[A-Za-z][A-Za-z0-9]{2,62}$».

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

Имена свойств — это строки, учитывающие регистр, длиной до 255 символов. Имена свойств должны следовать правилам именования для идентификаторов C#.

System_CAPS_noteПримечание

Некоторые идентификаторов C# не допускается в соответствии с спецификации XML. Эти идентификаторы нельзя использовать в именах свойства, потому что имена свойств передаются службе таблиц запросом в виде XML.

System_CAPS_importantВажно

Имена свойств передаются службе таблиц в URL-адресе. Некоторые символы необходимо перекодировать (в последовательность с процентом) для использования в URL-адресе. При этом используется кодировка UTF-8 (рекомендуется) или многобайтовая кодировка (MBCS). Перекодировка производится автоматически при использовании библиотек Azure .NET или создании Uri объекта, который содержит имя свойства. Однако есть некоторые символы, которые недопустимы в URL-адресе, даже будучи перекодированы. Эти символы не могут использоваться в именах свойств. Кодовые точки вроде \ uE000 допустимы в NTFS-именах, но не являются допустимыми символами Юникода, поэтому их использовать нельзя. Кроме того, некоторые символы ASCII и Юникода, например, управляющие символы (от 0x00 до 0x1F, \u0081 и т. д.), также не являются допустимыми. Правила, касающиеся Юникод-строк в HTTP/1.1, см. в следующем разделе:

System_CAPS_noteПримечание

Начиная с версии 2009-04-14, служба таблиц не поддерживает работу с именами свойств, содержащих тире (-).

Сущность может иметь до 255 свойств, включая 3 системные свойства, описанные в следующем разделе. Поэтому пользователь может включать до 252 свойств в дополнение к 3 системным свойствам. Общий размер всех данных в свойствах сущности не может превышать 1 MБ.

Сущность всегда имеет следующие системные свойства:

  • PartitionKey Свойство

  • RowKey Свойство

  • Timestamp Свойство

Эти системные свойства автоматически включаются в каждой сущность таблицы. Имена этих свойств зарезервированы и не могут быть изменены. Разработчик отвечает за вставки и обновления значения PartitionKey и RowKey. Сервер управляет значением Timestamp, который не может быть изменен.

Следующие символы не допускаются значения PartitionKey и RowKey Свойства:

  • Символ косой черты (/)

  • Символ обратной косой черты (\)

  • Символ номера (#)

  • Символ вопросительного знака (?)

  • Управляющие символы от U+0000 до U+001F, включая следующие:

    • Символ горизонтальной табуляции (\t)

    • Символ перевода строки (\n)

    • Символ возврата каретки (\r)

  • Управляющие символы от U+007 до U+009F

Таблицы разбиваются для поддержки балансировки нагрузки между узлами хранилища. Сущности таблицы упорядочиваются по секциям. Секция — это последовательный диапазон сущностей с одинаковым значением ключа секции. Ключ секции — это уникальный идентификатор секции в данной таблице, указываемый в PartitionKey свойство. Ключ секции составляет первую часть первичного ключа сущности. Ключ секции может быть строковым значением размером до 1 КБ.

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

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

Ключ строки — строковое значение размером до 1 КБ.

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

Timestamp Свойство DateTime значение, которое хранится на стороне сервера для записи времени сущности последнего изменения. Служба таблиц использует Timestamp внутренне для предоставления оптимистичного параллелизма. Значение Timestamp монотонно возрастающее значение, это означает, что каждый раз сущность изменяется, значение Timestamp увеличивается для этой сущности. Данное свойство не следует задавать при операциях вставки и обновления (это значение будет пропускаться).

Служба таблиц поддерживает подмножество типов данных, определенных спецификации протокола OData. В следующей таблице приведены поддерживаемые в службе таблиц типы свойств:

Тип данных OData

Тип CLR

Подробности

Edm.Binary

byte[]

Массив байт размером до 64 КБ.

Edm.Boolean

bool

Значение типа Boolean.

Edm.DateTime

DateTime

64-разрядное значение, выраженное в формате UTC. Поддерживаемые DateTime диапазон начинается от 00:00 1 января 1601 года н. э. , UTC. Диапазон заканчивается на 31-м декабря 9999 года.

Edm.Double

double

64-разрядное значение с плавающей запятой.

Edm.Guid

Guid

128-битный глобальный уникальный идентификатор.

Edm.Int32

Int32 или int

32-разрядное целое число.

Edm.Int64

Int64 или long

64-разрядное целое число.

Edm.String

String

Значение в кодировке UTF-16. Строковые значения могут иметь размер до 64 КБ.

По умолчанию свойство создается как тип String, если не указать другой тип. Чтобы явно задать свойство, укажите его тип данных, используя соответствующий тип данных OData для Вставка сущности или Обновление сущности операции. Дополнительные сведения см. в разделе Вставка и обновление сущностей.

Примеры, показывающие, как для фильтрации по различным типов свойств в URI запроса см. Запросы к таблицам и сущностям.

Показ:
© 2016 Microsoft