Memorizza valori arbitrari relativi al record mysql

1

Ho creato un'app che gestisce un flusso di lavoro di pulizia dei dati. Ogni riga importata deve memorizzare un numero arbitrario di coppie di valori chiave oltre al nostro schema mysql standard. I valori chiave devono essere ricercabili. Sto usando rails + mysql attualmente. Quali sono le mie opzioni? A partire da ora, sto solo aggiungendo un nuovo campo allo schema delle rotaie quando nascono nuovi requisiti, ho bisogno di un modo per archiviare dati extra per ogni riga che potrebbe non essere applicata ad altre righe.

    
posta opensourcechris 01.07.2014 - 02:08
fonte

1 risposta

1

In base alle informazioni fornite, sembra una nuova tabella (tabella KeyValues con tre colonne: chiave esterna, chiave, valore in cui la chiave esterna collega questa nuova tabella alla tabella esistente.

Ciò consentirà:

  1. È possibile memorizzare un numero arbitrario di coppie chiave / valore, che può essere indicizzato e ricercato e, se necessario, è possibile partecipare alle query con i record delle tabelle esistenti.
  2. Se una riga nella tua tabella / i esistente / i non ha coppie chiave / valore da memorizzare, allora non avrebbe la voce in questa nuova tabella KeyValues.
  3. Questo non impone alcuna restrizione sul numero di chiavi che ogni riga ha e non richiederebbe una modifica nello schema delle tabelle esistenti ogni volta che una nuova chiave deve essere aggiunta.

Sulla base delle informazioni nella domanda, penso che se hai fatto una 3NF normalizzazione , molto probabilmente finiresti con questo tipo di schema.

    
risposta data 01.07.2014 - 05:02
fonte

Leggi altre domande sui tag