Identificadores (DMX)
Todos os objetos no MicrosoftSQL ServerAnalysis Services devem ter um identificador. Servidores, bancos de dados e objetos de banco de dados, como fontes de dados, exibições da fonte de dados, cubos, dimensões e objetos de mineração, entre outros, têm identificadores.
Um identificador de objeto é criado quando o objeto é definido. O nome do objeto é seu identificador. O identificador é utilizado para fazer referência ao objeto.
Há duas classes de identificadores em DMX (Data Mining Extensions):
Identificadores normais
Identificadores delimitados
Independentemente do tipo de identificador, os identificadores devem ter no máximo 100 caracteres.
Identificadores normais
Identificadores normais são nomes que estão em conformidade com as regras do Analysis Services quanto ao formato dos identificadores. Em DMX, os identificadores normais não requerem delimitadores. A seguir, é mostrado um exemplo de instrução DMX que usa um identificador normal não delimitado:
SELECT * FROM Clustering.CONTENT
Neste exemplo, "Clustering" é o nome do modelo de mineração, e também seu identificador. Pelo fato de o identificador não conter qualquer espaço ou outros caracteres especiais, ele é considerado um identificador normal e não precisa ser incluído entre colchetes.
Regras para identificadores normais
Estas são as regras para o formato dos identificadores normais:
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 (_).
Os caracteres subseqüentes podem ser:
Letras, conforme definido no Padrão Unicode 2.0.
Números decimais do latim básico ou de outros scripts nacionais.
Um sublinhado (_).
O identificador não deve ser uma palavra reservada 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).
O identificador não pode conter espaços incorporados nem caracteres especiais.
Se um identificador não obedecer a essas regras, você deverá incluir o identificador entre colchetes quando usá-lo em instruções DMX.
Identificadores delimitados
Identificadores delimitados são identificadores incluídos entre colchetes ([ ]). O exemplo a seguir mostra uma instrução DMX com um identificador delimitado.
SELECT * FROM [Marketing_Clusters].CONTENT
Neste exemplo, o identificador do modelo de mineração é [Marketing_Clusters]. O nome foi incluído entre colchetes embora ele corresponda aos critérios dos identificadores normais. Muitas pessoas consideram o uso de colchetes para delimitar identificadores uma prática que ajuda a obter maior clareza e a minimizar problemas com manutenção e migração de códigos, até mesmo quando os colchetes não são obrigatórios.
Qualquer identificador que não atenda às regras de formato dos identificadores normais deverá ser sempre delimitado. A seguir, é mostrado um exemplo de instrução DMX com identificador delimitado que contém um espaço:
SELECT * FROM [Targeted Mailing].CONTENT
Você sempre deverá usar 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-chave reservadas nas versões subseqüentes. 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 você usa caracteres que não são definidos nas regras para identificadores normais.
No Analysis Services, é possível usar qualquer caractere da página de código atual em um identificador delimitado; no entanto, o uso de caracteres especiais em um nome de objeto pode tornar as instruções DMX difíceis de ler e manter. Por exemplo, se alguns aplicativos cliente não puderem usar a página de código, os usuários daquele aplicativo talvez não consigam exibir os caracteres especiais. Como uma prática recomendada, você deveria usar identificadores que pudessem ser lidos e inseridos de qualquer cliente que você ou seus usuários precisem usar.
Observação Quando você atualiza um banco de dados do Analysis Services para o SQL Server 2008 de uma versão anterior, alguns nomes de objetos podem ser modificados para preservar a exclusividade. Para obter mais informações, consulte Alterações recentes em recursos do Analysis Services no SQL Server 2008.
Regras para identificadores delimitados
A seguir, são apresentadas as regras para o formato dos identificadores delimitados:
Os identificadores delimitados podem conter o mesmo número de caracteres que os identificadores normais: de 1 a 100 caracteres, sem incluir os caracteres delimitadores.
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 delimitadores, será necessária uma manipulação 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 (]), você deverá especificar dois colchetes direitos (]]) para representar um único colchete direito dentro do identificador.
Delimitando identificadores 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. O exemplo a seguir mostra um nome de objeto qualificado que contém vários identificadores delimitados.
[AdventureWorks DW 2008].[Targeted Mailing DT]