VENDAS: 1-800-867-1389

Noções básicas sobre o modelo de dados do serviço Tabela

Atualizado: dezembro de 2014

O serviço Tabela oferece armazenamento estruturado na forma de tabelas. As seções a seguir descrevem o modelo de dados de serviço Tabela.

Uma conta de armazenamento é uma entidade globalmente exclusiva no sistema de armazenamento. A conta de armazenamento é o namespace pai do serviço Tabela e a base da autenticação. Você pode criar qualquer número de tabelas em uma determinada conta de armazenamento, desde que cada tabela seja exclusivamente nomeada.

A conta de armazenamento sempre deve ser especificada no URI de solicitação. O URI base para acessar o serviço Tabela é o seguinte:

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

As tabelas armazenam dados como coleções de entidades. As entidades são semelhantes às linhas. Uma entidade tem uma chave primária e um conjunto de propriedades. Uma propriedade é um nome, par de valor digitado, semelhante a uma coluna.

O serviço Tabela não impõe nenhum esquema para tabelas, de modo que duas entidades na mesma tabela podem ter diferentes conjuntos de propriedades. Os desenvolvedores podem optar por impor um esquema no lado do cliente. Uma tabela pode conter qualquer número de entidades.

Os nomes de tabela devem obedecer a estas regras:

  • Os nomes de tabela devem ser exclusivos em uma conta.

  • Os nomes de tabela devem conter apenas caracteres alfanuméricos.

  • Os nomes de tabela não podem começar com um caractere numérico.

  • Os nomes de tabela diferenciam maiúsculas de minúsculas.

  • Os nomes de tabela devem ter de 3 a 63 caracteres.

  • Alguns nomes de tabela são reservados, incluindo "tabelas". Tentar criar uma tabela com um nome de tabela reservado retorna o código de erro 404 (Solicitação Incorreta).

Essas regras também são descritas pela expressão regular "^[A-Za-z][A-Za-z0-9]{2,62}$".

Os nomes de tabela preservam a forma com que foram criados, mas não diferenciam maiúsculas de minúsculas quando usados.

Os nomes de propriedade são cadeias de caracteres que diferenciam maiúsculas de minúsculas de até 255 caracteres. Os nomes de propriedade devem seguir as regras de nomenclatura para identificadores C#.

noteObservação
Alguns identificadores C# não são válidos de acordo com a especificação XML. Esses identificadores não podem ser usados em nomes de propriedade, pois estes são enviados por uma carga de XML em uma solicitação no serviço Tabela.

ImportantImportante
Os nomes de propriedade são passados para o serviço Tabela em uma URL. Determinados caracteres devem ser codificados por porcentagem para aparecerem em uma URL, usando UTF-8 (preferencial) ou MBCS. Essa codificação ocorre automaticamente quando você usa as Bibliotecas .NET do Azure ou cria um objeto Uri que inclui um nome de propriedade. No entanto, há determinados caracteres que não são válidos em caminhos URL mesmo quando codificados. Esses caracteres não podem aparecer em nomes de propriedade. Os pontos de código, como \uE000, quando válidos em nomes de arquivo NTFS, não são caracteres Unicode válidos, de modo que não podem ser usados. Além disso, alguns caracteres ASCII ou Unicode, como caracteres de controle (0x00 a 0x1F, \u0081, etc.), também não são permitidos. Para regras que administram cadeias de caracteres Unicode em HTTP/1.1, consulte:

noteObservação
A partir da versão 2009-04-14, o serviço Tabela não conta mais com suporte, incluindo o caractere traço (-) em nomes de propriedade.

Uma entidade pode ter até 255 propriedades, incluindo 3 propriedades do sistema, descritas na seção a seguir. Dessa forma, o usuário pode incluir até 252 propriedades personalizadas, além das 3 propriedades do sistema. O tamanho combinado de todos os dados nas propriedades de uma entidade não pode exceder 1 MB.

Uma entidade sempre tem as seguintes propriedades do sistema:

  • Propriedade PartitionKey

  • Propriedade RowKey

  • Propriedade Timestamp

