| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/10/2009 11:14:12
|
Eliezer Reis
Java Ninja
Membro desde: 23/04/2006 11:21:50
Mensagens: 291
Localização: Brasil
Offline
|
Tenho várias tabelas que seus conteúdos são muito semelhantes porém fazem parte de diferentes etapas do workflow de uma solução. Exemplo:
História (Id, Titulo, Conteudo, FuncionarioId, X, Y, Z, W, T);
Apuracao (Id, HistoriaId, Link, A, B)
Produção (Id, HistóriaId, Informacoes, C)
Script (Id, HistoriaId)
A tabela Script não terá nada de diferente em relação a sua tabela Pai História mas é um ciclo diferente no workflow do negocio.
Apuração e Produção tem poucos campo em relação a sua tabela Pai.
Gostaria de saber se ficaria feio e muito redundante se juntar todos os campos na tabela História e criar uma outra tabela TipoHistoria. Exemplo
História (Id, Titulo, Conteudo, FuncionarioId, X, Y, Z, W, T,Link, A, B,Informacoes, C ,TipoHistoriaId);
TipoHistoria(Id, Tipo)
E ai, o quê geralmente se usa neste caso? O que vocês acham?
This message was edited 1 time. Last update was at 07/10/2009 17:56:21
|
[]'s Eliezer Reis
SCJP
SCWCD |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/10/2009 11:25:06
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20578
Localização: Curitiba/PR
Offline
|
Já vi muita discussão a respeito disso em fóruns de bancos de dados, e de OO também. Acho que depende. Se todos essas entidades tem realmente um conceito parecido, ou idêntico, junte-as em uma só tabela. Se o conceito dela difere, embora atualmente os campos sejam parecidos, então mantenha em tabelas separadas. Uma coisa que pode te dar uma dica nesse sentido é o uso. Geralmente, essa tabela entra como chave estrangeira em outras para as mesmas coisas? Ou você tem diversos campos separados, de acordo com a etapa do workflow? Além disso, você sente que alguma dessas tabelas tem grandes chances de ter mais campos que as outras não terão no futuro? Você pode querer fazer buscas ou associações de duas coisas dessas ao mesmo tempo, na mesma tela? (por exemplo, uma tela que liste os históricos, com as possibilidades de filtro se irá exibir "apuração", "produção" ou os dois ao mesmo tempo). Considere sempre a possibilidade que talvez apenas 2 ou 3 irão compor uma tabela só, ao invés de todas as 4.
This message was edited 2 times. Last update was at 07/10/2009 11:27:20
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/10/2009 17:56:02
|
Eliezer Reis
Java Ninja
Membro desde: 23/04/2006 11:21:50
Mensagens: 291
Localização: Brasil
Offline
|
ViniGodoy wrote:Se o conceito dela difere, embora atualmente os campos sejam parecidos, então mantenha em tabelas separadas.
Então, refleti bem e acho que este é o caso, vou manter as tabelas separadas porem com uma tabela Pai mantendo os atributos que serão obrigatoriamente repetidos. Nesta tabela terá os principais campos entáo isso será util para outros fins como versionamento e busca no conteudo geral das informaçoes produzidas em todo o workflow.
Esses foram os dois pontos que mais pesaram na definição do meu Modelo mas, so o tempo dirá.
Quando puder, dê uma olhada neste meu outro topico que ainda não tenho uma boa ideia formada.
http://www.guj.com.br/posts/list/140595.java
Abraço
This message was edited 1 time. Last update was at 07/10/2009 17:57:21
|
[]'s Eliezer Reis
SCJP
SCWCD |
|
|
 |
|
|
|
|