Database e i pacchetti nelle reti

Questa lezione introduce alcuni concetti fondamentali delle reti informatiche: database e i pacchetti nelle reti.

Dopo aver definito cosa sono una rete di calcolatori, Internet e un host, il testo spiega il ruolo dei database nei servizi online: salvare, organizzare e recuperare informazioni come profili, messaggi, prodotti o dati scolastici.
La lezione presenta poi il DBMS, i database relazionali, le tabelle, i campi, i record e le query, mostrando come i dati possano essere collegati tramite ID comuni.

Nella parte finale viene introdotto il concetto di pacchetto, cioè l’unità di dati trasmessa in rete, composta da header e payload.

Fondamenti di rete

Una rete di calcolatori (o rete informatica, o semplicemente rete) è un insieme di dispositivi autonomi collegati tra loro, capaci di scambiarsi dati attraverso tecnologie comuni (Kurose & Ross, 2026; Tanenbaum et al., 2022).
Due dispositivi si dicono connessi quando sono in grado di scambiare informazioni.
Internet è l’esempio più famoso di rete di calcolatori: è una grande rete globale che collega miliardi di host in tutto il mondo (Kurose & Ross, 2026).
Un host è un qualsiasi dispositivo connesso a una rete (Kurose & Ross, 2026).

dispositivi connessi a Internet

Database

Una rete permette a più dispositivi di comunicare e scambiarsi informazioni. Tuttavia, molti servizi di rete non si limitano a trasmettere dati da un dispositivo all’altro: devono anche salvarli, organizzarli e recuperarli quando servono.
Per esempio, un social network deve conservare profili, post e messaggi; un sito di e-commerce deve gestire prodotti, utenti, ordini e pagamenti; una piattaforma scolastica deve memorizzare studenti, docenti, voti, assenze e comunicazioni.

Per svolgere queste funzioni vengono utilizzati i database.

Un database è un insieme di informazioni, o dati, organizzate in modo strutturato e generalmente archiviate in formato elettronico all’interno di un sistema informatico (Hoffer et al., 2026).

I database sono fondamentali per Internet perché permettono di salvare, organizzare e recuperare rapidamente enormi quantità di dati in modo affidabile: profili degli utenti, post, prodotti, pagamenti, messaggi, prenotazioni, log, permessi.
Il database viene gestito da un software chiamato DBMS, acronimo di Database Management System, cioè sistema di gestione del database. Il DBMS permette di inserire, modificare, eliminare, cercare e organizzare i dati (Hoffer et al., 2026).

Il DBMS collega l'utente al database

La maggior parte dei database è di tipo relazionale (Hoffer et al., 2026).
I dati all’interno dei database relazionali vengono generalmente presentati in righe e colonne contenute in una serie di tabelle (Hoffer et al., 2026).
Una tabella è composta da campi, cioè le colonne, e record, cioè le righe.

  • Un record è una riga della tabella e rappresenta un singolo elemento registrato, per esempio uno studente.
  • Un campo è una colonna della tabella e rappresenta una caratteristica di quell’elemento, per esempio nome, cognome o classe.

Quando si aggiunge un nuovo elemento alla tabella, si inserisce un nuovo record. 
Per esempio, aggiungere un nuovo studente significa creare una nuova riga nella tabella “Studenti”.

Esempio
Sotto una tabella in cui sono conservati gli studenti dove:

  • Ogni campo è un attributo del record.
  • Ogni record è uno studente.
TABELLA STUDENTI
Nome Cognome Classe
Mario Rossi 3
Giuseppe Bianchi 3
Luca Verdi 2

Una query è una richiesta inviata al database. 
Può servire a cercare dati, inserirne di nuovi, modificarli o eliminarli.

Esempio
Una query può essere per esempio prendere tutti i record degli studenti che hanno come attributo classe il valore 3A.

