RES: [bancosdedados] chave primária e í ndice único

Renato Cramer <renato-IMYF1QcHrZNwFqzsTH5u/[email protected]>
Newsgroups gmane.comp.db.bancosdedados
Message-ID <C1C69E45A81644499CED2306D960C155B9D41A@VERTICAL>
Olá Valdair,

> Se eu utilizo um índice em uma tabela
> ainda assim seria interessante eu ter uma
> chave primária para essa tabela?

Se houver alguma referência (chave estrangeira de outra tabela que a
referencie) para esta tabela, sim.

Na maioria das vezes é interessante ter chave primária.
Aconselho você a consultar a documentação do seu SGBD, cada um tem suas
particularidades.

Por exemplo:
Considere uma tabela com 100 colunas e sem chave primária.
Se você excluir uma linha, como ficará o arquivo de log?
Para identificar a linha, no log constará:
delete * from t1
where c1 = x
and c2 = y
and c3 = z
...
and c100 = w;

Ao passo que, se houvesse chave primária (c1) ficaria:
delete * from t1
where c1 = x;

Isso diminuiria o espaço em log, e aceleraria a operação de exclusão.
Tudo bem, se você excluir apenas uma linha praticamente não vai ter
diferença; mas imagine uma exclusão de um grande nro de linhas.

> Se eu tiver uma chave primária, há necessidade de criar
> um índice único?

Normalmente não, pois a chave primária já é um índice único.
Mas é bom conferir na documentação do seu SGBD.
Já vi uma versão antiga de um SGBD onde na própria documentação aconselham
você a criar um índice único após definir uma chave primária.  :(

Abraços,
Renato Cramer.


mail do grupo 

Enviar mensagem: bancosdedados-EYaqaC9dFX8MqA7zqLjoiV/I71DsQ//[email protected]
Assinar: bancosdedados-subscribe-EYaqaC9dFX8MqA7zqLjoiV/I71DsQ//[email protected]
Cancelar assinatura: bancosdedados-unsubscribe-EYaqaC9dFX8MqA7zqLjoiV/I71DsQ//[email protected]
Proprietário da lista: bancosdedados-owner-EYaqaC9dFX8MqA7zqLjoiV/I71DsQ//[email protected]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/bancosdedados/

<*> Para sair deste grupo, envie um e-mail para:
    bancosdedados-unsubscribe-EYaqaC9dFX8MqA7zqLjoiV/I71DsQ//[email protected]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.