< Home
Stampa

Dati e informazioni

Sommario

Sistemi informativi e sistemi informatici

Ricordiamo la distinzione tra dato ed informazione

  • un’informazione è una porzione di conoscenza o un insieme di porzioni di conoscenza a cui possiamo dare un significato;
  • un dato è un qualsiasi porzione di conoscenza memorizzabile anche in forma digitale che non necessariamente ha un significato.

Sulla base di questo possiamo dare queste due definizioni:

  • un sistema informatico è quell’insieme di apparati che elaborano dati in modo automatico, di norma computer e reti di calcolatori e i relativi software;
  • un sistema informativo è invece l’insieme delle persone o l’organizzazione che si occupa della gestione e dell’elaborazione di informazioni.

Un sistema informativo non necessariamente utilizza un sistema informatico.

Ad esempio banche, uffici postali, amministrazioni pubbliche e private sono sistemi informativi che esistono da molto prima dell’avvento dei computer, e che prima di questi usavano archivi cartacei, registri, documenti, ecc. Con la rivoluzione informatica, questi sistemi informativi si sono digitalizzati, automatizzando l’elaborazione e la memorizzazione delle informazioni sotto la forma di dati.

Un sistema informatico è efficace se riesce effettivamente a soddisfare le esigenze del sistema informativo che lo utilizza, ovvero quanto è in grado di dare valore al sistema informativo nel suo complesso.

Vediamo tre esempi di sistemi informativi che includono un sistema informatico:

  • Il registro di una scuola. I registri delle scuole esistono da ben prima dell’avvento digitale, ed ancora qualche vecchio docente se li ricorda. Con l’informatizzazione, sono stati creati dei sistemi informatici per la gestione dei dati, con annessi server, siti web, app, ecc. Il sistema informativo comprende i contenuti del registro (presenze, voti, ecc.) e viene usato dal personale della scuola, i docenti e gli studenti. Il sistema informatico deve essere progettato non solo per memorizzare i dati, ma anche per organizzarli in modo utile ad essere efficace: non solo inserire e visualizzare voi, ma rendere possibile mostrarli subito agli studenti ed alle famiglie. Lo stesso vale per presenze ed assenze, comunicazioni, note (anche disciplinari!), ecc. Il valore aggiunto rispetto al registro tradizionale sta nel fatto che i dati digitali sono immediatamente condivisibili, è più difficile smarrirli, si ha maggiore sicurezza, ed infine sono utilizzabili su diversi dispositivi.

  • Un social network. In questo sistema gli utenti finali possono produrre contenuti e visualizzare i contenuti di altri utenti, possono interagire tra loro (ad esempio tramite chat, citazioni, commenti, ecc.) su diversi dispositivi (app mobile e siti web). Sono poi presenti gli admin che gestiscono le policy di sicurezza e le regole di pubblicazione, ed infine il team di sviluppo che aggiunge funzioni ed elimina i difetti, amministra problematiche tecniche, ecc. Il sistema informatico è invece ‘insieme di applicazioni distribuite su Internet che gestiscono i dati, i contenuti, le regole di visibilità, l’accesso degli utenti, ecc.
    Anche prima del digitale, esistevano le bacheche per condividere messaggi: ma in questo caso il sistema informatico rende disponibile forme di interazione del tutto nuove: la condivisione ovunque e sotto molteplici forme, con la gestione della sicurezza, delle notifiche e della possibilità di personalizzare i contenuti.

  • Un ecommerce. Questo sistema informativo prevede la gestione di prodotti, cataloghi, ordini, pagamenti e due tipologie principali di utenti: i clienti, che acquistano i prodotti, ed i venditori che mettono in vendita le merci. Oltre a questi sono comunque presenti amministratori, per la gestione dei vari tipi di utenti, e gli stakeholders tecnici, per manutenzione ed evoluzione del sistema.
    Sistemi informativi simili esistono da secoli, la digitalizzazione dematerializza la compravendita, con un insieme di vantaggi (possibilità di consultazione del catalogo da remoto, spedizione, restituzione, possibilità di vedere recensioni e valutazioni, ecc.) ma anche degli svantaggi: non è possibile provare i prodotti dal vivo, è più difficile avere un consiglio, ci sono tempi di attesa, ecc.). Come si vede in questo terzo scenario, l’informatizzazione non porta solo vantaggi.

