Cadastro de dados e relacionamento do banco.

25/01/2014

0

SQL

Preciso de opinião em como fazer o seguinte:

Tenho 3 tabelas proprietario_carro, proprietario_moto e veiculos.

proprietario_carro
id_prop (pk)

proprietario_moto
id_prop (pk)

veiculos
id_veiculo (pk)
id_prop(fk)
tipo (carro ou moto)

O que acontece é que preciso ter essas duas tabelas proprietario_carro e proprietario_moto, e o campo id_prop em cada uma delas tem que se relacionar com a chave estrangeira da tabela veiculos. Fiz o relacionamento entre a tabela veiculos e proprietario_carro normalmente, mas não esta aceitando fazer a relação veiculos e proprietario_moto.

Então percebi que é porque a chave estrangeira de veiculos já esta fazendo relação com outra tabela. Queria saber se é possível uma chave estrangeira receber dados de várias tabelas e não apenas de uma ?
Ricardo

Ricardo

Responder

Posts

25/01/2014

Alex Lekao

Oi Ricardo, bom dia!!!

So uma duvida a respeito da sua estrutura.

Obrigatoriamente vc precisa ter duas tabelas referente a proprietarios?

Eu me recordo que na parte de modelagem de banco havia uma situacao de 1:N ou N:1, que define os relacionamentos, verifique se nao eh isso que esta atrapalhando.

Ou na pior das hipoteses, coloque os nomes das colunas diferentes, nao sei se resolveria, seria mais um teste, ID_PropM e ID_PropC por exemplo.

Espero ter ajudado.

Abraco.

Alex - Lekao
Responder

25/01/2014

Ricardo

Oi Ricardo, bom dia!!!

So uma duvida a respeito da sua estrutura.

Obrigatoriamente vc precisa ter duas tabelas referente a proprietarios?

Eu me recordo que na parte de modelagem de banco havia uma situacao de 1:N ou N:1, que define os relacionamentos, verifique se nao eh isso que esta atrapalhando.

Ou na pior das hipoteses, coloque os nomes das colunas diferentes, nao sei se resolveria, seria mais um teste, ID_PropM e ID_PropC por exemplo.

Espero ter ajudado.

Abraco.

Alex - Lekao


Alex,

Precisa ter as duas tebelas, infelizmente. eu até já pensei nessa possibilidade de ter que inserir mais um campo, mas sempre um deles vai ter que ficar vazio na tabela, e se fizer essa inserção vai ter que mexer no código do sistema.

Estou pensando também em criar tabelas separadas para carro e moto e descartar a de veiculos.
Responder

25/01/2014

Alex Lekao

OK,

Vc esta precisando disso para algum relatorio? ele ja existe ou sera criado agora?

Voce podera criar uma view, inserindo tudo junto e nomeando de forma diferente as colunas e assim estrair os dados da maneira que vc precisa a partir da view.

Acredito que sera o menos traumetico.

Verifica se isso te atende.

Abraco.

Alex - Lekao
Responder

11/02/2014

Ricardo

OK,

Vc esta precisando disso para algum relatorio? ele ja existe ou sera criado agora?

Voce podera criar uma view, inserindo tudo junto e nomeando de forma diferente as colunas e assim estrair os dados da maneira que vc precisa a partir da view.

Acredito que sera o menos traumetico.

Verifica se isso te atende.

Abraco.

Alex - Lekao


Responder

12/02/2014

Alex Lekao

Oi Ricardo, bom dia!!!

Nao entendi...

atendeu desta forma?

conseguiu resolver?
Responder

12/02/2014

Marisiana Battistella

Olá! Vou me intrometer no assunto aqui... =D

O correto não seria ter uma tabela para cadastro de proprietários e uma para cadastro de veículos, com chave estrangeira na tabela de veículos referenciando o id do proprietário?
Porque, na minha visão, um proprietário pode ter vários veículos e um veículo só pode pertencer a um proprietário.

Então teriamos as seguintes tabelas:

PROPRIETARIO
id_prop (pk)


VEICULO
id_veiculo (pk)
id_prop(fk)
tipo (carro ou moto)

Acredito que essa forma atende a necessidade e talvez seja a mais correta.
A não ser que tenham outras regras de negócio envolvidas....
Responder

12/02/2014

Alex Lekao

Oi Marisiana,

Se nao me engano ele precisa das tres tabelas da forma que informou, coisa dos desenvolvedores parece.

Pensando nessa necessidade eu sugeri a view onde ele juntaria os dados e manipularia pela view... nao sei se seria a ideal ou a melhor, mas foi o que eu consegui pensar na epoca. rsrsr

Bom que vc entrou na discussao, acredito que agora saia algo melhor para ele.
Responder

12/02/2014

Marisiana Battistella

Mas pelo que entendi a questão dos desenvolvedores é pq vão ter que mexer no código...

Então vale questionar, o que é melhor? Ter a modelagem da forma mais correta possível e modificar o código para atender essa modelagem ou adaptar a modelagem para atender o código?

Sempre aprendi nas disciplinas de análise de sistemas que não podemos ter erros nas modelagens pois elas podem comprometer a qualidade do sistema. Visto que tudo será desenvolvido em torno dela.

Mas claro, tem q considerar a situação que o amigo se encontra, em que estágio do desenvolvimento do sistema eles estão e os impactos que as alterações terão...
Responder

12/02/2014

Alex Lekao

Concordo com vc em genero numero e grau. rsrsr

Infelizmente o que se ve muito eh a modelagem sendo feita baseada nos codigos... rsrsr

As FNs sao jogadas no "lixo" praticamente...

nem te conto como eh a modelagem do banco aqui... rsrsr
Responder

12/02/2014

Marisiana Battistella

Acho que imaginei a situação...! hehehe
Responder

12/02/2014

Alex Lekao

KKKKKKKKKKKKKKKKKKKKK
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar