Domanda

Sto progettando una nuova revisione della mia applicazione Java (utilizzando un database incorporato H2) attorno ad una riprogettazione del modo in cui sarò maneggiando i miei dati. Ecco come l'ho programmato:

  • Voci tavolo-
    • Articolo con ID
    • Nome della voce
  • Proprietà tavolo-
    • ID proprietà
    • Nome proprietà
  • (proprietà individuale) Valore tavolo-
    • Valore ID
    • Articolo con ID
    • (colonne di valore ...)
  • (ingresso individuale) Valore tavolo-
    • Nome proprietà
    • (proprietà individuale) valore ID

Ogni voce può avere più proprietà (tra cui proprietà multiple dello stesso tipo). Ogni struttura ha il suo modo di memorizzare i valori. Ho bisogno di cercare tutte le proprietà definite per una data di entrata, e forse tutte le voci per ogni determinata proprietà.

E 'questo un buon modo per farlo?

Modifica non sono sicuro ho spiegato bene ...

È stato utile?

Soluzione

A mio parere, questo è un modo molto male per modellare i dati, ma questo è un modo torre d'avorio molto di guardare la situazione come non ho dovuto usare questo modello in pratica. Tra l'altro, si chiama l'approccio "Entità-attributo-valore". E la ragione non mi piace è perché è molto non-schema-come in quel funzionalità più SQL ha da replicare in qualche modo.

C'è sicuramente un tempo e un luogo per esso (come se si intende per modellare molti oggetti che hanno modelli diversi) o che hanno schemi che cambiano di frequente. Ma io personalmente penso che sia terribile.

Altri suggerimenti

Se ho capito bene, vorrei utilizzare incrocio o svincolo tabelle invece di quello che descritto.

Così si può creare una query per ottenere tutte le proprietà per Entery, o tutte le enteries per casa.

Sono d'accordo con Google sconosciuta. Questo è anche chiamato il effetto Inner-piattaforma .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top