Sulla base degli esempi precedenti possiamo dire che l’avvento dei sistemi informatici non introduce solo un mezzo nuovo per gestire i sistemi informativi, ma grazie alla tecnologia ne possono condizionare anche il comportamento ed il funzionamento, grazie a nuovi processi e funzionalità che senza di esso non sarebbero possibili, ed eliminando allo stesso tempo processi e funzionalità esistenti. Questa evoluzione, dove la tecnologia informatica ha un impatto sul modo in cui si gestiscono informazioni e risorse, è noto come trasformazione digitale.

La trasformazione digitale ha sempre di più modificato il comportamento dei sistemi informativi tradizionali, per adattarli e soprattutto migliorarne l’efficacia, lungo due direzioni:

  • Evolvere il funzionamento del sistema informativo grazie alle tecnologie digitali, come ad esempio la comunicazione su Internet, la maggiore sicurezza, la conservazione all’infinito dei dati, ecc.
  • Innovare i sistemi informativi introducendo le novità tecnologiche, come gli smartphone, il Cloud e l’IoT, che ne hanno progressivamente mutato le funzioni e le potenzialità.

Nel contesto della trasformazione digitale, quindi il sistema informatico è allo stesso tempo sia strumento del sistema informativo sia catalizzatore del cambiamento del paradigma di funzionamento dello stesso. Occorre quindi pensare ai due sistemi come parte entrambi dello stesso macrosistema.

Modellizzazione dei dati

L’obiettivo della modellizzazione è quello di prendere una realtà di riferimento e trasformarla in un modello concettuale che la rappresenti in modo generale, in modo che possa funzionare in varianti differenti della stessa realtà. Ad esempio un modello di registro elettronico deve funzionare indipendentemente dalla scuola in cui è usato, sia che abbia 20 classi che ne abbia 100, sia in un liceo che in un professionale. Allo stesso modo un modello per l’ecommerce deve funzionare qualsiasi sia la categoria dei beni da vendere, o una banca deve funzionare sia che sia il banco di provincia che la banca centrale di Zurigo.

La modellizzazione della conoscenza non è un problema banale, ed è un ambito di ricerca in molte discipline, dall’informatica, matematica, logica e infine filosofia (nello specifico l’epistemologia, quella branca della filosofia che studia la teoria della conoscenza scientifica). Essa consiste nel trovare nei dati delle correlazioni e dei significati che non cambino nel tempo e non dipendano dal valore dei dati stessi o dalla loro quantità. Inoltre vanno esclusi i dati non di interesse: non importa infatti il colore delle pareti della scuola, o se la banca è nella piazza centrale del paese, o se l’ecommerce è gestito da due ragazzini di 12 anni.

Per capirlo bisogna partire dalle porzioni più piccole di informazione, cioè i dati.

I dati, in un sistema informativo, rappresentano porzioni di conoscenza. Ad esempio in una banca i dati sono i conti correnti, i clienti, i bonifici, le operazioni sui conti. Essi sono memorizzati in memoria, registrati in supporti permanenti (come le memorie di massa), e condivisi su Internet con altri sistemi informatici.

I dati hanno però senso quando sono strutturati in qualche modo, cioè collegati tra loro in modo da dare loro un significato, tramite etichette ed associazioni. Il valore di movimento di cassa, perché abbia senso, va collegato ad una causale ed ad una data, un voto memorizzato in un registro ha senso se associato ad uno studente, e così via. I dati grezzi in sè non sono significativi (cioè non producono informazione) se non li si struttura in modo tale da dare loro un significato. In altri termini l’informazione contenuta nei dati dipende sia dal loro contenuto (il valore) sia dalla loro strutturazione con altri dati (significato).

Operativamente al dato noi possiamo dare tre tipologie di strutture di significato:

  • l’etichetta
  • l’associazione di più dati in singole entità
  • la relazione semantica tra più entità

Etichette

Una etichetta (label) associa un dato ad un concetto: ad esempio se associamo ad un numero decimale l’etichetta “voto”, allora diamo un significato al dato, ovvero la sua etichetta. Se associamo un numero decimale ad una etichetta “saldo” allora diamo un altro significato.

{Mario: 6.5}

{Saldo: 6.5 }

Lo stesso valore numerico ha due significati completamente differenti.

Entità

