Strutture dati: verticale vs orizzontale¶
Quando si progettano strutture di dati tabulari è consigliabile evitare la crescita orizzontale dei valori.
Modalità sconsigliata
osservazione | osservazione | osservazione | |
---|---|---|---|
variabile | |||
variabile |
Modalità consigliata
variabile | variabile | variabile | |
---|---|---|---|
osservazione | |||
osservazione |
Quando è possibile, è preferibile mettere le variabili o gli attributi dei dati nelle colonne di una tabella e aggiungere i valori corrispondenti alle osservazioni dei dati nelle righe.
La crescita orizzontale di una struttura di dati tabulari può rendere difficile la manutenzione e la creazione di visualizzazioni.
In generale, è più facile identificare le relazioni tra le variabili nelle colonne che tra le righe, ed è più facile fare confronti tra gruppi di osservazioni nelle righe che tra gruppi di colonne.
Tuttavia, questa raccomandazione dovrebbe essere adattata in base alle esigenze di aggiornamento dei dati:
- Se è necessario registrare nuove variabili o attributi che non sono stati registrati in precedenza, per esempio una serie temporale, allora è ragionevole far crescere la struttura dei dati orizzontalmente, cioè aggiungere nuove colonne. Questo permetterà di inserire le osservazioni per le nuove variabili mantenendo i valori vuoti nelle osservazioni pre-aggiornamento per queste nuove colonne, se non esiste un valore assegnabile per quelle osservazioni. Quando si aggiungono nuove osservazioni, si devono necessariamente inserire nuove righe.
Esempio:¶
crescita orizzontale vs. verticale.
Cattiva prassi
marca | guasto_radiatore | guasto_carburatore | guasto_sospensione | guasto_frizione |
---|---|---|---|---|
chevrolet chevelle malibu | 0 | 7 | 1 | 0 |
buick skylark 320 | 1 | 2 | 2 | 2 |
Buona prassi
marca | tipo_guasto | quantita_guasti |
---|---|---|
chevrolet chevelle malibu | radiatore | 0 |
chevrolet chevelle malibu | carburatore | 7 |
chevrolet chevelle malibu | sospensione | 1 |
chevrolet chevelle malibu | frizione | 0 |
buick skylark 320 | radiatore | 1 |
buick skylark 320 | carburatore | 2 |
buick skylark 320 | sospensione | 2 |
buick skylark 320 | frizione | 2 |
plymouth satellite | radiatore | 0 |
plymouth satellite | carburatore | 4 |
plymouth satellite | sospensione | 4 |
plymouth satellite | frizione | 1 |
L'esempio mostra un modo di organizzare i dati evitando la crescita orizzontale della struttura dei dati aggiungendo nuove variabili simili a quelle esistenti. La trasposizione in una struttura verticale creando due nuove variabili, 'tipo_guasto
' e 'quantita_guasti
', permette di aggiungere facilmente nuove osservazioni sotto forma di righe.
D'altra parte, quando vengono pubblicate serie temporali, per esempio la storia della domanda di veicoli per gli anni 1972-1977, la crescita orizzontale della struttura è ragionevole se si presenta la necessità, per esempio, di completare la serie temporale per gli anni '70.
marca | 1972 | 1973 | 1974 | 1975 | 1976 | 1977 |
---|---|---|---|---|---|---|
chevrolet chevelle malibu | 345 | 423 | 1234 | 1690 | 2345 | 2134 |
buick skylark 320 | 124 | 252 | 785 | 914 | 1353 | 896 |
plymouth satellite | 57 | 71 | 165 | 315 | 1104 | 1561 |