tabelas de banco de dados para as entradas de outra tabela?

votos
0

Eu estou projetando uma nova revisão do meu aplicativo Java (usando um banco de dados H2 incorporado) em torno de um redesenho da maneira que eu vou ser lidar com os meus dados. Aqui está como eu tê-lo planejado:

  • entradas mesa-
    • entrada ID
    • nome da entrada
  • propriedades mesa-
    • ID do imóvel
    • Nome da propriedade
  • (Propriedade individual) mesa- valor
    • valor ID
    • entrada ID
    • (Colunas Valor ...)
  • (Entrada individual) mesa- valor
    • Nome da propriedade
    • (Propriedade individual) ID valor

Cada entrada pode ter várias propriedades (incluindo várias propriedades do mesmo tipo). Cada propriedade tem sua própria maneira de armazenar seus valores. Eu preciso olhar para todas as propriedades definidas para uma determinada entrada, e talvez todas as entradas para cada determinada propriedade.

Será esta uma boa maneira de fazer isso?

Edit: Eu não tenho certeza se eu expliquei bem ...

Publicado 19/05/2009 em 20:07
fonte usuário
Em outras línguas...                            


3 respostas

votos
3

Na minha opinião, essa é uma maneira muito ruim para modelar dados, mas esta é uma maneira muito torre de marfim de olhar para a situação que eu não tive que usar esse modelo em prática. By the way, ele é chamado a abordagem "do atributo de entidade valor". E a razão que eu não gosto é porque é muito un-esquema como em que a funcionalidade mais SQL tem de ser replicado, de alguma forma.

Há definitivamente um tempo e um lugar para ele (como se você pretende modelar muitos objetos que têm modelos diferentes) ou que têm esquemas que mudam com freqüência. Mas eu pessoalmente acho que é terrível.

Respondeu 19/05/2009 em 20:19
fonte usuário

votos
1

Se eu entendi corretamente, eu usaria interseção ou junção tabelas em vez do que você descreveu.

Assim você pode criar uma consulta para que você obtenha todas as propriedades por entery, ou todos os enteries por propriedade.

Respondeu 19/05/2009 em 20:16
fonte usuário

votos
0

Concordo com Desconhecido Google. Isto também é chamado o efeito Inner-plataforma .

Respondeu 19/05/2009 em 21:11
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more