Programmazione

Data type: cosa sono e perché sono importanti   

I data type sono alla base della visualizzazione dei dati o della Big data Analytics. Coniugano anche il machine learning con la possibilità di migliorare e rafforzare il processo decisionale data-driven nel business. Ecco come

Pubblicato il 06 Mag 2022

Data classification: cos'è e a cosa serve

I data type in informatica si riferiscono, come suggerisce il nome, ai tipi di dati, ovvero l’insieme dei valori da attribuire a una variabile e dunque l’insieme di operazioni da eseguire su questi valori. Rivestono particolare importanza nell’attività di raccolta dei dati, dove ormai ogni realtà (pubblica o privata) è letteralmente una fabbrica di dati.

I data type svolgono un ruolo di primo piano anche nella Data visualization, nella Data Analytics, Big datamachine learning. L’obiettivo consiste nell’individuare modelli attraverso l’analisi dei dati e dunque anche nell’automatizzare ilprocesso decisionale nell’era data-driven.

Data-type

Cosa sono i data type

I data type sono un attributo associato ai dati che dice a un computer come interpretare il suo valore. I tipi di dati assicurano che la raccolta dei dati nel formato preferito permetta al valore di ciascuno di essi di soddisfare le aspettative.

A ogni colonna di un foglio di calcolo in un database è assegnato un data type. Nel dettaglio, esso definisce le tipologie di valori da archiviare in una colonna.

I data type non si limitano, dunque, ad aiutare la raccolta dei dati, ma favoriscono e semplificano la data management, la data integration e lo sviluppo di applicazioni (attraverso tool no-code oppure low-code).

Nel machine learning (ML), inoltre, i data type sono una maniera di classificazione che specifica quale tipologia di:

  • valore una variabile può archiviare;
  • operazione matematica, relazione oppure operazione logica si può applicare alla variabile senza causare errori.

I data type coniugano infatti il machine learning con la possibilità di capire meglio la realtà che genera quei dati (e raccontarla con lo storytelling), migliorando e rafforzando il processo decisionale in azienda o nell’organizzazione in cui operiamo. Lo scopo è quello di usare l’innovazione tecnologica per avviare la trasformazione digitale e venire incontro alle mutate necessità del business, mentre il sistema economico subisce, in ogni settore e comparto, un radicale ripensamento nell’era data-driven.

Datatype

Data type in ambito IT

In informatica, se la variabile X è un data type “numero intero” vuol dire che X può assumere come valori soltanto numeri interi appartenenti ad un certo intervallo. Inoltre significa che su tali valori possono avere luogo solo alcune operazioni.
Ciascun linguaggio di programmazione, poi, permette di utilizzare alcuni data type predefiniti. Per questo motivo, dispone di tool per individuarne nuovi tipi in base alle esigenze specifiche di un programma.

Il type casting, per esempio, permette di tradurre una variabile di un data type in una variabile di un’altra tipologia. Certi linguaggi propongono costrutti sintattici a tal fine. Invece altre volte occorre scrivere una funzione ad hoc per associare i valori di un tipo a quelli di un altro data type.

Alcuni esempi di data type

Un buon progetto di tracciamento digitale deve contenere i tipi di dati relativi ad ogni bene o merce, dal momento che i data type assicurano l’accuratezza dei dati e prevengono la perdita di dati (data loss).

La strumentazione è il processo di tracciamento di behavioral data dalle fonti primarie di dati e la loro sincronizzazione a un sistema di storage interno o esterno.

Quando un’azienda decide quali eventi tracciare e quali proprietà collezionare, è sufficiente specificare il tipo di dati di ogni proprietà del tracking plan attraverso strumenti efficienti e con bassa probabilità di errore.

Anche nel calcolo del churn rate, bisogna memorizzare i dati da un sondaggio (in un database o in sistema di terze parti), è necessario specificare il property name (nome_industria, ruolo_lavoro, ragioni_abbandono, grado_soddisfazione eccetera) e il data type (stringa, numero, booleano eccetera) per ciascun campo nella survey. Il property name memorizza il valore immesso e i data type in grado di validare il valore atteso.