L’entità è un’associazione diretta tra dati che hanno qualche relazione forte tra loro: se associamo {voto:6.5} a {studente:”Mario”} creiamo una “valutazione”, cioè una entità logica con un significato dato proprio dato dall’associazione stessa tra più dati (etichettati) collegati tra loro da una relazione concettuale. Le label di dati di una entità sono chiamati attributi, con specifici valori. L’entità ha una struttura quindi data dai suoi attributi, che ne determina il tipo. Per ogni entità possono esistere molte istanze, ovvero ad esempio valutazioni differenti di differenti studenti. Una forma particolarmente efficace per rappresentarle è la tabella:

StudenteVoto
Rossi6
Brambilla5
Russo8
Ferrari7

Relazioni

Una o più relazioni tra più entità distinte consente di creare una struttura dati che aggiunge un nuovo livello di significato. Ad esempio se associamo i voti ad una materia, con la sua descrizione, aggiungiamo nuova informazione.

Intensionalità ed estensionalità

Introduciamo ora i i concetti di intensionalità ed estensionalità.

  • l’estensionalità rappresenta la quantità di dati grezzi a disposizione in termini di valori memorizzabili, al netto della loro capacità di essere organizzabili con etichette, entità e relazioni. Maggiore la quantità di dati, maggiore l’estensionalità. I dati grezzi per loro natura possono variare nel tempo in base al contesto operativo di utilizzo degli stessi. Ad esempio in una scuola gli studenti e i voti cambiano costantemente nel tempo, l’estensionalità guarda il loro numero, pertanto due scuole di dimensioni differenti avranno diversa estensionalità.
  • l’intensionalità rappresenta invece la capacità di costruire organizzazioni dei dati (etichette, entità, relazioni) anche al variare dei dati stessi nel tempo. L’intensionalità resta costante nel tempo, ovvero non dipende dai valori assunti dai dati, nè dalla loro quantità. Due scuole diverse possono avere un diverso tipo di estensionalità, ma hanno la stessa intensionalità.

Estensionalità ed intensionalità sono concetti non sempre collegati tra loro: la prima ha a che fare con la capacità di memorizzazione del sistema informatico (ovver quanti dati può memorizzare), la seconda la capacità di organizzazione dei dati (ovvero quanto poche sono le strutture dati rispetto ai dati stessi). Sulla base di questo possiamo individuare tre grandi scenari.

Alta intensionalità: le basi dati

Avviene quando l’estensionalità dei dati permette di realizzare a partire dai dati un numero limitato di schemi, ovvero consente di strutturare un modello semplice ed efficiente su cui è possibile effettuare le stesse operazioni su dati con valori differenti, ma con la stessa struttura.

Ad esempio un registro elettronico può avere una grande estensionalità, con migliaia o milioni di presenze e voti, ma usa una struttura con pochi schemi rispetto ai dati stessi (non dipende cioè dal loro numero). Si dice che ha una alta intensionalità, perché la struttura organizzativa da un significato esplicito, vincolante ed omnicomprensivo. Allo stesso modo una banca può avere milioni di conti correnti, che però hanno gli stessi attributi e struttura. Analogamente un motore di ricerca memorizza miliardi di siti, ma all’interno di una struttura fissa e predeterminata.

In questo scenario la progettazione della struttura viene fatta analizzando i dati grezzi e viene costruita in modo da inserirci i dati successivamente, secondo l’organizzazione già definita. Grazie all’alta intensionalità è possibile costruire un software che automatizza la gestione anche di grandi quantità di dati, dato il limitato numero di strutture necessarie.

Questi software sono chiamati database.

Alta estensionalità e bassa intensionalità: i Data Lake

Avviene quando all’estensionalità dei dati grezzi non corrisponde la possibilità di stabilire uno schema predeterminato con un numero limitato di schemi. Si parla più propriamente di Big data quando i dati grezzi hanno una grande estensionalità. La struttura è detta semirigida: in base all’estensionalità dei dati possono corrispondere strutture differenti, con alcune parti comuni, altre descritte in modo flessibile, oppure mancanti o anche con diverso significato.

Ad esempio gli archivi dati possono memorizzare dati grezzi provenienti da differenti forme e strutture, memorizzati insieme ma in modo solo parzialmente collegato tra loro: ad esempio dati climatici, di traffico, di utilizzo delle reti, da fonti audio/video, ecc. che sono inseriti nello stesso “calderone” digitale, ma senza una struttura predeterminata, chiamato Data Lake.

