Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

leo_SJCampos

em Relacionamento

Recommended Posts

Ola galera, preciso de uma ajuda..

 

è o seguinte: tenho uma tabela chamada usuarios, onde tem os seguintes campos:

id

nome

senha

unidade

 

o problema é que agora estou precisando cadastrar mais de uma unidade por usuario, ai pensei em fazer uma tabela só de unidade e relacion-la com a de usuarios.

 

Alguem poderia me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

A idéia é essa mesmo.

Como teremos muitas repeticões de unidade podemos criar uma nova tabela.

 

unidade

-----------------

id_unidade (PK)

unidade

 

Agora teremos cadastrados todas as unidades do sistema.

Para relacionar a tabela unidade com usuario utilizamos o campo id_unidade da tabela unidade como referencia.

 

usuario

--------------

id (PK)

nome

senha

unidade (FK)

 

Agora unidade será uma referencia ao campo id_unidade da tabela unidade.

 

PK -> chave primária

FK -> chave estrangeira

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

varias unidades para um usuario....

 

como eu faço para entrar com um dado na tabela usuario e automaticamente ele estar relacionado com a tabelça usuarios?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então o relacionamento é de n para 1.

usuário (n) : unidade (1)

 

Para esse tipo de relacionamento usamos a regra de passar a chave primária da tabela do lado "1" como chave estrangeira para a tabela do lado "n".

 

Eu não entendi a parte que pergunta como automatizar o relacionamento.

Compartilhar este post


Link para o post
Compartilhar em outros sites

desculpe nao soube explicar direito,, estou estudando modelagem de dados e por isso as duvidas vao aumentando...

 

è assim...

 

 

(1) gerente (usuario) pode ser responsavel por (N) unidades

 

ai o que eu fiz:

 

Tabela Usuarios (gerentes)

 

id

nome

senha

unidade

 

ai criei outra tabela só de unidades:

 

Tabela Unidade

id_unidade

unidade

id_gerente

ai criei uma Fk nessa tabela e ficou assim (id_gerente -> usuarios.id)

 

Primeira pergunta, o que eu fiz esta certo?

 

Segunda pergunta, como eu faço para toda vez que eu cadastrar uma unidade, colocar na FK o codigo do gerente relacionado a ela?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nesse caso a chave estrangeira tem que ficar na tabela usuario e não na tabela unidade.

O campo unidade será a referencia da chave primária da tabela unidade.

 

Exemplo:

 

usuario
------------------------
1, Joao, ****, 1
1, Joao, ****, 2
2, Maria, ****, 3
.
.
.

unidade
--------------------
1, Unidade1
2, Unidade2
3, Unidade3
.
.
.

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

entendi tudo,,,

 

só tenho mais uma duvida..

 

como eu faço para na hora de inserir os dados ele aparecer nas duas tabelas?

 

 

 

entendi tudo,,,

 

só tenho mais uma duvida..

 

como eu faço para na hora de inserir os dados ele aparecer nas duas tabelas?

 

 

 

entendi tudo,,,

 

só tenho mais uma duvida..

 

como eu faço para na hora de inserir os dados ele aparecer nas duas tabelas?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade para qualquer registro de usuário voce já precisa ter cadastrado antes a unidade.

Se não aparecerá erro de violacao da restricao de chave estrangeira.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Voce pode fazer o seguinte:

Faca um select em todos os registros de unidade.

Mostre esse opcao para o usuário.

 

cadastro

--------------------

nome:

senha:

unidade:

 

Nome e senha devem ser digitados pelo usuario responsável por cadastrar e unidade é uma lista com todas as unidades.

Quando for inserir um registro de usuario no campo unidade deve aparecer o id referente a tabela unidade.

 

usuario

-----------------------

Joao, ****, 1

 

unidade

-----------------------

1, unidade1

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.