Classi di data type

È possibile classificare i tipi di dati a seconda della struttura, suddividendoli in type atomici (o primitivi) e tipi derivati.

I tipi primitivi rappresentano quelli semplici come per esempio numeri interi o booleani: non possono subire una decomposizione; ciascun linguaggio tipizzato ne possiede.

I tipi derivati traggono origine dai tipi atomici tramite operatori ad hoc offerti dal linguaggio di programmazione.

Essi comprendono:

  • i data type strutturati (record);
  • gli array;
  • i puntatori di un tipo fissato (nel linguaggio C);
  • i tipi funzione (nei linguaggi funzionali);
  • le classi dei linguaggi object-oriented eccetera.

Tuttavia esiste un’altra classificazione che separa i type in predefiniti e definiti dall’utente.

In base a questa suddivisione, i tipi predefiniti potrebbero essere assimilati ai tipi atomici. Invece i tipi definiti dall’utente possono coincidere con i data type derivati.

Tuttavia, le due classificazioni si differenziano l’una dall’altra. Infatti, le enumerazioni nei linguaggi come il C sono tipi atomici definiti dall’utente. Invece sempre nel linguaggio C le stringhe rappresentano tipi derivati (dal tipo carattere), ma, al contempo, sono predefinite dal linguaggio.

Invece i tipi definiti dal programmatore sono sovrapponibili perfettamente con i tipi derivati.

Per concludere, i data type più popolari nei linguaggi di programmazione sono:

  • Booleani;
  • numerici;
  • caratteri e stringhe;
  • puntatori;
  • enumerazioni o identificatori;
  • riferimenti;
  • array;
  • record;
  • puntatori a funzione;
  • generici o template.
What Are Data Types?

What Are Data Types?

Guarda questo video su YouTube

Primitivi

I primitivi rappresentano i tipi di dati semplici, per esempio numeri interi o booleani.

Il tipo booleano ha soltanto due valori: vero e falso. Sono comuni nelle espressioni condizionali per monitorare il flusso di esecuzione e risultano manipolabili con gli operatori booleani AND, OR, NOT eccetera.

Sarebbe sufficiente un unico bit per memorizzare un valore booleano. Tuttavia per l’efficienza impone in genere l’utilizzo di un’intera parola di memoria, come per i numeri interi “piccoli”: una parola di memoria a 8 bit, per esempio, può memorizzare numeri da 0 a 255, ma il tipo booleano impiega solo i valori 0 e 1.

I data type primitivi non sono decomponibili e ciascun linguaggio tipizzato ne ha.

Nei linguaggi tipizzati bisogna attribuire non solo alle variabili, ma anche alle espressioni e ai termini dei programmi annotazioni (o dichiarazioni) di tipi di dati.

A seconda del linguaggio, il programmatore specifica le annotazioni di data type. Ma l’interprete oppure il compilatore può generarle automaticamente.

Inoltre, attribuire un tipo di dati a una variabile consente di superare quelle ambiguità in cui incorrono i linguaggi non tipizzati. Per esempio, se si volesse impiegare un valore intero al posto di un puntatore, si verificherebbe un errore o una violazione.

Compositi

Un tipo di dati compositi, anche definito compound data type, si riferisce a qualsiasi data type che è possibile creare in un programma sfruttando i tipi di dati primitivi del linguaggio di programmazione ed altri tipi compositi.

Inoltre è possibile effettuare un assemblamento di elementi di tipi diversi per creare tipi compositi di dati: per esempio strutture, matrici e classi.

Da tipi elementari e da altri tipi compositi è anche possibile compilare data type compositi. Per esempio, è possibile individuare:

  • una matrice di elementi della struttura;
  • oppure una struttura con membri di matrice.

Un type composito differisce dal tipo di dati di uno dei relativi componenti. Una matrice di Integer elementi non è per esempio del tipo Integer di dati.

La rappresentazione di un data type matrice in genere sfrutta:

  • il tipo di elemento;
  • le parentesi;
  • le virgole, se ce n’è bisogno.