In ambito informatico esistono soluzioni software per affrontare questi scenari, come i database documentali, che sono in grado di applicare uno schema flessibile che raggruppa strutture che differiscono in toto o in parte tra di loro. Per fare un esempio, uno scenario Big Data è quello dell’analisi del traffico nella rete autostradale, dove si utilizzano strutture flessibili che memorizzano digitalmente dati di traffico e contesto molto differenti tra loro nello stesso Data Lake, come ad esempio una coda di auto, un incidente, un cantiere, ecc. Questo consente quindi sia la memorizzazione, che, in una certa misura, lo studio di correlazioni. L’aspetto interessante è che l’analisi delle correlazioni non avviene prima dell’inserimento dei dati, ma dopo.

Un altro scenario tipico è quello della diagnostica in ambito sanitario: i sintomi del paziente uniti alle misurazioni strumentali vengono memorizzati in strutture dinamiche che consentono poi ai sistemi automatici di condurre delle analisi sui dati. In modo analogo esistono Data Lake che studiano l’andamento dell’economia, della borsa e le loro correlazioni con eventi esterni, ci sono Data Lake che studiano l’andamento nel tempo delle preferenze del pubblico, le mode, i trend, al fine di fare analisi computazionali e statistiche di tiplo classificatorio o predittivo.

Il machine learning, una branca dell’Intelligenza artificiale, utilizza un insieme di algoritmi e metodi statistici per individuare le correlazioni, fare classificazioni e previsioni sulla base dei dati a disposizione, al fine di creare strutture dati che cercano di approssimare un ordine in un sistema di dati parzialmente organizzato.

Bassa intensionalità ed alta estensionalità: le IA

C’è un punto di rottura nei Big Data per cui la realtà di riferimento è così disomogenea che le strutture create anche a posteriori hanno una intensionalità così bassa che male si adattano anche a piccole variazioni dei dati, tale da prevedere molte intepretazioni e strutture per piccole variazioni degli stessi dati grezzi. E’ il caso del linguaggio naturale, che prevede per ogni parola ed ogni contesto più strutture di comprensione dell’informazione, senza la possibilità di creare schemi “universali”. Ad esempio è possibile scrivere frasi anche facendo errori di grammatica, ed essere comprensibili (“guerra dei cloni cominciata è” del maestro Yoda), o frasi grammaticalmente corrette ma non immediatamente comprensibili (“il mare impetuoso al tramonto salì sulla Luna e dietro una tendina di stelle” del maestro Zucchero). L’essere umano comprende entrambe le affermazioni ma solo perché dispone di un adeguato contesto culturale, e sa collegarlo in modo appropriato.

In ambito informatico gli strumenti che affrontano il linguaggio naturale (NLP, natural language processing) usano tecnologie di deep learning come le reti neurali, che anziché trovare uno schema con cui ordinare l’universo del linguaggio, memorizzano il maggior numero possibile di testi scritti e poi mediante strumenti statistici e di geometria vettoriale (tramite il concetto di tokenizzazione e minimizzando una funzione di ottimizzazione) vanno a mappare le relazioni valide tra parole, e sono in generale in grado di estrarre informazione dalle frasi, o di generare frasi in linguaggio naturali comprensibili da un essere umano perché riescono a cogliere il contesto della frase stessa.

Non si può parlare di vera e propria comprensione, ma di inferenza statistica ottimizzata al punto tale da estrarre significato dai testi umani, e produrre testo significativo da parte dell’utente. Un’applicazione di questa tecnologia sono i moderni LLM, come Gemini e ChatGPT.

Rappresentazione dei dati

In questa trattazione affronteremo sistemi informativi e dati ad alta intensionalità, arrivando a definire come i dati sono organizzati in strutture dati coerenti ed efficienti valide per tutta l’estensionalità dei dati.

In ambito informatico prenderemo in esame le principali strutture dati già viste nei corsi di programmazione, per vedere come possono essere utili per rappresentare la conoscenza.

Tabelle

Come abbiamo visto sopra i dati di una entità possono essere organizzati sono forma di tabella, sfruttando le colonne per memorizzare gli attributi e le righe per rappresentare i valori, detti record.

StudenteVoto
Rossi6
Brambilla5
Russo8
Ferrari7

