Pregunta

Estoy diseñando una nueva revisión de mi aplicación Java (usando una base de datos incrustada H2) en torno a un nuevo diseño de la manera en que yo a ser el manejo de mis datos. He aquí cómo lo tengo planeado:

  • Las entradas mesa-
    • ID Entrada
    • Nombre de entrada
  • Propiedades mesa-
    • Clave
    • Nombre de la propiedad
  • (propiedad individual) valor mesa-
    • Valor ID
    • ID Entrada
    • (columnas de valores ...)
  • (entrada Individual) valor mesa-
    • Nombre de la propiedad
    • (propiedad individual) valor ID

Cada entrada puede tener múltiples propiedades (incluyendo múltiples propiedades del mismo tipo). Cada propiedad tiene su propia manera de almacenar sus valores. Necesito buscar todas las propiedades definidas para una entrada dada, y tal vez todas las entradas para cada propiedad dada.

Es esta una buena manera de hacerlo?

Editar No estoy seguro de lo expliqué bien ...

¿Fue útil?

Solución

En mi opinión, eso es una muy mala manera de modelar datos, pero esto es una forma de torre de marfil muy de mirar la situación ya que no he tenido que utilizar este modelo en la práctica. Por cierto, se llama el enfoque "Entidad-Atributo-Valor". Y la razón me gusta es porque es muy poco esquema similar en el que la funcionalidad de la mayoría de SQL ha de ser replicado de alguna manera.

Definitivamente hay un tiempo y un lugar para él (como si la intención de modelar muchos objetos que tienen modelos diferentes) o que tienen esquemas que cambian con frecuencia. Pero, personalmente, creo que es terrible.

Otros consejos

Si he entendido bien, me gustaría utilizar intersección o tablas unión lugar de lo que descrito.

Así se puede crear una consulta para conseguir que todas las propiedades por Entery, o todos los enteries por la propiedad.

Estoy de acuerdo con Desconocido Google. Esto también se llama la efecto Inner-plataforma .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top