Descobrir Primary Key e Foreign Key do BD

E aew galera blz!?
Eu tava precisando saber como eu descubro qual atributo de uma tabela de um banco de dados(mysql por exemplo) é a chave primaria(primary key) e quais sao os atributos q sao as chaves estrangeiras(foreign key) e suas respectivas referencia… Como eu faco isso!!!
TO rpecisnado mto disso…
Obrigado a todos…
Abraço!

Normalmente o comando desc nome_da_tabela resolve. No Oracle isso funciona e no mySQL tb. Não sei se é padrao para outros BDs.

No mysql

vc pode usar o comando “describe nome_tabela;”

ou tentar ler a tabela do sistema que é muito mais dificil mas resolve para todos os bancos de dados

flw
Heber
http://www.heberfa.com.br

Em JDBC exsite um serviço de metadados.

http://www.guj.com.br/java.tutorial.artigo.24.1.guj

E dá uma estudada em
http://java.sun.com/j2se/1.5.0/docs/api/java/sql/DatabaseMetaData.html

  • o método getPrimaryKeys te informa sobre as chaves primárias
  • os métodos getCrossReference, getExportedKeys, e getImportedKeys te informam sobre chaves estrangeiras

Já trabalhei com o serviço de Metadados do JDBC e funcionou legal… é só seguir esse tutorial que o rbellia linkou aí que vc consegue as informações que está prescisando…

Muito obrigado aew galera!
A aprte de Primary Key funcionou legal =]
So falta agora conseguir fazer a parte de recupar a foreign Key…
TVou tentar aqui…Ate Mais! Abraco!

Eu já tive problemas na hora de recuperar informações sobre FKs.
Nem todos os drivers JDBC suportam essa feature :shock:

Na dúvida, tente trabalhar com as versões mais recentes dos seus drivers JDBC.