La tabella difatti è il tipo di struttura dati più utilizzata al mondo, per la sua semplicità ed immediatezza, tanto che è stato inventata sin dagli anni ’80 l’applicazione Foglio di calcolo (ad esempio Excel o Google Fogli) che consente di organizzare l’informazione appunto in modo tabellare, con tutta una serie di strumenti per eseguire filtri, ricerche, ordinamenti, calcolare automaticamente valori, generare grafici, ecc. anche tramite script automatici. Il suo formato di esportazione più noto, il CSV (un file di testo con valori formattati di una tabella), è uno dei formati più diffusi al mondo per lo scambio di dati su Internet.

La tabella funziona meglio se andiamo ad identificare ogni istanza con un identificativo, un valore (numerico o stringa).

IdentificativoStudenteVoto
1Rossi6
2Brambilla5
3Russo8
4Ferrari7

Il campo Identificativo permette di distinguere tra loro le righe senza dover controllare ogni singola cella, e permette inoltre di avere due righe con tutti gli altri valori identici ma che corrispondono a due istanze differenti di dati (ad esempio Russo potrebbe prendere un altro 8, e non saremmo in grado di capire se è un valore duplicato o due valutazioni differenti). L’identificativo (o Id) diventa quindi parte dell’informazione che consente di rafforzare il significato dei dati contenuti in una riga.

La tabella ed il foglio di calcolo consentono di raggruppare in righe le informazioni relative ad una certa entità, ma non è detto che sia la struttura più efficiente in tutti i casi. Ipotizziamo di voler memorizzare un elenco di anagrafiche di studenti, compresa la loro classe, materia e docente. Una tabella potrebbe essere questa:

IdNome studenteCognome studenteMateriaClasseNome DocenteCognome Docente
1MartaGenovesiInformatica3AMarioRossi
2ValerioNeriniInformatica3AMarioRossi
3LuciaRussoInformatica3BMarioRossi
4MarioBianchiniInformatica3BMario Rossi

In ogni riga sono raggruppate tutte le informazioni della singola entità. Possiamo fare un certo numero di elaborazioni: visualizzare gli studenti di un docente, o i componenti di una classe, o gli studenti di una materia.

Questo tipo di schema tuttavia ci costringe a rappresentare i dati in modo ridondante perché ripetono i valori per alcuni attributi. Questo comporta prima di tutto un problema di spazio, ma se analizziamo la situazione ve ne sono anche altri:

  • se volessimo aggiungere un nuovo studente, dobbiamo replicare tutte le informazioni già presenti per il docente e la classe.
  • se volessimo modificare il nome di un insegnante, dovremmo farlo per tutte le righe dove compare.

Il problema è quindi anche computazionale e di consistenza dei dati.

Alberi

La soluzione a questo problema è quella di creare più entità distinte ognuna con propri attributi specifici, quindi una entità classe, una entità materia, una entità docente e collegarle tra loro tramite delle relazioni che ci consentono di descrivere la realtà di riferimento.

Ad esempio possiamo creare una rappresentazione, dove ad una materia è associato il docente, le classi ed alle classi gli studenti, ovvero una struttura gerarchica ad albero. In pratica andremo a generare questo schema:

Il vantaggio è quindi quello di evitare ridondanza dei dati ed una migliore organizzazione sia in entità più piccole ma definite in modo più omogeno, sia con relazioni che le collegano e che ci forniscono una informazione più immediata e gestibile in termini di coerenza interna e ridondanza.

Per rappresentare digitalmente una struttura ad albero vi sono diverse soluzioni, anche tramite tabelle, dove inserire gli Id delle entità collegate. E’ una operazione che si può fare anche utilizzando strumenti come i fogli di calcolo, tuttavia un altro modo, più immediato, può essere quello di creare un documento di testo che descrive i dati utilizzando un linguaggio di descrizione formale, ma leggibile dall’uomo. Un esempio è JSON:

{
  "Radice": {
    "Materia": "Informatica",
    "Docente": {
      "Nome": "Mario",
      "Cognome": "Rossi"
    },
    "Classi": [
      {
        "Classe": "3A",
        "Studenti": [
          {
            "Id": 1,
            "Nome": "Marta",
            "Cognome": "Genovesi"
          },
          {
            "Id": 2,
            "Nome": "Valerio",
            "Cognome": "Nerini"
          }
        ]
      },
      {
        "Classe": "3B",
        "Studenti": [
          {
            "Id": 3,
            "Nome": "Lucia",
            "Cognome": "Russo"
          },
          {
            "Id": 4,
            "Nome": "Mario",
            "Cognome": "Bianchini"
          }
        ]
      }
    ]
  }
}