La caratteristica principale dei database relazionali è che le tabelle possono essere collegate tra loro attraverso campi comuni, come un codice identificativo (ID) (Hoffer et al., 2026).
Per esempio, una tabella “Studenti” può essere collegata a una tabella “Classi” tramite l’ID della classe. In questo modo è possibile organizzare enormi quantità di dati evitando ripetizioni inutili e recuperando facilmente le informazioni tramite query.

La tabella "Studenti" è collegata alla tabella "Classi" tramite ID

Molti dei database relazionali utilizzano SQL (Structured Query Language) un linguaggio usato per creare, modificare e interrogare le tabelle (Hoffer et al., 2026).

Esempio
Immagina di avere un’applicazione per la gestione di una biblioteca, dove devi tenere traccia dei libri, degli autori e dei clienti. In questo caso, un database potrebbe essere utilizzato per organizzare e memorizzare tutte le informazioni pertinenti.

Struttura del database:

  • Tabella “Libri”
    Campi: ID, Titolo, ID Autore, Anno di pubblicazione, Genere, ISBN, Quantità disponibile.
  • Tabella “Autori”
    Campi: ID, Nome, Cognome, Data di nascita, Nazionalità.
  • Tabella “Clienti”
    Campi: ID, Nome, Cognome, Email, Numero di telefono, Data di registrazione.
  • Tabella “Prestiti”
    Campi: ID, ID Libro, ID Cliente, Data di prestito, Data di restituzione prevista.

Esempio di utilizzo:
Supponiamo che un nuovo cliente, Marco, si registri presso la libreria e voglia prendere in prestito il libro “Il Signore degli Anelli” di J.R.R. Tolkien. Ecco come l’applicazione utilizzerebbe il database:

  • L’applicazione verifica se il libro “Il Signore degli Anelli” è disponibile controllando la quantità disponibile nella tabella “Libri”.
  • Dopo aver confermato che il libro è disponibile, l’applicazione crea un nuovo record nella tabella “Prestiti” con l’ID del cliente, il libro e la data di prestito.
  • La quantità disponibile del libro viene aggiornata sottraendo uno, poiché un esemplare è stato preso in prestito.
  • Se Marco restituisce il libro entro la data di restituzione prevista, l’applicazione aggiorna il record nella tabella “Prestiti” con la data effettiva di restituzione.
  • Nel frattempo, se l’applicazione riceve nuovi libri da catalogare, verranno inseriti nella tabella “Libri” e gli autori corrispondenti nella tabella “Autori”.
  • Se un cliente dimentica di restituire un libro entro la data prevista, l’applicazione può impostare una notifica per ricordare al cliente di restituire il libro in tempo.
  • L’applicazione può generare report tramite le informazioni del database, ad esempio la visualizzazione dei libri che sono attualmente in prestito, quali libri sono più popolari in base ai prestiti, l’elenco degli autori presenti nella biblioteca, e così via.

In questo esempio, il database gioca un ruolo fondamentale nell’organizzazione e nella gestione delle informazioni relative ai libri, agli autori e ai clienti della libreria, semplificando il processo di prestito e restituzione dei libri e fornendo strumenti per analizzare i dati relativi all’attività della libreria.

Pacchetti di rete

Molti servizi di rete usano database per salvare e recuperare informazioni. 
Ma quando questi dati devono viaggiare da un dispositivo a un altro, per esempio da un server al nostro computer, non vengono inviati come un unico blocco: vengono suddivisi in unità più piccole chiamate pacchetti (Kurose & Ross, 2026).
Un pacchetto è una piccola unità di dati trasmessa attraverso una rete. Ogni pacchetto contiene sia una parte di informazioni tecniche, necessarie per farlo arrivare alla destinazione corretta, sia una parte di dati effettivi (Deering & Hinden, 2017; Kurose & Ross, 2026).

