Chave estrangeira

4 respostas
C

Bom dia senhores.

estou com o seguinte problema:

Tenho uma tabela funcionario e outra de cargo, onde um funcionario possui um cargo, ou seja na tabela funcionario exite o id do cargo. o problema consiste no seguinte, o banco estar deixando os registro na tabela cargo, onde este determinado registro estar sendo referenciado na tabela funcionario. O correto seria não deixa apagar os registro da tabela cargo que estão sendo referenciado na tabela funcionario. se alguem poder me ajudar ficarei grato. Ha o banco de dados que estou utilizando é o mysql

Att…

EDIT - use a frase “chave estrangeira” ou então “foreign key”.

4 Respostas

Dieval_Guizelini

E tem gente que chama o MySQL de SGBD…

Que versão você está utilizando do MySQL e qual engine.

Constraint normalmente não funciona no MySQL no engine MyISAM.

Se pretende continuar usando o MySQL, então implemente na regra de negócio esta restrição.

fw

C

qual banco de dados vc me aconcelharia? detalhe, só posso usar banco free?
outra pergunta, o mysql 5 não possui integridade referencial?

Att…

Dieval_Guizelini

Tem um tópico sobre o SGBD mais robusto postado hoje, acho que vale a pena você dar uma olhada.

Eu gosto do PostgreSQL. O MySQL tem problemas na licença para softwares empacotados…

Mas tem outros que vale a pena dar uma olhada dependendo do seu sistema, alguns são escritos 100% em java e sua aplicação poderá gerenciar tudo, tais como o derby e o hsql.

fw

Ps: com o engine do MyISAM, as constraints não funcionam.

fsquadro

Sobre aconselhar um banco, vai da sua necessidade, caso sua aplicação necessite de um banco mais robusto, eu te aconselho o PostgreSQL com certeza.
Se for uma aplicação simples de uma olhada no HLSQDB (http://www.hsqldb.org/) que é bem interessante.

Abraço,

Fernando.

Criado 18 de outubro de 2006
Ultima resposta 18 de out. de 2006
Respostas 4
Participantes 3