Il formato gerarchico è utilizzato in informatica proprio per gestire dati organizzabili in forma gerarchica, non solo per strutture come quella vista sopra, ma anche nella gestione di documenti, organigrammi, organizzazione di documenti, i filesystem delle memorie di massa, ecc. I formati di documenti più utilizzati sono il citato JSON, oppure il formato XML che rispetto a JSON offre la possibilità di creare regole sulla struttura dei dati e dei formati utilizzabili, che possono essere validati in modo automatico. Ad esempio con XML possiamo definire regole che obbligano a creare almeno un docente ed una classe per materia, ed almeno uno studente per classe.

Nella gestione documentale, molti formati di documenti (ad esempio quelli di Microsoft Office o Libre Office) sono documenti XML, così come molti formati documentali su Internet, di cui il più noto è HTML.

Grafi

La struttura ad albero va bene in molte applicazioni per rappresentare in modo efficace la relazione tra più entità in una struttura. Tuttavia un albero non è in grado di rappresentare in modo efficiente relazioni multiple tra entità.

Per capirlo aggiungiamo un paio di righe alla nostra tabella:

IdNome studenteCognome studenteMateriaClasseNome DocenteCognome Docente
1MartaGenovesiInformatica3AMarioRossi
2ValerioNeriniInformatica3AMarioRossi
3LuciaRussoInformatica3BMarioRossi
4MarioBianchiniInformatica3BMario Rossi
5MartaGenovesiMatematica3ALuciaSaviani
6ValerioNeriniMatematica3ALuciaSaviani

Come si vede abbiamo una nuova materia, ed un nuovo insegnante. Nella tabella dobbiamo replicare tutti i valori, ma anche nell’albero abbiamo un problema analogo:

Non esiste modo di rappresentare questa informazione in una struttura al albero, se non creando in modo ridondante più istanze della classe. Questo perché la classe è collegata sia ad Informatica, che a Matematica.

In un albero infatti esiste un solo cammino tra due entità, e quindi nell’esempio per conoscere le materie di una classe occorre “navigare” nella struttura cercando tutte le classi con lo stesso nome. Questo ci porta sia ad un problema di spazio occupato, sia ad un problema di coerenza e consistenza dei dati: che succede se ci dimentichiamo di duplicare correttamente una classe quando aggiungiamo un nuovo docente?

La soluzione a questo problema è l’utilizzo di un grafo, perché consente di collegare direttamente la classe direttamente alle materie:

Come si vede in questa rappresentazione ci sono sempre 4 entità (studente, classe, materia, insegnante) ma ogni istanza è inserita una sola volta. Le relazioni tra entità sono molteplici e non c’è il vincolo gerarchico dell’albero.

Questo modello è efficace nel rappresentare la maggioranza delle tipologie di dati che possono transitare in un sistema informatico, compresi gli alberi (che sono un caso particolare di grafo) e le liste (che sono un caso particolare di albero). Esistono però dati che non sono, se non con forti inefficienze, rappresentabili in un grafo:

  • dati puramente sequenziali (es. stream multimediali o sequenze di misurazioni) o indipendenti tra loro (liste di numeri casuali): non vi sono relazioni tra loro ed il grafo ha poco senso;
  • dati fortemente connessi (cioè dove ogni istanza è collegata ad ogni altra istanza): in questo caso sono più efficaci gli spazi vettoriali multidimensionali, come nelle reti neurali.

In informatica esistono diverse metodologie per rappresentare i grafi. Vedremo che essi sono alla base dei Database relazionali.

Conclusioni

Ppossiamo osservare che tra i dati esistono in sostanza tre tipologie di relazioni:

  • l’etichetta, che consente di dare un significato al dato;
  • un’associazione di più coppie etichetta-valore prende il nome entità;
  • una relazione tra più entità diventa una struttura dati, che consente di dare informazione a livello più elevato.

I dati grezzi prendono il nome di estensionalità, la capacità di dare strutturazione dei dati al fine di organizzarli prende il nome di intensionalità. I database e i fogli di calcolo sono prodotti software per gestire dati ad alta intensionalità, mentre per le situazioni a bassa intensionalità, come i Big Data o il linguaggio naturale, si usano altre soluzioni come i database documentali o il deep learning.

In questa trattazione ci occuperemo principalmente di strutture ad alta intensionalità.