Essas propriedades do sistema são incluídas automaticamente para cada entidade em uma tabela. Os nomes dessas propriedades são reservados e não podem ser alterados. O desenvolvedor é responsável por inserir e atualizar os valores de PartitionKey e RowKey. O servidor gerencia o valor de Timestamp, que não pode ser modificado.

Os caracteres a seguir não são permitidos em valores para as propriedades PartitionKey e RowKey:

  • O caractere de barra (/)

  • O caractere de barra invertida (\)

  • A tecla de cerquilha (#)

  • O caractere de ponto de interrogação (?)

  • Caracteres de controle de U+0000 a U+001F, incluindo:

    • O caractere de guia horizontal (\t)

    • A caractere de avanço de linha (\n)

    • O caractere de retorno de carro (\r)

  • Caracteres de controle de U+007F a U+009F

As tabelas são particionadas para oferecer suporte ao balanceamento de carga entre os nós de armazenamento. As entidades de uma tabela são organizadas por partição. Uma partição é um intervalo consecutivo de entidades que tenham o mesmo valor de chave de partição. A chave de partição é um identificador exclusivo para a partição dentro de uma determinada tabela, especificada pela propriedade PartitionKey. A chave de partição compõe a primeira parte da chave primária de uma entidade. A chave de partição pode ser um valor de cadeia de caracteres com até 1 KB.

Você deve incluir a propriedade PartitionKey em cada operação de inserção, atualização e exclusão.

A segunda parte da chave primária é a chave de linha, especificada pela propriedade RowKey. A chave de linha é um identificador exclusivo para uma entidade em uma determinada partição. Juntas, as propriedades PartitionKey e RowKey identificam exclusivamente cada entidade em uma tabela.

A chave de linha é um valor de cadeia de caracteres que pode ter até 1 KB.

Você deve incluir a propriedade RowKey em cada operação de inserção, atualização e exclusão.

A propriedade Timestamp é um valor de DateTime que é mantido no servidor para registrar a hora em que uma entidade foi modificada pela última vez. O serviço Tabela usa a propriedade Timestamp internamente para fornecer simultaneidade otimista. O valor de Timestamp é um valor de forma monotônica, o que significa que cada vez que a entidade é alterada, o valor de Timestamp aumenta para essa entidade. Essa propriedade deve ser definida como operações de inserção ou atualização (o valor será ignorado).

O serviço Tabela oferece suporte a um subconjunto de tipos de dados definidos pela Especificação do protocolo OData. A tabela a seguir mostra os tipos de propriedade com suporte para o serviço Tabela:

 

Tipo de dados OData Tipo de Common Language Runtime Detalhes

Edm.Binary

byte[]

Uma matriz de bytes de até 64 KB.

Edm.Boolean

bool

Um valor booliano.

Edm.DateTime

DateTime

Um valor de 64 bits expresso como o UTC (Tempo Universal Coordenado). O intervalo DateTime com suporte começa à 00:00 de 1º de janeiro de 1601 D.C. (C.E.), UTC. O intervalo termina em 31 de dezembro de 9999.

Edm.Double

double

Um valor de ponto flutuante de 64 bits.

Edm.Guid

Guid

Um identificador global exclusivo de 128 bits.

Edm.Int32

Int32 ou int

Um inteiro de 32 bits.

Edm.Int64

Int64 ou long

Um inteiro de 64 bits.

Edm.String

String

Um valor codificado em UTF-16. Os valores da cadeia de caracteres podem ter até 64 KB.

Por padrão, uma propriedade é criada como o tipo String, a menos que você especifique um tipo diferente. Para digitar explicitamente uma propriedade, especifique seu tipo de dados usando o tipo de dados OData apropriado para uma operação Inserir entidade (API REST) ou Atualizar entidade (API REST). Para obter mais informações, consulte Inserção e atualização de entidades.

Para obter exemplos que mostram como filtrar vários tipos de propriedade em um URI de solicitação de consulta, consulte Consultando tabelas e entidades.

Consulte também

Isso foi útil para você?
(1500 caracteres restantes)
Agradecemos os seus comentários
Mostrar:
© 2014 Microsoft