Il pacchetto è generalmente diviso in due sezioni principali:

  • Header: contiene informazioni utili alla trasmissione, come gli indirizzi del mittente e del destinatario, e permette ai dispositivi di rete di instradare il pacchetto.
  • Payload: contiene i dati effettivi che si vogliono trasmettere, per esempio una parte del testo di un messaggio, di una pagina web, di un’immagine o di un video (Deering & Hinden, 2017).
Il pacchetto è diviso in header e payload

Elementi chiave

  • Una rete informatica collega dispositivi che possono scambiarsi dati.
  • Internet è una rete globale composta da miliardi di dispositivi connessi, chiamati host.
  • Un database conserva e organizza dati in formato elettronico.
  • Il DBMS è il software che permette di gestire un database.
  • Nei database relazionali i dati sono organizzati in tabelle, formate da record (righe) e campi (colonne).
  • Le tabelle possono essere collegate tramite codici identificativi chiamati ID.
  • Una query è una richiesta per cercare, inserire, modificare o eliminare dati; molti database utilizzano il linguaggio SQL.
  • I dati viaggiano in rete sotto forma di pacchetti, composti da header e payload.

Scarica pdf della lezione

  • Deering, S., & Hinden, R. (2017). Internet Protocol, Version 6 (IPv6) specification (RFC 8200). RFC Editor. https://doi.org/10.17487/RFC8200
  • Hoffer, J. A., Topi, H., Venkataraman, R., & Bala, H. (2026). Modern database management (14th ed.). Pearson.
  • Kurose, J. F., & Ross, K. W. (2026). Computer networking: A top-down approach (9th ed.). Pearson.
  • Tanenbaum, A. S., Feamster, N., & Wetherall, D. J. (2022). Computer networks (6th ed.). Pearson.
  • James F. Kurose e Keith W. Ross, Reti di calcolatori e Internet. Un approccio top-down, 8ª ed., Pearson, 2022 — È il testo più vicino all’impostazione del capitolo: parte dalle applicazioni e scende progressivamente verso i meccanismi di rete, chiarendo anche il funzionamento dei pacchetti.
  • Andrew S. Tanenbaum, David J. Wetherall e Nick Feamster, Reti di calcolatori, 6ª ed., Pearson, 2023 — Offre una trattazione più sistematica e ampia delle architetture, dei protocolli e delle tecnologie di rete.
  • Paolo Atzeni, Stefano Ceri, Piero Fraternali, Stefano Paraboschi e Riccardo Torlone, Basi di dati, 6ª ed., McGraw Hill, 2023 — È un manuale universitario completo sul modello relazionale, sul linguaggio SQL, sulla progettazione e sulla normalizzazione.
  • Serena Sensini, Basi di dati, Apogeo, 2021 — Propone un’introduzione più accessibile e pratica alla raccolta, all’organizzazione e alla gestione dei dati.
  • Qiang Hao e Michail Tsikerdekis, Database spiegati in modo facile. Guida illustrata per programmatori curiosi, Apogeo, 2025 — Introduce la progettazione dei database attraverso illustrazioni e progetti pratici, senza richiedere conoscenze pregresse.

La rete della scuola

Una scuola possiede 25 computer in laboratorio, 4 stampanti di rete, un server che conserva i materiali didattici e alcuni tablet utilizzati dai docenti. Tutti questi dispositivi possono comunicare tra loro attraverso la rete della scuola.

Rispondi alle seguenti domande:

  • Individua quali dispositivi possono essere considerati host e spiega perché.
  • Un computer acceso ma non collegato alla rete può essere considerato un host della rete scolastica? Motiva la risposta.
  • Uno studente apre dal proprio computer un documento conservato sul server. Descrivi, in termini generali, cosa deve avvenire tra i due dispositivi perché lo studente possa ricevere il documento.
  • Spiega perché il semplice fatto che nella scuola siano presenti molti computer non significa necessariamente che esista una rete di calcolatori.

Progettare il database di una palestra

