{"section":"tutorials","requestedLocale":"pt","requestedSlug":"indices-no-master-data","locale":"pt","slug":"indices-no-master-data","path":"docs/pt/tutorials/master-data/configurações-do-master-data-v1/indices-no-master-data.md","branch":"main","content":"Um índice no Master Data é uma referência a um ou mais campos, utilizada para otimização das consultas em uma entidade de dados. O uso de índices possibilita uma busca mais rápida de registros.\n\nPara ilustrar, imagine o índice de um livro, que contém a indicação dos temas contidos no livro e a página de cada tema. Para fazer uma pesquisa, em vez de ter que passar por todas as páginas do livro para encontrar o resultado desejado, é possível acessar o índice e ir direto ao tema que deseja. Da mesma forma, o índice no Master Data fornece um método mais eficiente para encontrar documentos.\n\n## Configurar índice\n\nSiga o passo a passo para definir um ou mais campos como índices no Master Data:\n\n1. No Admin VTEX, acesse **Configurações da loja > Storefront > Master Data**.\n2. Clique no ícone de engrenagem <i class=\"fas fa-cog\"></i> na aplicação em que deseja adicionar o índice.\n3. Clique em **Estrutura de dados**.\n4. Clique na aba **Índice**.\n5. Clique em `Adicionar`.\n6. Preencha os campos a seguir:\n    * **Nome:** nome do índice.\n    * **Valores únicos:** opção que permite bloquear novos registros com valores repetidos para o(s) índice(s) criados. Leia a seção [Restrição de valores por documento (chave alternativa)](#restricao-de-valores-por-documento-chave-alternativa) para mais detalhes.\n    * **Entidade de dados:** nome da entidade de dados que contém os campos a serem configurados como índices.\n    * **Campos:** nome de um ou mais campos que serão configurados como índices. Se for adicionar mais de um nome de campo, separe-os por vírgula. Exemplo: `firstName,document`.\n7. Clique em `Salvar`.\n\n## Casos de uso\n\nSaiba mais sobre os principais cenários de uso de índices no Master Data nas seções a seguir.\n\n### Consultas de até mil documentos\n\nO uso de índices é recomendado para buscas com resultados de até mil documentos. Se as buscas por um índice frequentemente retornarem mais de mil documentos, você pode obter uma performance melhor na busca ao indexar o campo, isto é, [configurá-lo como um filtro na entidade de dados](/pt/docs/tutorials/filtrando-dados-no-master-data).\n\n### Restrição de valores por documento (chave alternativa)\n\nA configuração de índices permite bloquear um ou mais campos para evitar registros com valores repetidos. Esses campos funcionam como chaves alternativas, ou seja, valores alternativos para identificar um registro.\n\nA chave alternativa é configurada pelo campo **Valores Únicos** na [configuração do índice](#configurar-indice) e funciona de maneiras diferentes dependendo da quantidade de campos inseridos no índice. Confira nas seções a seguir o funcionamento em cada caso.\n\n#### Um só campo no índice\n\nSe houver somente um campo configurado como índice, a chave alternativa não vai permitir que um valor que já foi cadastrado nesse campo seja cadastrado novamente.\n\nPor exemplo, a tabela **Cliente** possui duas colunas: **ID** e **Nome**. Para facilitar a busca, o campo **Nome** (`firstName`) pode ser configurado como índice e marcado como **Valores únicos**, conforme ilustrado a seguir:\n\n![indices-1-pt](https://cdn.statically.io/gh/vtexdocs/help-center-content/refs/heads/main/docs/pt/tutorials/master-data/configurações-do-master-data-v1/indices-no-master-data_1.png)\n\nCom isso, não será possível inserir um nome que já tenha sido cadastrado em __Cliente__:\n\n![indices-2-pt](https://cdn.statically.io/gh/vtexdocs/help-center-content/refs/heads/main/docs/pt/tutorials/master-data/configurações-do-master-data-v1/indices-no-master-data_2.png)\n\nNo exemplo acima, como já existe um registro com o **Nome** igual a **Maria**, não é possível cadastrar outro com o mesmo valor.\n\n> ⚠️ Use a opção **Valores Únicos** com cautela. Se um valor que você deseja permitir se repetir for configurado como único, o sistema bloqueará a inserção de registros duplicados, impedindo seu cadastro.\n\n#### Vários campos no índice\n\nSe houver mais de um campo no índice, a chave alternativa vai impedir que um conjunto de valores se repita nos campos selecionados.\n\nPor exemplo, imagine que a entidade **Cliente **possui três campos: **ID**, **Nome** e **Documento**. Na configuração do índice, em **Campos**, foram inseridos Nome (`firstName`) e Documento (`document`), conforme ilustrado abaixo:\n\n![indices-3-pt](https://cdn.statically.io/gh/vtexdocs/help-center-content/refs/heads/main/docs/pt/tutorials/master-data/configurações-do-master-data-v1/indices-no-master-data_3.png)\n\nNesse caso, o valor do **Nome** pode se repetir ou o valor do **Documento** pode se repetir. Porém, a combinação dos dois valores não pode se repetir, ou seja, não pode existir nenhum registro que repita o mesmo par (**Nome** e **Documento **iguais).\n\n![indices-4-pt](https://cdn.statically.io/gh/vtexdocs/help-center-content/refs/heads/main/docs/pt/tutorials/master-data/configurações-do-master-data-v1/indices-no-master-data_4.png)\n\nNo exemplo acima, já existe um registro com o **Nome** igual a **Maria**. É possível incluir outro registro com o mesmo **Nome**, desde que o valor do **Documento** seja diferente.\n\n> ⚠️ Se a mesma combinação de valores se repetir, o registro não será salvo. Utilize a opção **Valores únicos** somente quando não existir a possibilidade de um conjunto de valores se repetir em registros diferentes."}