Índice Exclusivo da Oracle

Indice Exclusivo Da Oracle



O desempenho do banco de dados é uma das funções essenciais de um desenvolvedor de banco de dados. Garantir que seu banco de dados esteja sendo executado com desempenho ideal pode impactar significativamente a leitura ou gravação de aplicativos nesse banco de dados.

Embora existam várias maneiras de melhorar o desempenho do banco de dados, 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 aumentar 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 quase pela 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 Exclusivo da Oracle

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 exclusiva, 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 UNIQUE INDEX conforme mostrado a seguir:





CREATE UNIQUE INDEX index_name ON table_name ( colunas ) ;

As colunas incluídas no índice não aceitarão nenhuma linha duplicada.

Exemplo de ilustração de tabela exclusiva

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



SELECIONE * FROM sample_data;

Saída :

Crie um índice exclusivo na coluna First_Name

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

criar índice exclusivo first_name_unique em sample_data ( primeiro nome ) ;

Habilitando este índice, não podemos inserir mais de uma linha com o mesmo nome.

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

inserir em sample_data ( Eu iria , first_name, ip_address, btc_address, credit_card, identificador )
valores ( onze , 'Wallas' , '169.158.70.77' , '1CNz5d1d5SC8SaR6dFSVihwztqYx5Fg77q' , '4017955174552' ,
'26811d77-0a3a-4397-bc33-f7835f7c7ab9' ) ;

Se executarmos a instrução de inserção fornecida, devemos obter um erro conforme mostrado a seguir:

[ 23000 ] [ 1 ] ORA-00001: restrição única ( HR.FIRST_NAME_UNIQUE ) violado

Como podemos ver, a inserção do valor fornecido viola a restrição exclusiva da coluna first_name.

Crie um índice exclusivo com duas colunas

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

criar um índice exclusivo Verify_columns em sample_data ( primeiro_nome, endereço_ip ) ;

Da mesma forma, adicionar valores duplicados para a coluna first_name ou ip_address resultará em erros de violação de índice exclusivos.

Índices Únicos Automáticos

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

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

Isso garante que nenhum valor duplicado seja inserido nessa coluna.

Tomemos como exemplo a seguinte afirmação:

criar tabela sample_data
(
Eu iria número,
first_name  varchar2 ( cinquenta ) ,
endereço_ip  varchar2 ( vinte ) ,
btc_address varchar2 ( cinquenta ) ,
cartão de crédito varchar2 ( cinquenta ) ,
identificador  varchar2 ( 40 ) ,
chave primária sample_pk de restrição ( Eu iria )
) ;

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

selecionar index_name, index_type, visibilidade, status, TABLE_NAME
de all_indexes onde TABLE_NAME = 'DADOS DE AMOSTRA' ;

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

Conclusão

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