Una palestra vuole realizzare un sistema per gestire i propri iscritti. Per ogni cliente vuole conservare nome, cognome, email, data di iscrizione e tipo di abbonamento. Deve inoltre registrare i corsi disponibili e sapere a quali corsi partecipa ciascun cliente.

Progetta una possibile struttura del database.

  • Individua almeno tre tabelle necessarie.
  • Per ogni tabella indica i principali campi.
  • Scrivi un esempio di record per una delle tabelle.
  • Individua almeno un campo che potrebbe essere utilizzato come ID.
  • Spiega come collegheresti tra loro le tabelle per sapere, per esempio, a quali corsi è iscritto un determinato cliente.
  • Spiega quale funzione svolgerebbe il DBMS all’interno di questo sistema.

Interrogare il database della scuola

Una scuola utilizza una tabella chiamata Studenti composta dai campi:
ID | Nome | Cognome | Classe | Email

Nel database sono presenti 800 studenti.
La segreteria deve svolgere queste operazioni:

  • Ottenere l’elenco di tutti gli studenti della classe 3A.
  • Trovare lo studente con ID 427.
  • Inserire una nuova studentessa appena iscritta.
  • Modificare l’email di uno studente.
  • Eliminare dal database un record inserito per errore.

Per ciascuna operazione:

  • Spiega quale tipo di richiesta dovrebbe essere inviata al database.
  • Indica quali campi sarebbero necessari per individuare i record interessati.
  • Spiega perché utilizzare l’ID può essere più affidabile che cercare uno studente solamente attraverso nome e cognome.
  • Indica quali delle operazioni modificano i dati presenti nel database e quali invece si limitano a recuperarli.

Non è necessario scrivere il codice SQL: devi descrivere correttamente che cosa dovrebbe fare la query.

Il database di una piattaforma di streaming

Una piattaforma vuole conservare informazioni sugli utenti e sui film disponibili.
Inizialmente viene proposta questa unica tabella:
Nome utente | Email | Titolo film | Regista | Anno | Data visualizzazione

Un utente che guarda cento film compare quindi cento volte nella tabella e le informazioni relative allo stesso film vengono ripetute per tutti gli utenti che lo hanno visto.

Analizza il problema e proponi una soluzione migliore.

  • Spiega quali problemi può provocare questa organizzazione dei dati.
  • Suddividi le informazioni in più tabelle relazionali.
  • Indica i campi principali di ciascuna tabella.
  • Introduci gli ID necessari per collegare le tabelle.
  • Spiega come sarebbe possibile ricostruire, attraverso una query, l’elenco di tutti i film guardati da uno specifico utente.
  • Spiega perché la soluzione proposta riduce le ripetizioni inutili rispetto alla tabella iniziale.

Dal server al tuo computer

Apri una piattaforma online e richiedi la visualizzazione di un’immagine conservata sul suo server.
L’immagine deve quindi viaggiare attraverso la rete fino al tuo computer.

Utilizzando i concetti della dispensa, descrivi cosa accade ai dati durante la trasmissione

  • Spiega perché l’immagine non viene necessariamente trasmessa come un unico grande blocco di dati.
  • Spiega che cosa sono i pacchetti.
  • Per un ipotetico pacchetto che trasporta una parte dell’immagine, indica quali informazioni appartengono all’header e quali al payload.
  • Spiega perché l’indirizzo del destinatario non dovrebbe trovarsi solamente nel payload.
  • Immagina che un pacchetto contenga correttamente una parte dell’immagine ma sia privo delle informazioni necessarie per raggiungere la destinazione: spiega quale parte del pacchetto presenta il problema e perché la comunicazione potrebbe non funzionare.
  • Ricostruisci infine il percorso concettuale completo: dato conservato → recupero dal sistema → suddivisione per la trasmissione → pacchetti → ricezione sul dispositivo.

Per la realizzazione di questi materiali ho utilizzato strumenti di intelligenza artificiale generativa come supporto alla scrittura, in particolare per migliorare la forma del testo, riorganizzare i contenuti, correggere la formulazione e velocizzare alcune attività redazionali.

