Identificadores (DMX)

Todos os objetos em Microsoft SQL Server Analysis Services devem ter um identificador. O nome de um objeto é seu identificador. Servidores, banco de dados e objetos de banco de dados, como fontes de dados, exibições de fonte de dados, cubos, dimensões e objetos de mineração, entre outros, são identificadores.

Há duas classes de identificadores em DMX (Data Mining Extensions):

  • Identificadores normais

  • Identificadores delimitados

O identificador de um objeto é criado quando o objeto é definido. O identificador é utilizado para referenciar o objeto. Os identificadores devem ter 100 caracteres ou menos.

Identificadores normais

Os identificadores normais em DMX respeitam as regras do Analysis Services para formato de identificadores. Os identificadores normais em DMX não requerem delimitadores. A seguir, um exemplo de instrução DMX que usa um identificador normal não delimitado:

SELECT * FROM Clustering.CONTENT

Regras para identificadores normais

A seguir, as regras para o formato dos identificadores normais:

  1. O primeiro caractere de um identificador normal deve ser um dos seguintes:

    • Uma letra, como definido pelo Unicode Standard 2.0. Isso inclui caracteres latinos de a até z, de A até Z, além de caracteres de letras de outros idiomas.

    • Um sublinhado (_).

  2. Os caracteres subseqüentes podem ser:

    • Letras, como definido no Unicode Standard 2.0.

    • Números decimais do latim básico ou de outros scripts nacionais.

    • Um sublinhado (_).

  3. O identificador não deve ser uma palavra reservada de DMX. As palavras reservadas fazem diferenciação entre maiúsculas e minúsculas em DMX. Para obter mais informações, consulte Palavras-chave reservadas (DMX).

  4. O identificador não pode conter espaços embutidos ou caracteres especiais.

É preciso pôr entre colchetes todos os identificadores usados em instruções DMX que não estejam em conformidade com essas regras.

Identificadores delimitados

Os identificadores delimitados são postos entre colchetes ([ ]): A seguir, um exemplo de uma instrução DMX com identificador delimitado que obedece essas regras.

SELECT * FROM [Marketing_Clusters].CONTENT

O identificador que não atender as regras para o formato dos identificadores normais deverá ser sempre delimitado. A seguir, um exemplo de instrução DMX com identificador delimitado que contém um espaço:

SELECT * FROM [Targeted Mailing].CONTENT

Use identificadores delimitados nas seguintes situações:

  • Quando palavras reservadas forem usadas em nomes de objeto ou partes de nomes de objeto.

    É recomendável não usar palavras-chave reservadas como nomes de objeto. Os bancos de dados atualizados de versões anteriores do Analysis Services podem conter identificadores que incluem palavras que não foram reservadas na versão anterior do Analysis Services, mas que eram palavras reservadas do SQL Server 2005 Analysis Services. Um identificador delimitado pode ser usado para fazer referência a um objeto assim até que seja possível alterar o nome do objeto.

  • Quando se usam caracteres que não estão listados como identificadores qualificados.

    No Analysis Services é possível usar qualquer caractere da página de código atual em um identificador delimitado; no entanto, o uso indiscriminado de caracteres especiais em um nome de objeto pode tornar as instruções DMX difíceis de ler e manter.

Regras para identificadores delimitados

A seguir, as regras para o formato dos identificadores delimitados:

  1. Os identificadores delimitados podem conter o mesmo número de caracteres dos identificadores normais (de 1 a 100 caracteres, sem incluir os caracteres delimitados).

  2. O corpo de um identificador pode conter qualquer combinação de caracteres que forem usados na página de código atual, inclusive os próprios caracteres de delimitação. Se o corpo do próprio identificador contiver caracteres de delimitação, será necessário um tratamento especial:

    • Se o corpo do identificador contiver um colchete esquerdo ([), não será necessária nenhuma manipulação especial.

    • Se o corpo do identificador contiver um colchete direito (]), será preciso especificar os colchetes direitos (]]) para representá-lo na página de código.

Identificadores delimitados com várias partes

Quando nomes de objetos qualificados forem usados, talvez seja necessário delimitar mais de um dos identificadores que compõem o nome de objeto. É preciso delimitar individualmente cada um dos identificadores.