DÊVIDA SUPER SIMPLES SOBRE NORMALIZA?ÃO
Bom dia!
Colegas,estou com uma dúvida simples sobre
modelagem de dados:
O caso:
Programa para montar Escala de trabalho de uma frota de Vans.
Regras de negócio:
- A frota tem várias linhas (6)
- Cada linha, diversas Vans (14)
- Cada Van,pode ser dirigida por qualquer motorista (São 19)
O problema:
Ao modelar(Normalizar),esta simples situação,defini quais são as entidades e o tipo de relacionamento entre elas.
O que já fiz:
Defini 3 entidades: Linha,Carro(VAN) e Motorista.
- Eu sei que no caso da Linha e do Carro o relacionamento é de 1 X N, pois para cada linha eu tenho vários carros,porém cada
carro pertence a uma única linha.
Minha dúvida:
Qual o tipo de relacionamento entre Carro e Motorista ( é de 1 X 1 ou 1 X N)?
Estou na dúvida,pois a principio seria 1 X 1 , pois cada carro pode ter 1 e somente um Motorista,e cada motorista é designado para
apenas um carro.Mas,por outro lado,como é uma escala,para cada carro eu posso designar [Ô]qualquer[Ô] motorista. Isto muda o tipo
de relacionamento,ou não interfere e devo manter o tipo 1 X 1???
Agradeço qualquer ajuda.
Colegas,estou com uma dúvida simples sobre
modelagem de dados:
O caso:
Programa para montar Escala de trabalho de uma frota de Vans.
Regras de negócio:
- A frota tem várias linhas (6)
- Cada linha, diversas Vans (14)
- Cada Van,pode ser dirigida por qualquer motorista (São 19)
O problema:
Ao modelar(Normalizar),esta simples situação,defini quais são as entidades e o tipo de relacionamento entre elas.
O que já fiz:
Defini 3 entidades: Linha,Carro(VAN) e Motorista.
- Eu sei que no caso da Linha e do Carro o relacionamento é de 1 X N, pois para cada linha eu tenho vários carros,porém cada
carro pertence a uma única linha.
Minha dúvida:
Qual o tipo de relacionamento entre Carro e Motorista ( é de 1 X 1 ou 1 X N)?
Estou na dúvida,pois a principio seria 1 X 1 , pois cada carro pode ter 1 e somente um Motorista,e cada motorista é designado para
apenas um carro.Mas,por outro lado,como é uma escala,para cada carro eu posso designar [Ô]qualquer[Ô] motorista. Isto muda o tipo
de relacionamento,ou não interfere e devo manter o tipo 1 X 1???
Agradeço qualquer ajuda.
Desculpe amigo vc já criou um algoritimo para seu programa?
Numca esqueça sem uma logica criada numca sai nada ;D
Mais um toque vc deve criar uma base de dados para admistrar isso fica mais facil de trabalhar e mais profissional.
Numca esqueça sem uma logica criada numca sai nada ;D
Mais um toque vc deve criar uma base de dados para admistrar isso fica mais facil de trabalhar e mais profissional.
Pessoal,
Não criei o algoritmo ainda,pois prefiro modelar (Normalizar) o Banco de Dados primeiro.
Algum colega,que saiba modelar BD,pode me dizer ,se baseado nestas regras de negócio
simples que descrevi,qual é o tipo de relacionamento correto para as entidades Carro e
Motorista?
Não criei o algoritmo ainda,pois prefiro modelar (Normalizar) o Banco de Dados primeiro.
Algum colega,que saiba modelar BD,pode me dizer ,se baseado nestas regras de negócio
simples que descrevi,qual é o tipo de relacionamento correto para as entidades Carro e
Motorista?
Citação:Qual o tipo de relacionamento entre Carro e Motorista ( é de 1 X 1 ou 1 X N)?
Estou na dúvida,pois a principio seria 1 X 1 , pois cada carro pode ter 1 e somente um Motorista,e cada motorista é designado para
apenas um carro.Mas,por outro lado,como é uma escala,para cada carro eu posso designar [Ô]qualquer[Ô] motorista. Isto muda o tipo
de relacionamento,ou não interfere e devo manter o tipo 1 X 1???
Se cada carro só pode ser designado para um motorista, então o certo é você manter o 1 x 1 mesmo, podendo-se incluir nulos. Se por acaso o motorista morrer e houve a necessidade de troca-lo, é só utilizar o update com o código de outro motorista que não está na escala, pois se tiver, a restrição vai bloqueá-lo, o que faz todo sentido, já que você não quer deixar que cada motorista fique com mais de uma VAN. Com isso você previne que o seu banco fuja das regras de negócio e garante sempre a consistência.
Você criou os objetos para compor a escala, que são o carro, linha e motorista. Agora, você precisa de um outro objeto onde você vai unir todas essas informações:
[th]
Acho que deu pra entender. As entidades são todas componentes de uma outra entidade que é a escala. Quando for incluir uma escala, inclua também regras para bloquear um mesmo motorista em dois carros, mesmo carro em duas linhas e qualquer outra regra que precisar.
Escala | [/th]||||
Codigo | Linha | Carro | Motorista | Data |
1 | 4 | 2154 | 8 | 21/01/2016 |
2 | 3 | 8854 | 3 | 21/01/2016 |
Acho que deu pra entender. As entidades são todas componentes de uma outra entidade que é a escala. Quando for incluir uma escala, inclua também regras para bloquear um mesmo motorista em dois carros, mesmo carro em duas linhas e qualquer outra regra que precisar.
Para o colega,Jaba:
Jaba,embora cada Van possa ser designada para um único motorista (De cada vez).Qualquer motorista poderá ser designado
na escala,para qualquer das VANS.Isto muda alguma coisa no tipo de relacionamento???
Para o colega Kerplunk:
Kerplunk,eu já havia de fato previsto a tabela escala,que aliás seria a entidade principal neste caso.Mas,mesmo depois
de adiciona-la ao Banco,como fica na sua opinião,o tipo de relacionamento entre Carro e Motorista(1X1,1XN,ETC..)???
Agradeço a ajuda dos colegas
Jaba,embora cada Van possa ser designada para um único motorista (De cada vez).Qualquer motorista poderá ser designado
na escala,para qualquer das VANS.Isto muda alguma coisa no tipo de relacionamento???
Para o colega Kerplunk:
Kerplunk,eu já havia de fato previsto a tabela escala,que aliás seria a entidade principal neste caso.Mas,mesmo depois
de adiciona-la ao Banco,como fica na sua opinião,o tipo de relacionamento entre Carro e Motorista(1X1,1XN,ETC..)???
Agradeço a ajuda dos colegas
oi MARCOS acabei de responder a sua pergunta em outro post seu. Acredito que esteja relacionado ao mesmo projeto. Mas o que posso dizer é o seguinte.
Se cada van é de responsabilidade de um motorista, coloque uma chave estranjeira da entidade motorista na entidade van com cardinalidade 1:1. Na entidade escala coloque como chaves estrangeiras motorista e van com cardinalidade 1:n
quando estiver na codificação, quando o usuario colocar o codigo da van, automaticamente é selecionado o código do motorista, mas o usuário terá a liberdade de trocar de motorista, caso aconteça de um estar de atestado, folga, férias, etc...
Sei que é meio cedo pra pensar em codificação, mas a codificação é a contiunuação da base, portanto é bom já planejar a forma como vai fazer, pra não ter que voltar lá pra base no meio ou no fim do projeto. Utilize ferramentas de UML pra planejar tudo cara! depois de planejado converse com seu cliente, veja se aquilo que vc planeja é realmente o que ele quer. se for faz um contrato e pede a assinatura dele. Isso vai te livrar de um monte de dor de cabeça. Depois taca-le pau! na base e na codificação! rsrsrsrsrs
Se cada van é de responsabilidade de um motorista, coloque uma chave estranjeira da entidade motorista na entidade van com cardinalidade 1:1. Na entidade escala coloque como chaves estrangeiras motorista e van com cardinalidade 1:n
quando estiver na codificação, quando o usuario colocar o codigo da van, automaticamente é selecionado o código do motorista, mas o usuário terá a liberdade de trocar de motorista, caso aconteça de um estar de atestado, folga, férias, etc...
Sei que é meio cedo pra pensar em codificação, mas a codificação é a contiunuação da base, portanto é bom já planejar a forma como vai fazer, pra não ter que voltar lá pra base no meio ou no fim do projeto. Utilize ferramentas de UML pra planejar tudo cara! depois de planejado converse com seu cliente, veja se aquilo que vc planeja é realmente o que ele quer. se for faz um contrato e pede a assinatura dele. Isso vai te livrar de um monte de dor de cabeça. Depois taca-le pau! na base e na codificação! rsrsrsrsrs
MARCOS, na tabela de escala, o relacionamento vai ser sempre 1x1.
Muito obrigado a todos.
Continuo aprendendo.E o que é mais importante,
Aplicando o que aprendo aqui.
Continuo aprendendo.E o que é mais importante,
Aplicando o que aprendo aqui.
Tópico encerrado , respostas não são mais permitidas