Fondamenti di rete

Questo è una sezione del capitolo “Internet” del libro “Principi della multimedia digitale”.
Il testo introduce le reti di calcolatori come sistemi di dispositivi autonomi connessi, capaci di scambiarsi informazioni.

Le reti di calcolatori (o rete informatica, o semplicemente rete) indicano un insieme di computer autonomi e connessi da una singola tecnologia. 
Due computer si dicono connessi quando sono in grado di scambiare informazioni.
Internet è il più famoso esempio di reti di calcolatori, infatti è una rete che collega tutti i computer del mondo.
Un host è un qualsiasi dispositivo connesso a una rete.

Database

Un elemento fondamentale nelle reti sono i database.
Un database è un insieme di informazioni (o dati) strutturati e in genere archiviate elettronicamente in un sistema informatico.
I database sono fondamentali per Internet perché permettono di salvare, organizzare e recuperare rapidamente enormi quantità di dati in modo affidabile: profili utenti, post, prodotti, pagamenti, messaggi, prenotazioni, log, permessi.
Il database viene controllato da un software DBMS, Database Management System (sistema di gestione database).

I dati all’interno dei database vengono generalmente presentati in righe e colonne contenute in una serie di tabelle.
Una tabella è composta da campi, le colonne, e record, le righe.
Un campo è un attributo del dato, invece il record, è uno specifico dato.
Quando si inserisce un dato si inserisce un record nella tabella.

Esempio
Sotto una tabella studenti dove:

  • Ogni campo è un attributo del record.
  • Ogni record è uno studente.

Una query è una richiesta dell’utente che richiede un insieme di record specifici al database tramite criteri di selezione.

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

I dati contenuti nel database possono essere facilmente visualizzati, gestiti, modificati, aggiornati, controllati, aggiunti, eliminati e organizzati.
La maggior parte dei database utilizza il linguaggio SQL, Structured Query Language, per scrivere i dati nelle tabelle ed eseguire le query.

Esempio
Immagina di avere un’applicazione per la gestione di una libreria, 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, 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 le informazioni di Marco, 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 libreria, e così via.

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 le informazioni di Marco, 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 libreria, 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.

Pacchetto

I dati che circolano sulla rete hanno un formato che prende il nome di pacchetto.
Il pacchetto è diviso in due sezioni:

  • Header (l’intestazione): contiene varie informazioni tra cui gli indirizzi del mittente e del destinatario per l’instradamento del pacchetto lungo la rete. In sostanza contiene tutte le meta-informazioni utili per mandare il pacchetto (es: se mandi una email, una parte dell’header è l’indirizzo del destinatario).
  • Payload (il carico utile): indica la parte di dati trasmessi effettiva che è destinata all’utilizzatore (es: se mandi una email, il payload è il testo dell’email).

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à.