Una matrice unidimensionale String di elementi si rappresenta come una matrice bidimensionale di elementi Booleani è rappresentata come Booleana.

Astratti

Un tipo di dato astratto o Abstract Data Type (ADT), in informatica e nella programmazione, è un data type che presenta istanze manipolabili con modalità che dipendono soltanto dalla semantica del dato ovvero dal suo comportamento e non dalla sua realizzazione.

L’astrazione è dovuta a idee virtuali o incomplete, dunque, un data type astratto rappresenta una sorta di scheletro di una struttura di dati. Come uno scheletro, permette di re-impiegare le funzioni sulla base di necessità mirate del programma.

Esempi di data type astratti sono l’elenco e l’oggetto coda ovvero oggetti che mantengono le informazioni in modo lineare, come in un foglio Excel. In entrambi i casi, gestiscono un set di dati e sfruttano le funzioni per manipolarli. Lo scopo è quello di creare un tipo di dati astratto per gestire insiemi di dati. Entrambi inoltre possono usare le stesse funzioni di ordinamento.

Il tipo astratto di dati rappresenta la definizione inferiore di denominatore comune di un set o di una struttura di dati. Grazie all’ereditarietà, le operazioni si possono estendere ai discendenti. Questa tipologia comprende operazioni di base per modificare valori dei dati dentro questa struttura a scheletro.

Infine il tipo di dati astratto può servire a realizzare un database degli oggetti, un progetto di database gerarchico che si fonda su oggetti e relazioni padre-figlio. Nel database degli oggetti, il tipo astratto di dati è multiforme, consentendo così di memorizzare più tipologie di dati nella struttura del database.

Data type: cosa sono e perché sono importanti   

Altri data type

Altri esempi di data type sono i seguenti:

  • Byte;
  • Char (a carattere singolo);
  • Integer (il più comuno data type numerico per memorizzare i numeri senza componente frazionaria);
  • Floating Point;
  • Data;
  • Time;
  • Datetime;
  • Money;
  • Multiset;
  • Row;
  • qualsiasi tipo di testo (PostScript, Hypertext Markup Language o HTML, Standard Graphic Markup Language o SGML orExtensible Markup Language o XML)

I data type coinvolti in ambito Big Data analytics sono numerosi:

  • strutturati;
  • non strutturati;
  • di provenienza geografica;
  • media real-time;
  • linguaggio naturale;
  • time series;
  • eventi, network e collegati.

Bisogna ricordarsi, inoltre, che l’informazione generata dagli uomini è meno pulita di quella generata dai dispositivi IoT.

I dati numerici rappresentano dati dove i data point sono numeri esatti. Gli esperti di statistica li identificano anche come dati quantitativi. Questi dati si riferiscono a misure come il prezzo di una casa o il numero di abitazioni residenziali a Milano o quante case sono state vendute l’anno scorso.

A caratterizzarli sono dati continui o discreti. Quelli continui possono assumere ogni valore in un range in cui i dati discreti hanno valori distinti.

data type

Esempio: machine learning

Nel machine learning esistono quattro data type:

  • i dati numerici (esempio: un takeaway non consegnato nel tempo giusto);
  • categorical data (rappresentano caratteristiche: la posizione, la squadra e la città di un calciatore; se una persona è femmina o maschio; se una proprietà è di natura residenziale o commerciale);
  • quelli riferiti alle time-series (una sequenza di numeri raccolti a intervalli regolari in un periodo di tempo: serve a controllare i trend nella finanza);
  • testo (un esempio: la nuvola di parole o world cloud).

Conoscere i tipi di dati è dunque il prerequisito per esplorarli con la Data analysis e per realizzare i modelli di Machine learning, dopo aver convertito i dati in variabili. Per prendere decisioni, fare scelte appropriate, realizzare una corretta data visualization e fare storytelling in ambito marketing.

A seconda dei data type, infine, si ottengono impatti differenti nei tipi di algoritmi che è possibile usare in ambito engineering e modeling, o il tipo di domande da porre.

Data type nel machine learning

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati