Secondo la mia esperienza, questa idea di immagazzinare i campi in fila deve essere considerata con estrema attenzione - sebbene sembri dare molti vantaggi rende molto più difficili molti compiti comuni.
Sul lato positivo: è facilmente estendibile senza modifiche alla struttura del database e in qualche modo astrae i dettagli dell'archiviazione dei dati.
Sul lato negativo: è necessario esaminare tutte le cose quotidiane che memorizzano i campi in base alle colonne nel DBMS: semplici join interni/esterni, una istruzione inserimenti/aggiornamenti, univocità, chiavi esterne e altro livello db controllo dei vincoli, semplice filtraggio dell'ordine degli annunci dei risultati di ricerca.
Considerare nella propria architettura una query per restituire tutti gli elementi con MetalLayer = X e Larghezza tra y e z - i risultati sono ordinati per Accoppiamento per lunghezza. Questa query è molto più difficile da costruire per te e molto, molto più difficile da eseguire per il DBMS di quanto non sarebbe usare le colonne per memorizzare campi specifici.
Nella bilancia l'unica volta che ho utilizzato una struttura come quella che suggerisci era in un contesto in cui i dati aggiuntivi non strutturati casuali dovevano essere aggiunti su una base ad-hoc. A mio parere, questa sarebbe una strategia di ultima istanza se non potessi realizzare una struttura di tavoli più tradizionale.
Shef, che avrebbe funzionato, ma non essere normalizzato. – nageeb
ho pensato che la chiave primaria debba essere unica? – Gordon
Questo non può essere normalizzato perché non è una relazione. –