ÍNDICE Oracle exclusivo

ÍNDICE Oracle exclusivo
O desempenho do banco de dados é um dos papéis essenciais de um desenvolvedor de banco de dados. Garantir que seu banco de dados esteja em execução no desempenho ideal possa afetar significativamente a leitura ou a escrita de aplicativos para esse banco de dados.

Embora várias maneiras de melhorar o desempenho do banco de dados existam, um recurso é quase universal para qualquer banco de dados. Índices de banco de dados são estruturas de dados ou objetos que são usados ​​para melhorar a velocidade da recuperação de dados da tabela.

Quando usados ​​corretamente, os índices de banco de dados podem reduzir a velocidade de uma consulta em quase metade, dependendo dos dados de destino, layout, recursos disponíveis etc.

Neste tutorial, você aprenderá a trabalhar com índices exclusivos em bancos de dados Oracle para evitar a disponibilidade de valores duplicados em uma coluna indexada.

ÍNDICE Oracle exclusivo

Podemos usar um índice exclusivo para garantir que nenhuma linha duplicada seja armazenada em uma determinada coluna. Se a coluna de um determinado índice contiver uma regra única, tentar adicionar duas linhas com um valor semelhante nessa coluna resultará em um erro que indica uma violação de restrição exclusiva.

No Oracle, podemos criar um índice exclusivo usando a instrução CREATE ÍNDICE, conforme mostrado no seguinte:

Crie Índice Index_name exclusivo em tabela_name (colunas);

As colunas incluídas no índice não aceitarão linhas duplicadas.

Exemplo de ilustração de tabela exclusiva

Para demonstrar como criar e usar um índice exclusivo, pegue a tabela a seguir:

Selecione * de sample_data;

Saída:

Crie um índice exclusivo na coluna First_Name

A declaração de exemplo a seguir mostra como criar um índice exclusivo usando a coluna First_Name:

criar índice exclusivo primeiro_name_unique em sample_data (primeiro_name);

Ao ativar esse índice, não podemos inserir mais de uma linha com o mesmo primeiro nome.

Tomemos, por exemplo, a seguinte declaração de inserção:

inserir em sample_data (id, primeiro_name, ip_address, btc_address, credit_card, identificador)
Valores (11, 'Wallas', '169.158.70.77 ',' 1cnz5d1d5sc8sar6dfsvihwztqyx5fg77q ',' 4017955174552 ',
'26811D77-0A3A-4397-BC33-F7835F7C7AB9');

Se executarmos a declaração de inserção fornecida, devemos receber um erro, conforme mostrado no seguinte:

[23000] [1] ORA-00001: restrição exclusiva (RH.Primeiro_name_unique) violado

Como podemos ver, a inserção do valor dado viola a restrição única para a coluna First_Name.

Crie um índice exclusivo com duas colunas

Também podemos ter um índice único composto por mais de uma coluna. No exemplo a seguir, criamos um índice exclusivo usando as colunas First_Name e IO_Address:

Crie índice exclusivo verify_columns em sample_data (primeiro_name, ip_address);

Da mesma forma, a adição de valores duplicados para a coluna First_Name ou IP_Address resultará em erros de violação de índice exclusivos.

Índices exclusivos automáticos

Você já se perguntou o que acontece quando declara uma coluna de tabela com uma chave primária ou restrição única?

Em termos simples, se você definir uma coluna como a chave primária da tabela ou atribuir uma restrição única a uma determinada coluna, o mecanismo de banco de dados cria automaticamente um índice exclusivo para essa coluna.

Isso garante que nenhum valor duplicado seja inserido nessa coluna.

Tomemos, por exemplo, a seguinte declaração:

Crie tabela amostra_data
(
número de identidade,
First_name Varchar2 (50),
ip_address varchar2 (20),
BTC_ADDRESS VARCHAR2 (50),
Credit_Card Varchar2 (50),
Identificador Varchar2 (40),
restrição amostra_pk chave primária (id)
);

No exemplo anterior, criamos uma tabela e definimos a coluna de identificação como a chave primária da tabela. Então, para ver a restrição exclusiva associada a essa coluna (gerada automaticamente), podemos executar o seguinte comando:

Selecione index_name, index_type, visibilidade, status, tabela_name
de all_indexes onde tabela_name = 'sample_data';

Resultados:
Nesse caso, podemos ver o índice exclusivo que é criado pelo mecanismo de banco de dados para a coluna ID.

Conclusão

Neste guia, você aprendeu a criar e usar os índices exclusivos no banco de dados Oracle. Você também aprendeu o que acontece quando atribui uma chave primária ou restrição única a uma coluna de tabela.