Lavorando autonomamente alla produzione di questi materiali, cerco infatti di automatizzare tutte le attività che possono esserlo, così da poter dedicare più tempo alla ricerca, alla progettazione e allo sviluppo dei contenuti.

L’intelligenza artificiale non determina però i contenuti dell’opera: la scelta degli argomenti, la struttura, le idee, le interpretazioni, gli esempi e l’impostazione didattica sono elaborati da me. L’IA viene quindi utilizzata principalmente come strumento di supporto alla produzione e alla revisione formale, mentre la responsabilità autoriale e progettuale dei contenuti rimane mia.

Salvo diversa indicazione, questo materiale è distribuito con licenza Creative Commons Attribuzione – Non commerciale – Condividi allo stesso modo 4.0 Internazionale (CC BY-NC-SA 4.0).

È quindi possibile condividere, ridistribuire, modificare e creare opere derivate a partire dal materiale, a condizione di attribuirne correttamente la paternità, di non utilizzarlo per scopi commerciali e di distribuire eventuali versioni modificate o derivate con la stessa licenza.

Vuoi aiutarmi a scrivere articoli come questo?

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

No responses yet

Sostieni il progetto

Tutti i materiali che condivido nascono da una convinzione molto semplice: una buona formazione non dovrebbe limitarsi a insegnare quali pulsanti premere, ma aiutare a comprendere le idee, i principi e i processi che stanno dietro agli strumenti.

Per questo dedico una parte significativa del mio tempo a studiare, organizzare e produrre contenuti gratuiti dedicati al multimedia, al design e alla comunicazione visiva. Articoli, lezioni, approfondimenti e risorse che hanno l’obiettivo di rendere accessibili argomenti spesso affrontati in modo frammentario o superficiale.

Questo lavoro richiede però tempo, ricerca e cura. Ogni guida, ogni video, ogni materiale pubblicato gratuitamente è il risultato di molte ore di studio, scrittura e revisione.
Sostenere il progetto attraverso Patreon significa permettermi di continuare a produrre contenuti educativi di qualità, mantenerli accessibili al maggior numero possibile di persone e dedicare più energie alla costruzione di una risorsa che possa essere utile a studenti, professionisti e appassionati.

Se credi che una conoscenza più profonda, rigorosa e consapevole del multimedia abbia valore, il tuo contributo non sostiene soltanto il mio lavoro: aiuta a rendere queste risorse disponibili per tutta la comunità.
Grazie per il supporto e per la fiducia.

Patreon è troppo impegnativo?

Puoi sostenermi anche con una donazione libera, senza abbonamento e senza impegno.
Anche un piccolo contributo mi aiuta a continuare a creare giochi, contenuti didattici e materiali gratuiti con più libertà.

Support the project

All the materials I share stem from a very simple conviction: good training should not be limited to teaching which buttons to press, but should help people understand the ideas, principles, and processes behind the tools.

That is why I dedicate a significant portion of my time to researching, organizing, and producing free content focused on multimedia, design, and visual communication—articles, lessons, in-depth analyses, and resources aimed at making accessible topics that are often addressed in a fragmented or superficial way.

However, this work requires time, research, and care. Every guide, video, and piece of material published for free is the result of many hours of study, writing, and revision.
Supporting the project via Patreon enables me to continue producing high-quality educational content, keep it accessible to as many people as possible, and devote more energy to building a resource that benefits students, professionals, and enthusiasts alike.

If you believe that a deeper, more rigorous, and informed understanding of multimedia is valuable, your contribution does more than just support my work: it helps make these resources available to the entire community.
Thank you for your support and trust.

Is Patreon too demanding?

You can also support me with a voluntary donation—no subscription or commitment required.

Even a small contribution helps me continue creating games, educational content, and free materials with greater freedom.