Ajuda com modelagem
Tenho 3 tabelas referentes a produtos, [FERRAMENTAL], [ITENS DE CONSUMO], [EQUIPAMENTOS]. Estão em tabelas separadas pois armazenam dados diferentes (poucos campos são iguais).
Tenho uma terceira tabela [MOVIMENTAÇÃO] que registra a movimentação desses itens. O campo <item> pode se referir a qualquer uma das três tabelas, ou seja, pode ser tanto um FERRAMENTAL, um ITEN DE CONSUMO ou um EQUIPAMENTO.
Como ficaria esse relacionamento?
Tenho uma terceira tabela [MOVIMENTAÇÃO] que registra a movimentação desses itens. O campo <item> pode se referir a qualquer uma das três tabelas, ou seja, pode ser tanto um FERRAMENTAL, um ITEN DE CONSUMO ou um EQUIPAMENTO.
Como ficaria esse relacionamento?
Matheus Sraiva
Curtidas 0
Respostas
Alan Mario
13/09/2013
você citou as tabelas mas eu não entendi o banco como um todo, é de que? venda, cadastro...hospitalar...
GOSTEI 0
Matheus Sraiva
13/09/2013
nada nesse sentido, na verdade são itens de um almoxarifado.
As tabelas devem ficar separadas nessas categorias, pois a maioria dos campos necessários para cada uma delas são diferentes.
Meu objetivo é criar uma tabela única de movimentação desses materiais, não quero ter que criar uma tabela de movimentação para cada categoria de material. Exemplo
[MOVIMENTAÇÃO DE FERRAMENTAL], [MOVIMENTAÇÃO DE ITENS DE CONSUMO], [MOVIMENTAÇÃO DE EQUIPAMENTOS]
Não quero fazer isso.
As tabelas devem ficar separadas nessas categorias, pois a maioria dos campos necessários para cada uma delas são diferentes.
Meu objetivo é criar uma tabela única de movimentação desses materiais, não quero ter que criar uma tabela de movimentação para cada categoria de material. Exemplo
[MOVIMENTAÇÃO DE FERRAMENTAL], [MOVIMENTAÇÃO DE ITENS DE CONSUMO], [MOVIMENTAÇÃO DE EQUIPAMENTOS]
Não quero fazer isso.
GOSTEI 0
Alan Mario
13/09/2013
tambem acho que vc deveria colocar tudo isso em um tabela, ficaria mais enxuto, coloca só algo relacionado a chave primaria dessa tabela.
[MOVIMENTAÇÃO DE FERRAMENTAL], [MOVIMENTAÇÃO DE ITENS DE CONSUMO], [MOVIMENTAÇÃO DE EQUIPAMENTOS]
GOSTEI 0
Matheus Sraiva
13/09/2013
De qualquer forma... Tem como fazer esse relacionamento da forma que eu quero ou é impossível?
GOSTEI 0
Alan Mario
13/09/2013
liste todas as suas tabelas.
GOSTEI 0
Matheus Sraiva
13/09/2013
[url]http://img571.imageshack.us/img571/3991/eu57.png[/url]
Quero deixar as tabelas separadas como estão, e quero uma tabela única para movimentação das três. Não quero juntar.
Isso é praxe, se juntar tudo numa só o resto seria tranquilo e eu nem estaria aqui.
O desafio é fazer uma relacionamento dessa forma que eu estou propondo, se é que tem como relacionar.
Quero deixar as tabelas separadas como estão, e quero uma tabela única para movimentação das três. Não quero juntar.
Isso é praxe, se juntar tudo numa só o resto seria tranquilo e eu nem estaria aqui.
O desafio é fazer uma relacionamento dessa forma que eu estou propondo, se é que tem como relacionar.
GOSTEI 0
Marcos Saffran
13/09/2013
Boa noite Matheus,
crie, na tabela de movimentação um campo para diferenciar de qual tabela pertence o produto.
tbMovimentacao
id_tbMovimentacao
id_Produto
tbOrigem (aqui você informa de qual tabela o produto pertence - pode ser o nome da tabela, ou mesmo um número que a identifique)
etc.
crie, na tabela de movimentação um campo para diferenciar de qual tabela pertence o produto.
tbMovimentacao
id_tbMovimentacao
id_Produto
tbOrigem (aqui você informa de qual tabela o produto pertence - pode ser o nome da tabela, ou mesmo um número que a identifique)
etc.
GOSTEI 0
Marcos Saffran
13/09/2013
Boa noite Matheus,
crie, na tabela de movimentação um campo para diferenciar de qual tabela pertence o produto.
tbMovimentacao
id_tbMovimentacao
id_Produto
tbOrigem (aqui você informa de qual tabela o produto pertence - pode ser o nome da tabela, ou mesmo um número que a identifique)
etc.
crie, na tabela de movimentação um campo para diferenciar de qual tabela pertence o produto.
tbMovimentacao
id_tbMovimentacao
id_Produto
tbOrigem (aqui você informa de qual tabela o produto pertence - pode ser o nome da tabela, ou mesmo um número que a identifique)
etc.
GOSTEI 0
Matheus Sraiva
13/09/2013
Nesse caso então a tabela de movimentação não terá um relacionamento direto com as outras tabelas? Ou seja, não haverá chave estrangeira?
Boa noite Matheus,
crie, na tabela de movimentação um campo para diferenciar de qual tabela pertence o produto.
tbMovimentacao
id_tbMovimentacao
id_Produto
tbOrigem (aqui você informa de qual tabela o produto pertence - pode ser o nome da tabela, ou mesmo um número que a identifique)
etc.
crie, na tabela de movimentação um campo para diferenciar de qual tabela pertence o produto.
tbMovimentacao
id_tbMovimentacao
id_Produto
tbOrigem (aqui você informa de qual tabela o produto pertence - pode ser o nome da tabela, ou mesmo um número que a identifique)
etc.
GOSTEI 0
Marcos Saffran
13/09/2013
Bom dia Matheus,
nesse caso não haverá chave estrangeira, apenas os campos referenciando a tabela e o código, imaginei que o gerenciamento dessas referências seja feito por um programa.
Outra ideia que tive é criar um produto em cada tabela com um código específico, por exemplo 1, então, na tabela de movimentação cria-se três chaves estrangeiras, cada uma ligando a uma tabela diferente, então ao criar a movimentação, o código do produto irá para a chave estrangeira correspondente e as outras duas recebem o código específico, 1.
Não sei se estou conseguindo ser claro, mas se tiver alguma dúvida me avise.
nesse caso não haverá chave estrangeira, apenas os campos referenciando a tabela e o código, imaginei que o gerenciamento dessas referências seja feito por um programa.
Outra ideia que tive é criar um produto em cada tabela com um código específico, por exemplo 1, então, na tabela de movimentação cria-se três chaves estrangeiras, cada uma ligando a uma tabela diferente, então ao criar a movimentação, o código do produto irá para a chave estrangeira correspondente e as outras duas recebem o código específico, 1.
Não sei se estou conseguindo ser claro, mas se tiver alguma dúvida me avise.
GOSTEI 0
Marcos Saffran
13/09/2013
Bom dia Matheus,
nesse caso não haverá chave estrangeira, apenas os campos referenciando a tabela e o código, imaginei que o gerenciamento dessas referências seja feito por um programa.
Outra ideia que tive é criar um produto em cada tabela com um código específico, por exemplo 1, então, na tabela de movimentação cria-se três chaves estrangeiras, cada uma ligando a uma tabela diferente, então ao criar a movimentação, o código do produto irá para a chave estrangeira correspondente e as outras duas recebem o código específico, 1.
Não sei se estou conseguindo ser claro, mas se tiver alguma dúvida me avise.
nesse caso não haverá chave estrangeira, apenas os campos referenciando a tabela e o código, imaginei que o gerenciamento dessas referências seja feito por um programa.
Outra ideia que tive é criar um produto em cada tabela com um código específico, por exemplo 1, então, na tabela de movimentação cria-se três chaves estrangeiras, cada uma ligando a uma tabela diferente, então ao criar a movimentação, o código do produto irá para a chave estrangeira correspondente e as outras duas recebem o código específico, 1.
Não sei se estou conseguindo ser claro, mas se tiver alguma dúvida me avise.
GOSTEI 0
Matheus Sraiva
13/09/2013
um campo na tabela de movimentação que vai apontar com chave estrangeira para tabelas diferentes? várias chaves estrangeira em um mesmo campo?
GOSTEI 0
Marcos Saffran
13/09/2013
Na tabela movimentação seriam 3 chaves estrangeiras, uma para equipamento, uma para itensconsumo e outra para ferramental.
Assim, se o código específico criado nas três tabelas seja o 1 e você movimente o produto de código 123 da tabela ferramental teremos:
fk_equipamento = 1
fk_itensconsumo = 1
fk_ferramental = 123,
se o produto movimentado for de código 123 da tabela equipamento, teremos:
fk_equipamento = 123
fk_itensconsumo = 1
fk_ferramental = 1
Assim, se o código específico criado nas três tabelas seja o 1 e você movimente o produto de código 123 da tabela ferramental teremos:
fk_equipamento = 1
fk_itensconsumo = 1
fk_ferramental = 123,
se o produto movimentado for de código 123 da tabela equipamento, teremos:
fk_equipamento = 123
fk_itensconsumo = 1
fk_ferramental = 1
GOSTEI 0
Matheus Sraiva
13/09/2013
Ummm, então teria-se que acrescentar mais esses três campos na tabela de movimentação? Um campo que irá apontar (FK) para Ferramentas, ou que irá apontar (FK) para Itensdeconsumo e outro que irá apontar (FK) para Equipamentos?
Se assim for acho que é mais enxuto deixar o relacionamento a cargo da aplicação mesmo.
Se assim for acho que é mais enxuto deixar o relacionamento a cargo da aplicação mesmo.
GOSTEI 0
Marcos Saffran
13/09/2013
É isso mesmo, também acho melhor deixar a cargo da aplicação.
GOSTEI 0