Home › Scienze dell'Alimentazione e Gastronomia — San Raffaele › Informatica
L26-SANRAFFAELE · Scienze dell'Alimentazione e Gastronomia — San Raffaele

Informatica L26 San Raffaele

Informatica è l'esame da 6 CFU del primo anno di L26 San Raffaele e ha una doppia natura. C'è una parte di teoria — come un calcolatore rappresenta ed elabora l'informazione, come funzionano reti, Internet e basi di dati — e una parte pratica sugli strumenti di ogni giorno: editor di testi, foglio elettronico, presentazioni e due DBMS, MySQL e Access. Il programma ufficiale li presenta come competenze ormai indispensabili per il laureato in Scienze dell'Alimentazione e Gastronomia: gestire ed elaborare dati numerici, archiviare grandi quantità di informazioni, comunicare risultati sperimentali. Non servono conoscenze di programmazione per iniziare: il corso parte dal bit. Attenzione al nome: altri corsi San Raffaele hanno esami di informatica diversi, con codici diversi (vedi le domande frequenti).

Scheda materia
6
CFU
1°
Anno
ING-INF/05
SSD
0262206INGINF05
Codice
Indirizzo
Statutario

Di cosa parla il programma

Obiettivi formativi ufficiali — programma San Raffaele

  • Comprendere i nuovi sistemi e strumenti informatici e usare con sicurezza i software applicativi più diffusi, indispensabili per il laureato in Scienze dell'Alimentazione e Gastronomia
  • Conoscere struttura, parti e funzioni di un calcolatore, di una rete di calcolatori, del World Wide Web e delle basi di dati
  • Applicare i principi della rappresentazione digitale dell'informazione e i fondamenti di programmazione, progettazione di algoritmi e di basi di dati
  • Creare documenti di testo formattati, gestire dati numerici con elaborazioni numeriche e statistiche e grafici, comunicare risultati sperimentali con una presentazione
  • Archiviare e gestire grandi quantità di dati con un database relazionale
  • Valutare qualità ed efficacia degli strumenti informatici e descriverne le caratteristiche con un linguaggio tecnico appropriato

Cosa trovi in questa guida

La guida parte dalla prima unità, la più ampia: come il calcolatore rappresenta l'informazione, com'è fatto, quale software lo governa, come si collega in rete, fino a Web, sicurezza e licenze. Seguono i tre applicativi delle unità 2-4 e, per ultime, le basi di dati, dalla progettazione all'SQL fino alla pratica con MySQL e Access. Lungo il percorso trovi una conversione guidata in binario, un esercizio sulle periferiche, una linea del tempo delle reti e un confronto finale tra gli applicativi. Il metodo di studio operativo è in fondo, nella sezione Metodo di studio.

Il programma ufficiale (cod. 0262206INGINF05) è diviso in cinque unità didattiche. La prima, da 2 CFU, raccoglie quattordici sezioni teoriche: codifica binaria, hardware e periferiche, file system, software e sistemi operativi, linguaggi di programmazione, reti, sicurezza, diritti e licenze, Internet, HTML, basi di dati e DBMS. Le tre unità successive, da 1 CFU ciascuna, sono dedicate agli applicativi: editor di testi, fogli elettronici e presentazioni. L'ultima porta le basi di dati nella pratica con MySQL e Access. Nell'elenco pubblicato in scheda ci sono 31 videolezioni oltre all'introduzione: 24 riguardano la prima unità, 5 gli applicativi e 2 i DBMS.

Schema — Le cinque unità didattiche

Unità Argomenti Alla fine sai…
1. Concetti di base ICT (2 CFU) Codifica binaria, hardware, periferiche, file system, software, sistemi operativi, programmazione, reti, sicurezza, licenze, Internet, HTML, basi di dati, DBMS Spiegare come funziona un calcolatore in rete e progettare una base di dati
2. Editor di testi (1 CFU) Operazioni di base, formattazione, tabelle, immagini, revisioni, stampa Produrre e revisionare un documento strutturato
3. Fogli elettronici (1 CFU) Operazioni di base, funzioni e formule, grafici, stampa Elaborare dati numerici e rappresentarli in un grafico
4. Presentazioni (1 CFU) Operazioni di base, formattazione delle diapositive, grafici e tabelle, animazioni, stampa Presentare dati e risultati in modo chiaro
5. DBMS MySQL e phpMyAdmin, Access Creare tabelle, chiavi e vincoli, interrogare i dati, costruire maschere

Stai preparando questo esame? Il gruppo raccoglie tutti gli studenti L26 San Raffaele — è ancora piccolo, ma è il punto di partenza per confrontarti con chi segue il tuo stesso corso.

Argomenti del programma da approfondire

La guida non segue alla lettera l'ordine delle sezioni del programma, ma una sequenza in cui ogni argomento prepara il successivo: prima come il calcolatore rappresenta l'informazione e com'è fatto, poi il software che lo governa, poi le reti che lo collegano ad altri calcolatori, e da lì Internet, il Web e i rischi per la sicurezza. Gli applicativi delle unità 2-4 vengono prima delle basi di dati, perché è proprio dai limiti del foglio elettronico che si capisce a cosa serve un database.

Mappa — la sequenza di questa guida

Concetti di base (unità 1)

  1. Bit, byte e codifica binaria
  2. Codifica dei caratteri e default
  3. L'hardware: CPU, RAM, memorie di massa
  4. Periferiche di I/O, porte e protocolli
  5. Il software e la macchina virtuale
  6. Il sistema operativo
  7. File system e paginazione
  8. Algoritmi e programmi
  9. Linguaggi: dall'algoritmo all'esecuzione
  10. Le reti di calcolatori
  11. Ethernet, Wi-Fi e ADSL
  12. Internet e il modello TCP/IP
  13. DNS, HTTP, FTP e il Web
  14. L'HTML
  15. La sicurezza informatica
  16. Diritto d'autore, licenze, open source

Applicativi e basi di dati (unità 1-5)

  1. L'editor di testi
  2. Il foglio elettronico
  3. Le presentazioni
  4. Basi di dati e progettazione
  5. Il modello Entità-Relazione
  6. Il modello relazionale
  7. SQL
  8. Il DBMS e le transazioni
  9. MySQL e phpMyAdmin
  10. Access
  11. Sintesi: i quattro applicativi a confronto

Bit, byte e codifica binaria

Un calcolatore è fatto di componenti elettronici che distinguono due soli stati, e per questo rappresenta ogni informazione con due simboli, 0 e 1. L'unità minima è il bit (binary digit); 8 bit formano un byte. Con n bit si ottengono 2ⁿ combinazioni: un byte ne ha 2⁸ = 256, quindi rappresenta i numeri interi da 0 a 255. I multipli seguono il Sistema Internazionale (1 kilobyte = 1.000 byte, poi megabyte, gigabyte, terabyte), ma nell'uso informatico si trovano spesso multipli in potenze di 2: 2¹⁰ = 1.024 byte, oggi chiamati più correttamente kibibyte (KiB).

La codifica binaria dei numeri usa lo stesso principio posizionale del sistema decimale, con base 2 invece di 10: da destra verso sinistra, ogni cifra vale 1, 2, 4, 8, 16… Per convertire un numero decimale si divide ripetutamente per 2 e si leggono i resti dall'ultimo al primo; per verificare, si sommano le potenze di 2 corrispondenti agli 1.

Da decimale a binario

Divisioni per 2 13 → 6 → 3 → 1 → 0 → Resti, dal primo all'ultimo 1, 0, 1, 1 → Verifica con le potenze di 2 8 + 4 + 1 = 13 → In binario 1101 (4 bit)

13 diviso 2 dà 6 con resto 1, poi 3 con resto 0, poi 1 con resto 1, poi 0 con resto 1. Letti dall'ultimo al primo, i resti formano 1101: le cifre 1 sono nelle posizioni che valgono 8, 4 e 1.

L'aritmetica binaria segue le stesse regole di quella decimale: 0 + 0 = 0, 0 + 1 = 1, 1 + 1 = 10 (si scrive 0 e si riporta 1). Per esempio 0101 + 0011 = 1000, cioè 5 + 3 = 8.

Collegamento: i numeri sono solo una parte dell'informazione. Per trattare i testi servono regole che associno a ogni carattere una sequenza di bit.

Codifica dei caratteri e il concetto di default

Una codifica dei caratteri è una tabella condivisa che associa a ogni carattere un numero, e quindi una sequenza di bit. La più storica è l'ASCII, a 7 bit: 128 caratteri tra lettere dell'alfabeto inglese, cifre, punteggiatura e caratteri di controllo; la A corrisponde a 65, cioè 1000001. Le versioni estese a 8 bit aggiungono altri 128 caratteri, non abbastanza per tutte le lingue. Lo standard Unicode assegna un codice a ogni carattere di ogni sistema di scrittura, emoji comprese; la sua codifica più diffusa sul Web, UTF-8, usa da 1 a 4 byte per carattere ed è compatibile con l'ASCII: la A occupa 1 byte, la à 2, il simbolo € 3. Se un file viene aperto con una codifica diversa da quella con cui è stato salvato, le lettere accentate diventano simboli incomprensibili.

I concetti introduttivi si chiudono con il default: il valore o l'impostazione predefinita che un sistema usa quando l'utente non ne indica un'altra. Sono default il programma che apre un certo tipo di file, la stampante predefinita, il carattere di un nuovo documento. Il concetto ricorre in tutto il corso, fino al valore DEFAULT di una colonna in una tabella SQL.

Collegamento: bit e codifiche dicono come l'informazione viene rappresentata. Il passo successivo è capire quali componenti fisici la conservano e la elaborano: l'hardware.

L'hardware: CPU, RAM e memorie di massa

L'hardware è l'insieme dei componenti fisici del calcolatore. Quasi tutti i computer seguono lo schema di von Neumann: un'unità di elaborazione, una memoria che contiene insieme dati e programmi, i dispositivi di input/output e i bus, le linee su cui viaggiano dati, indirizzi e segnali di controllo.

La CPU (Central Processing Unit) esegue le istruzioni con un ciclo continuo: le preleva dalla memoria (fetch), le decodifica (decode) e le esegue (execute). Al suo interno l'unità di controllo coordina le operazioni, l'ALU (unità aritmetico-logica) svolge calcoli e confronti, i registri sono memorie minuscole e velocissime; il ritmo è dato dal clock, misurato in gigahertz. La RAM (memoria centrale) contiene i programmi in esecuzione e i loro dati: è veloce ma volatile, si svuota allo spegnimento. Per conservare i dati servono le memorie di massa, non volatili: dischi magnetici (HDD), unità a stato solido (SSD, a memoria flash e senza parti in movimento), supporti ottici, chiavette USB.

Schema — La gerarchia delle memorie

Memoria Cosa contiene Velocità Volatile
Registri e cache Dati e istruzioni in uso in quel momento, dentro o accanto alla CPU La più alta Sì
RAM Programmi in esecuzione e loro dati Alta Sì
SSD Archiviazione permanente su memoria flash Media No
HDD Archiviazione permanente su dischi magnetici rotanti La più bassa delle quattro No

Più una memoria è veloce, più costa per byte e quindi più è piccola: da qui la gerarchia.

Collegamento: CPU e memorie lavorano all'interno del computer. Per scambiare dati con l'utente e con altri dispositivi servono le periferiche.

Periferiche di I/O, porte e protocolli

Le periferiche di I/O sono i dispositivi con cui il calcolatore riceve dati dall'esterno (input) o li restituisce (output). Si collegano attraverso porte — USB per la maggior parte dei dispositivi, HDMI per video e audio digitali, RJ45 per la rete — o senza fili, via Bluetooth o Wi-Fi. Ogni collegamento segue un protocollo, cioè un insieme di regole sul formato e sulla sequenza dei dati scambiati; il sistema operativo comunica con ciascun dispositivo tramite un driver, il software che traduce comandi generici nei comandi specifici di quell'hardware.

Tra i dispositivi di input, la tastiera invia il codice del tasto premuto, il mouse ottico rileva lo spostamento con una piccola luce e un sensore che osserva la superficie, lo scanner illumina il documento e ne misura la luce riflessa punto per punto, il microfono trasforma le onde sonore in un segnale elettrico poi digitalizzato. Tra quelli di output, il monitor compone l'immagine in pixel; la stampante a getto d'inchiostro spruzza microgocce sulla carta, quella laser disegna l'immagine su un tamburo che attira il toner, poi fissato alla carta con il calore. Alcuni dispositivi, come il touchscreen, sono insieme di input e di output.

Input o output?

Input

—

—

Output

—

Collegamento: periferiche, CPU e memoria da sole non fanno nulla: serve qualcosa che dica all'hardware che cosa fare. È il software.

Il software e la macchina virtuale

Il software è l'insieme dei programmi che fanno funzionare il calcolatore. Si distingue il software di base (sistema operativo, driver, programmi di utilità), che gestisce la macchina, dal software applicativo, che serve all'utente per un compito preciso: scrivere, calcolare, navigare. Al livello più basso la CPU capisce solo il linguaggio macchina: istruzioni elementari in codice binario, diverse per ogni famiglia di processori.

Per questo il software è organizzato a strati: ogni strato nasconde i dettagli di quello sottostante e offre a chi sta sopra una macchina più semplice da usare. È l'idea di macchina virtuale: chi scrive un documento non vede i registri della CPU, ma una «macchina che scrive documenti», e il sistema operativo fa apparire il disco come un insieme ordinato di cartelle e file. Lo stesso termine indica anche un software che simula un intero computer, su cui installare un altro sistema operativo, e l'ambiente che esegue i programmi Java su qualunque processore.

L'installazione di un applicativo copia i file del programma, lo registra nel sistema operativo e crea collegamenti e impostazioni: conviene verificare prima i requisiti di sistema e scaricare solo da fonti affidabili. Gli aggiornamenti correggono errori, aggiungono funzioni e soprattutto chiudono vulnerabilità di sicurezza: rimandarli a lungo lascia il sistema esposto.

Collegamento: tra gli strati del software, quello a contatto diretto con l'hardware, su cui poggiano tutti gli altri, è il sistema operativo.

Il sistema operativo

Il sistema operativo è il software di base che gestisce le risorse del calcolatore e fa da intermediario tra hardware, applicazioni e utente: Windows, macOS e Linux sui computer, Android e iOS sugli smartphone. Il programma distingue due punti di vista. Lato macchina, assegna la CPU ai programmi, gestisce la memoria, controlla le periferiche attraverso i driver e organizza i dati sui dischi. Lato utente, offre un ambiente semplice e uniforme per avviare programmi, gestire file e configurare il sistema.

Nella struttura, il nucleo (kernel) svolge le funzioni fondamentali. Un processo è un programma in esecuzione, e può trovarsi in tre stati: in esecuzione, pronto (in attesa della CPU) o in attesa di un evento, come la fine di una lettura dal disco. Alternando i processi sulla CPU a intervalli brevissimi, il sistema operativo fa sembrare che molti programmi girino insieme (multitasking). L'utente dialoga con il sistema attraverso un'interfaccia: a riga di comando (CLI), digitando comandi testuali in un terminale, oppure grafica (GUI), fatta di finestre, icone, menu e puntatore.

Collegamento: tra le risorse gestite dal sistema operativo, quella con cui l'utente ha più a che fare sono i file. Come sono organizzati lo decide il file system.

Il file system e la paginazione

Il file system è la parte del sistema operativo che stabilisce come i dati vengono organizzati, nominati e ritrovati nelle memorie di massa. Un file è un insieme di dati con un nome; l'estensione (.docx, .xlsx, .pdf) ne indica il tipo e il programma che lo apre per default. I file sono raccolti in cartelle che possono contenere altre cartelle: l'organizzazione è gerarchica, ad albero, a partire da una radice.

Il pathname (percorso) indica la posizione di un file nell'albero: C:\Corso\Informatica\appunti.docx su Windows, /home/anna/corso/appunti.txt su Linux. Il percorso assoluto parte dalla radice, quello relativo dalla cartella in cui ci si trova. Ogni file ha attributi — dimensione, date di creazione e modifica, sola lettura, nascosto — e privilegi che stabiliscono chi può leggerlo, modificarlo o eseguirlo: nei sistemi di tipo Unix sono i permessi di lettura (r), scrittura (w) ed esecuzione (x) per il proprietario, il gruppo e tutti gli altri.

La paginazione riguarda la memoria: il sistema operativo divide lo spazio dei programmi in blocchi di dimensione fissa, le pagine, caricate nella RAM solo quando servono. Le pagine non usate da tempo possono essere spostate su disco, in un file dedicato (su Windows il file di paging): è la memoria virtuale, che permette di eseguire più programmi di quanti ne entrerebbero nella sola RAM, al prezzo di rallentamenti quando le pagine devono passare di continuo tra disco e memoria. Anche il disco, del resto, è diviso in blocchi di dimensione fissa in cui il file system colloca i file.

Collegamento: hardware, sistema operativo e file system sono l'ambiente in cui girano i programmi. Il passo successivo è capire come si scrive un programma, partendo dal suo nucleo: l'algoritmo.

Algoritmi e programmi

Un algoritmo è una sequenza finita di istruzioni non ambigue che risolve un problema in un numero finito di passi. Le sue proprietà sono la finitezza (termina), la non ambiguità (ogni passo ha un solo significato), l'eseguibilità (ogni passo si può davvero compiere) e la generalità (risolve una classe di problemi, non un solo caso). Un linguaggio di programmazione è un linguaggio formale, con regole di sintassi precise, con cui si descrive un algoritmo perché un calcolatore possa eseguirlo; il programma è l'algoritmo scritto in quel linguaggio.

Qualsiasi algoritmo si può costruire con tre strutture di controllo (teorema di Böhm-Jacopini): la sequenza, la selezione (se una condizione è vera fai questo, altrimenti quello) e l'iterazione (ripeti finché…). Prima di scriverlo in un linguaggio, lo si rappresenta in pseudocodice o con un diagramma di flusso: l'ovale indica inizio e fine, il rettangolo un'istruzione, il rombo una condizione, il parallelogramma un input o un output. Un esempio: per adattare una ricetta a un altro numero di porzioni si leggono le porzioni originali P e quelle desiderate D; se D non è positivo si segnala un errore (selezione), altrimenti per ogni ingrediente si calcola la quantità × D / P (iterazione) e si stampa la lista. Non tutti i problemi ammettono un algoritmo, e alcuni richiedono tempi che crescono troppo in fretta con i dati: è il campo della teoria della computabilità e della complessità, che il programma richiama tra i risultati attesi.

Collegamento: un algoritmo scritto in un linguaggio di alto livello non è ancora eseguibile dalla CPU, che capisce solo il linguaggio macchina. Serve una traduzione, e il modo in cui avviene distingue le famiglie di linguaggi.

Linguaggi di programmazione: dall'algoritmo all'esecuzione

I linguaggi macchina sono istruzioni binarie eseguite direttamente dalla CPU; l'assembly ne è la versione leggibile, con abbreviazioni al posto dei codici, e come il linguaggio macchina dipende dal processore. I linguaggi di alto livello — C, Java, Python e molti altri — usano parole e simboli vicini al linguaggio umano e matematico e sono indipendenti dall'hardware, ma vanno tradotti.

Il percorso dall'algoritmo all'esecuzione passa per l'analisi del problema, la stesura dell'algoritmo, la codifica nel linguaggio scelto (il codice sorgente), la traduzione in linguaggio macchina e il test con la correzione degli errori (debugging). La traduzione avviene in due modi. Un compilatore traduce tutto il sorgente una volta sola e produce un file eseguibile, che poi gira velocemente senza bisogno del sorgente: è il caso del C. Un interprete traduce ed esegue un'istruzione alla volta, ogni volta che il programma viene lanciato: è più lento, ma permette di provare subito il codice. Python e JavaScript sono esempi tipici di linguaggi interpretati; Java segue una via intermedia, compilando in un codice intermedio (bytecode) eseguito da una macchina virtuale.

I linguaggi ad oggetti organizzano il programma intorno a oggetti che riuniscono dati (attributi) e operazioni (metodi). La classe è il modello, l'oggetto un suo esemplare: la classe Ricetta può avere gli attributi nome e porzioni e il metodo calcolaDosi, e ogni singola ricetta è un oggetto di quella classe. I principi chiave sono l'incapsulamento (i dati si modificano solo attraverso i metodi dell'oggetto) e l'ereditarietà (una classe può estenderne un'altra, ereditandone attributi e metodi). Java, C++ e Python sono linguaggi ad oggetti.

Collegamento: finora il calcolatore è stato considerato da solo. Ma gran parte di ciò che fa oggi un computer passa per il collegamento con altri calcolatori: le reti.

Le reti di calcolatori

Una rete di calcolatori è un insieme di dispositivi collegati per scambiarsi dati e condividere risorse. I suoi componenti sono i nodi terminali (computer, smartphone, stampanti di rete), la scheda di rete di ciascun dispositivo, identificata da un indirizzo fisico detto MAC, i mezzi trasmissivi (cavo in rame, fibra ottica, onde radio) e i dispositivi di interconnessione: lo switch collega i dispositivi di una stessa rete locale, il router collega reti diverse e sceglie il percorso dei dati, l'access point collega i dispositivi senza fili, il modem adatta il segnale digitale al mezzo trasmissivo, per esempio la linea telefonica.

Per architettura una rete può essere client/server, con nodi che offrono servizi (server) e nodi che li richiedono (client), oppure peer-to-peer, con nodi alla pari. La topologia descrive la forma dei collegamenti: a bus (tutti su un'unica linea), a stella (tutti collegati a un nodo centrale, lo schema oggi più comune nelle reti locali), ad anello, a maglia (più percorsi alternativi tra i nodi, come nel cuore di Internet). Per scala geografica si distinguono quattro tipi:

Schema — Le reti per scala geografica

Tipo Estensione Esempio
PAN (Personal Area Network) Pochi metri, attorno a una persona Smartphone collegato a cuffie Bluetooth
LAN (Local Area Network) Un edificio o un campus La rete di un ufficio o di un laboratorio
MAN (Metropolitan Area Network) Una città La rete che collega le sedi di un ente in un'area urbana
WAN (Wide Area Network) Regioni, paesi, continenti Internet, la più estesa

Il programma apre la sezione con l'evoluzione delle reti, che si può seguire in sei tappe:

ARPANET (1969)

Negli Stati Uniti entra in funzione ARPANET, che collega i computer di alcune università e centri di ricerca. Usa la commutazione di pacchetto: i dati sono divisi in pacchetti che viaggiano in modo indipendente, il principio su cui funziona ancora Internet.

Ethernet (1973)

Nei laboratori Xerox PARC nasce Ethernet, una tecnologia per collegare via cavo i computer di uno stesso edificio. Standardizzata come IEEE 802.3, è ancora oggi la base delle reti locali cablate.

ARPANET adotta TCP/IP (1983)

ARPANET passa alla famiglia di protocolli TCP/IP, che permette a reti diverse di comunicare tra loro. È la data simbolica della nascita di Internet come «rete di reti».

Il primo collegamento italiano (1986)

Il 30 aprile 1986 il centro CNUCE del CNR di Pisa realizza il primo collegamento italiano a Internet.

Il World Wide Web (1991)

Al CERN di Ginevra Tim Berners-Lee, che aveva proposto il progetto nel 1989, rende pubblico il World Wide Web: pagine ipertestuali collegate tra loro e consultabili con un browser. Il Web è un servizio che funziona sopra Internet, non un sinonimo di Internet.

Il primo standard Wi-Fi (1997)

Viene pubblicato lo standard IEEE 802.11, la base delle reti locali senza fili che prenderanno il nome commerciale di Wi-Fi. Negli anni successivi si diffonde anche la banda larga domestica su linea telefonica, l'ADSL.

Collegamento: le tre tecnologie di collegamento che il programma cita per nome — Ethernet, Wi-Fi e ADSL — sono quelle con cui la maggior parte dei dispositivi accede a una rete.

Ethernet, Wi-Fi e ADSL

Ethernet (IEEE 802.3) è la tecnologia delle reti locali via cavo: i dispositivi si collegano a uno switch con cavi in rame a doppino intrecciato e connettore RJ45, o in fibra ottica, a velocità tipiche da 100 Mbit/s a 1 Gbit/s e oltre. Il Wi-Fi (IEEE 802.11) è la rete locale senza fili: i dispositivi comunicano via radio con un access point, sulle bande dei 2,4 e dei 5 GHz; poiché il segnale è ricevibile da chiunque sia nel raggio d'azione, va protetto con cifratura e password (WPA2 o WPA3). L'ADSL (Asymmetric Digital Subscriber Line) porta Internet in casa sul doppino telefonico in rame, usando frequenze più alte di quelle della voce, separate da un filtro. È asimmetrica perché la velocità in download è molto maggiore di quella in upload, in linea con l'uso tipico di chi riceve più dati di quanti ne invii; oggi viene progressivamente sostituita dalla fibra ottica.

Collegamento: queste tecnologie collegano i dispositivi a una rete. Perché reti costruite con tecnologie diverse possano parlarsi, formando Internet, servono protocolli comuni.

Internet e il modello TCP/IP

Internet è una rete di reti: milioni di reti diverse, collegate da router, che usano la stessa famiglia di protocolli, TCP/IP. Il problema della comunicazione è diviso in livelli (protocollo multilivello): ogni livello svolge un compito preciso, usa i servizi di quello sottostante e offre i propri a quello superiore. Chi invia un messaggio lo fa scendere attraverso i livelli, ognuno dei quali aggiunge le proprie informazioni di controllo; il destinatario le rimuove in ordine inverso.

Schema — I livelli del modello TCP/IP

Livello Compito Protocolli
Applicazione Servizi usati dai programmi HTTP, FTP, DNS, posta elettronica
Trasporto (transport layer) Comunicazione tra i programmi dei due computer, affidabilità TCP, UDP
Rete (network layer) Indirizzamento e instradamento dei pacchetti tra reti diverse IP
Accesso alla rete Trasmissione fisica sulla singola rete Ethernet, Wi-Fi

Al livello di rete, il protocollo IP assegna a ogni dispositivo un indirizzo IP e instrada i pacchetti da una rete all'altra, router dopo router. Un indirizzo IPv4 è di 32 bit, scritti come quattro numeri da 0 a 255 separati da punti (per esempio 192.168.1.10): ogni numero è un byte. Le combinazioni possibili, circa 4,3 miliardi, non bastano più, e IPv6 usa indirizzi di 128 bit. IP non garantisce la consegna: i pacchetti possono perdersi o arrivare in ordine diverso. Al livello di trasporto ci pensa il TCP, che stabilisce una connessione tra i due programmi, numera i pacchetti, li riordina all'arrivo e fa ritrasmettere quelli persi; l'UDP, più leggero, rinuncia a queste garanzie in cambio della velocità.

Collegamento: sopra il trasporto c'è il livello di applicazione, quello dei servizi che l'utente usa davvero: il Web, il trasferimento di file, la traduzione dei nomi.

DNS, HTTP, FTP e il Web client/server

Gli indirizzi IP sono comodi per i computer, non per le persone. Il DNS (Domain Name System) traduce i nomi di dominio, come www.uniroma5.it, nei corrispondenti indirizzi IP. È un sistema distribuito e gerarchico: i nomi si leggono da destra, dal dominio di primo livello (.it) al nome dell'organizzazione, e nessun server conosce tutti gli indirizzi, ma ciascuno sa a chi chiedere.

Il Web ha un'architettura client/server. Il browser è il client: chiede una pagina a un server web con il protocollo HTTP (HyperText Transfer Protocol), e il server risponde con la pagina o con un codice di errore, come il 404 se la pagina non esiste; la versione cifrata, HTTPS, protegge i dati scambiati. L'indirizzo di una pagina, l'URL, riunisce il protocollo, il nome del server e il percorso della risorsa: lo stesso concetto di pathname visto nel file system. L'FTP (File Transfer Protocol) è il protocollo storico per trasferire file tra client e server, per esempio per caricare i file di un sito.

I motori di ricerca rendono il Web consultabile: programmi automatici (crawler) visitano le pagine seguendo i link, un indice registra le parole e le pagine in cui compaiono, un algoritmo di ordinamento decide quali risultati mostrare per primi. Usarli bene — parole chiave precise, verifica della fonte — serve a una delle abilità indicate nella scheda ufficiale: reperire fonti informative alternative e integrative, in un'ottica di aggiornamento continuo.

Collegamento: le pagine che il browser riceve con HTTP sono scritte in un linguaggio preciso, l'HTML.

L'HTML

Un ipertesto è un testo con collegamenti (link) ad altri testi, da percorrere in ordine libero invece che dall'inizio alla fine. L'HTML (HyperText Markup Language) è il linguaggio delle pagine web ed è un linguaggio di markup, non di programmazione: non contiene istruzioni da eseguire, ma marcatori — i tag — che descrivono la struttura del contenuto (questo è un titolo, questo un paragrafo, questo un link). Il browser legge i tag e decide come mostrare la pagina.

La sintassi prevede un tag di apertura e uno di chiusura, con la barra: <p>testo</p>. I tag si annidano uno dentro l'altro, e gli attributi, scritti nel tag di apertura nella forma nome="valore", aggiungono informazioni: in <a href="menu.html"> l'attributo href indica la destinazione del link. La struttura di un documento è sempre la stessa: la dichiarazione <!DOCTYPE html>, poi l'elemento <html>, che contiene <head> (informazioni sulla pagina, come il titolo mostrato nella scheda del browser) e <body> (il contenuto visibile).

Schema — I tag fondamentali

Tag A cosa serve
<h1> … <h6> Titoli, dal livello più importante al meno importante
<p> Paragrafo
<a href="…"> Collegamento ipertestuale
<img src="…" alt="…"> Immagine, con un testo alternativo; non ha tag di chiusura
<ul>, <ol>, <li> Elenco puntato, elenco numerato, voce dell'elenco
<table>, <tr>, <th>, <td> Tabella, riga, cella di intestazione, cella

I colori si indicano con un nome inglese (red) o con un codice esadecimale #RRGGBB: tre coppie di cifre, da 00 a FF, per le quantità di rosso, verde e blu. Ogni coppia è un byte, con 256 livelli, quindi i colori possibili sono 256³ = 16.777.216: #FF0000 è il rosso puro, #000000 il nero, #FFFFFF il bianco. Nelle prime versioni dell'HTML il colore si impostava con attributi come bgcolor; oggi si usano i fogli di stile (CSS), anche direttamente nel tag con l'attributo style. Le tabelle si costruiscono riga per riga, e gli attributi colspan e rowspan uniscono più celle. I frame dividevano la finestra in riquadri, ognuno con una pagina diversa: il tag <frameset> è obsoleto e non è supportato in HTML5, mentre resta <iframe>, che inserisce una pagina dentro un'altra, come una mappa o un video incorporati.

Collegamento: aprire pagine, scaricare file e scambiare dati in rete espone il computer a rischi. La sicurezza informatica li affronta, e riguarda tanto i guasti quanto gli attacchi.

La sicurezza informatica

La multiutenza è la capacità del sistema operativo di gestire più utenti, ciascuno con il proprio account, protetto da credenziali, e i propri privilegi: tenere un account amministratore solo per installare e configurare, e uno standard per il lavoro quotidiano, limita i danni di un errore o di un programma malevolo.

Il backup è una copia di sicurezza dei dati, da conservare su un supporto diverso e possibilmente in un luogo diverso. Può essere completo (tutti i dati), incrementale (solo ciò che è cambiato dall'ultimo backup di qualsiasi tipo) o differenziale (ciò che è cambiato dall'ultimo backup completo). L'immagine di un disco è una copia integrale del disco — sistema operativo, programmi, impostazioni e dati — che permette di ripristinare l'intero computer com'era. Il RAID (Redundant Array of Independent Disks) combina più dischi: nel RAID 1 (mirroring) ogni dato è scritto su due dischi, e se uno si guasta si continua con l'altro; il RAID 0 (striping) distribuisce i dati per aumentare la velocità, senza ridondanza; il RAID 5 distribuisce dati e informazioni di parità su almeno tre dischi e sopporta il guasto di uno di essi. Il RAID protegge dai guasti hardware, non dalle cancellazioni o dai virus, che vengono replicati su tutti i dischi: non sostituisce il backup. L'UPS (gruppo di continuità) è una batteria che alimenta il computer durante blackout e sbalzi di tensione, il tempo necessario a salvare il lavoro e spegnere correttamente.

I virus sono programmi malevoli che si attaccano ad altri file e si attivano quando questi vengono aperti o eseguiti. Fanno parte della famiglia dei malware, che comprende anche i worm (si diffondono da soli attraverso la rete), i trojan (si presentano come software legittimo) e i ransomware (cifrano i dati e chiedono un riscatto).

Schema — Rischi e contromisure

Rischio Contromisura
Guasto di un disco RAID per continuare a lavorare, backup per recuperare i dati
Cancellazione accidentale, ransomware Backup recente, conservato separato dal computer; immagine del disco
Blackout, sbalzi di tensione UPS
Virus e altri malware Antivirus aggiornato, aggiornamenti di sistema, prudenza con allegati e download
Accessi non autorizzati Account personali, password robuste, privilegi ridotti al necessario

Collegamento: proteggere i dati non è solo una questione tecnica. Programmi e contenuti digitali sono anche opere tutelate dalla legge, e il loro uso è regolato da licenze.

Diritto d'autore, licenze e open source

Il software è tutelato come opera dell'ingegno. In Italia la norma di riferimento è la legge sul diritto d'autore (legge 22 aprile 1941, n. 633), che dal 1992 protegge esplicitamente anche il software. Il diritto d'autore comprende i diritti morali, come la paternità dell'opera, che non si possono cedere, e i diritti patrimoniali di sfruttamento economico, che si possono cedere e durano fino a 70 anni dopo la morte dell'autore. Il copyright dei paesi anglosassoni è un istituto affine, centrato sul diritto di riproduzione e sugli aspetti economici.

Chi acquista un programma di solito non ne diventa proprietario: ottiene una licenza d'uso, un contratto che stabilisce cosa si può fare. Le tipologie principali: la licenza proprietaria (uso alle condizioni del produttore, codice sorgente chiuso, divieto di copia e modifica); lo shareware, gratuito per un periodo di prova o con funzioni limitate; il freeware, gratuito ma non necessariamente aperto; il software open source; il pubblico dominio, senza diritti patrimoniali. L'open source rende disponibile il codice sorgente e consente di studiarlo, modificarlo e ridistribuirlo: open source e gratuito non sono sinonimi. Le licenze con copyleft, come la GNU GPL, obbligano a distribuire anche le versioni modificate con la stessa licenza; quelle permissive, come MIT e Apache, consentono di riusare il codice anche in prodotti chiusi. Linux, LibreOffice, MySQL (nella versione Community) e phpMyAdmin sono open source.

Collegamento: le licenze riguardano da vicino anche gli strumenti delle unità 2-4, che esistono sia come programmi proprietari (Microsoft Office) sia come programmi open source (LibreOffice). Il primo è l'editor di testi.

L'editor di testi

L'editor di testi (Microsoft Word, LibreOffice Writer, Google Documenti) serve a creare documenti formattati. Le operazioni di base sono creare, aprire, salvare e salvare con nome scegliendo il formato: .docx è il formato di Word, .odt quello aperto di LibreOffice, il PDF serve a distribuire un documento che deve apparire uguale su ogni dispositivo. Poi selezionare il testo per copiarlo, tagliarlo, incollarlo, e annullare un'operazione.

La formattazione lavora su tre livelli: il carattere (tipo, dimensione, grassetto, corsivo, colore), il paragrafo (allineamento, rientri, interlinea, spaziatura, elenchi) e la pagina (margini, orientamento, intestazioni, numeri di pagina). Gli stili applicano con un clic un insieme di formattazioni e danno struttura al documento: con gli stili Titolo il programma genera da solo l'indice. Le tabelle organizzano i dati in righe e colonne, con celle unibili e bordi personalizzabili; le immagini si inseriscono, si ridimensionano e si sceglie come il testo deve disporsi intorno. Le revisioni registrano ogni modifica, insieme ai commenti, perché l'autore possa accettarla o rifiutarla: è lo strumento per lavorare in più persone sullo stesso testo, accanto al controllo ortografico. Prima della stampa, l'anteprima permette di controllare impaginazione, pagine da stampare, copie e orientamento.

Collegamento: un documento può contenere tabelle con numeri, ma l'editor di testi non fa calcoli. Per elaborare dati numerici serve il foglio elettronico.

Il foglio elettronico

Il foglio elettronico (Microsoft Excel, LibreOffice Calc, Google Fogli) organizza i dati in una griglia di celle, all'incrocio tra colonne indicate da lettere e righe indicate da numeri: B3 è la cella della colonna B, riga 3. Un file (cartella di lavoro) contiene uno o più fogli; in Excel ogni foglio arriva a 1.048.576 righe e 16.384 colonne, cioè 2²⁰ e 2¹⁴. Ogni cella contiene un numero, un testo, una data o una formula; per default i numeri si allineano a destra e i testi a sinistra, un modo rapido per accorgersi che un numero è stato inserito come testo.

Le formule iniziano con il segno = e combinano valori, riferimenti ad altre celle e operatori (+, −, *, /, ^) con le normali precedenze matematiche: =B2*C2. Le funzioni sono formule predefinite: SOMMA, MEDIA, MEDIANA, MIN, MAX, CONTA.NUMERI, e SE, che restituisce un valore diverso a seconda che una condizione sia vera o falsa: =SE(C2>0;"ok";"controllare"). Nelle versioni italiane gli argomenti si separano con il punto e virgola. Il punto chiave è il comportamento dei riferimenti quando si copia una formula:

Schema — Riferimenti relativi, assoluti e misti

Riferimento Scrittura Copiando la formula una riga più in basso
Relativo B2 Diventa B3: si sposta insieme alla formula
Assoluto $B$2 Resta $B$2: punta sempre alla stessa cella
Misto $B2 oppure B$2 Si blocca solo la colonna o solo la riga: $B2 diventa $B3, B$2 resta B$2

Un esempio: con i grammi per porzione di ogni ingrediente nella colonna B e il numero di porzioni nella cella E1, la formula =B2*$E$1 si copia su tutte le righe: B2 diventa B3, B4…, mentre $E$1 continua a puntare alle porzioni. I messaggi di errore aiutano a capire cosa non va: #DIV/0! segnala una divisione per zero, #NOME? una funzione scritta male, #RIF! un riferimento a una cella che non esiste più.

I grafici si creano selezionando i dati e scegliendo il tipo adatto: istogramma o barre per confrontare categorie, linee per un andamento nel tempo, torta per le parti di un totale, dispersione (XY) per la relazione tra due variabili numeriche. Per la stampa conviene definire l'area di stampa, adattare il foglio alla larghezza della pagina e ripetere le intestazioni su ogni pagina.

Collegamento: calcoli e grafici servono solo se arrivano a qualcuno. Il terzo applicativo del programma serve a comunicarli.

Le presentazioni

Il programma per presentazioni (Microsoft PowerPoint, LibreOffice Impress, Google Presentazioni) organizza il contenuto in diapositive da proiettare. Le operazioni di base sono creare una presentazione, aggiungere diapositive scegliendone il layout (titolo, titolo e contenuto, due contenuti…), riordinarle nella visualizzazione a sequenza e scrivere le note del relatore. La formattazione si gestisce meglio a livello globale: un tema definisce colori, caratteri e sfondi, e lo schema diapositiva (master) cambia in un punto solo l'aspetto di tutte le diapositive. Grafici e tabelle si inseriscono direttamente o si importano dal foglio elettronico.

Le animazioni sono di due tipi: le transizioni riguardano il passaggio da una diapositiva all'altra, le animazioni vere e proprie i singoli oggetti, che possono comparire, essere evidenziati, scomparire o muoversi lungo un percorso. Con misura servono a mostrare un concetto alla volta; in eccesso distraggono. Per la stampa si sceglie tra diapositive a pagina intera, pagine con le note del relatore e stampati con più diapositive per pagina, da distribuire al pubblico. L'obiettivo indicato dal programma è comunicare con efficacia nozioni e risultati sperimentali: un'idea per diapositiva, poco testo, grafici leggibili anche da lontano.

Collegamento: editor, foglio e presentazioni coprono documenti, calcoli e comunicazione. Quando i dati diventano tanti e collegati tra loro, però, il foglio elettronico mostra i suoi limiti: è il punto di partenza delle basi di dati.

Le basi di dati e la loro progettazione

Immagina di gestire in un foglio elettronico le ricette di un ristorante con i loro ingredienti. Ogni volta che un ingrediente compare in una ricetta andrebbero ripetuti i suoi dati, come fornitore e allergeni: è la ridondanza, che spreca spazio e porta all'inconsistenza, quando la stessa informazione viene aggiornata in un punto e non in un altro. Una base di dati (database) è una raccolta organizzata di dati collegati tra loro, gestita da un software apposito, il DBMS, che la rende condivisibile, protetta e interrogabile.

La progettazione procede per livelli di astrazione. Dall'analisi dei requisiti si ricava lo schema concettuale, che descrive la realtà da rappresentare indipendentemente da qualsiasi software; lo si traduce nello schema logico, che adotta il modello del DBMS scelto, quasi sempre quello relazionale; infine lo schema fisico realizza il database in un DBMS concreto, attraverso il linguaggio SQL.

Collegamento: il primo livello, quello concettuale, si costruisce con un modello grafico: il modello Entità-Relazione.

Il modello Entità-Relazione

Il modello Entità-Relazione (ER) descrive la realtà con pochi costrutti. Un'entità è una classe di oggetti con caratteristiche comuni ed esistenza autonoma — Ricetta, Ingrediente, Fornitore — e si disegna come un rettangolo. Una relazione (o associazione) è un legame tra entità — una Ricetta «contiene» Ingredienti — e si disegna come un rombo. Gli attributi descrivono entità e relazioni: il nome della ricetta, il numero di porzioni; anche una relazione può avere attributi, come la quantità di un ingrediente in una specifica ricetta.

La cardinalità indica, con un minimo e un massimo, a quante occorrenze di una relazione può partecipare ogni occorrenza di un'entità. Ne derivano tre tipi di relazione: uno a uno (1:1), uno a molti (1:N: un fornitore fornisce molti ingredienti, ogni ingrediente ha un solo fornitore) e molti a molti (N:M: una ricetta contiene molti ingredienti e un ingrediente compare in molte ricette). La chiave (identificatore) è l'attributo, o l'insieme di attributi, che distingue ogni occorrenza da tutte le altre: un codice ingrediente, non il nome, che potrebbe ripetersi.

Collegamento: lo schema ER è un disegno. Per realizzarlo in un DBMS va tradotto nel modello logico più diffuso, quello relazionale.

Il modello relazionale e la traduzione dello schema ER

Nel modello relazionale i dati stanno in tabelle (relazioni): ogni colonna è un attributo con il suo dominio, l'insieme dei valori ammessi, e ogni riga (tupla) è un'occorrenza. Il modello si regge sui vincoli di integrità, regole che i dati devono rispettare: vincoli di dominio (le quantità sono numeri positivi), di tupla (la data di consegna di un ordine non precede quella dell'ordine), il valore obbligatorio (NOT NULL), il vincolo di chiave e l'integrità referenziale. La chiave primaria identifica in modo univoco ogni riga e non può essere nulla; la chiave esterna è un attributo che contiene il valore della chiave primaria di un'altra tabella, e il vincolo di integrità referenziale impone che quel valore esista davvero: non si può registrare un ingrediente con un fornitore che non c'è.

Schema — Dallo schema ER allo schema relazionale

Nello schema ER Nello schema relazionale
Entità Una tabella, con gli attributi come colonne e l'identificatore come chiave primaria
Relazione 1:N Chiave esterna nella tabella del lato «molti»: Ingrediente riceve il codice del Fornitore
Relazione N:M Una nuova tabella con le chiavi delle due entità come chiavi esterne, più gli attributi della relazione: Composizione (ricetta, ingrediente, grammi)
Relazione 1:1 Chiave esterna in una delle due tabelle, oppure fusione in una sola

Collegamento: lo schema logico dice quali tabelle servono. Per crearle davvero, riempirle e interrogarle si usa l'SQL: è il livello fisico.

SQL: creare, modificare, interrogare

L'SQL (Structured Query Language) è il linguaggio standard dei database relazionali, ed è dichiarativo: si descrive il risultato che si vuole, non come ottenerlo. Una parte serve a definire la struttura (CREATE DATABASE, CREATE TABLE), una a manipolare i dati (INSERT, UPDATE, DELETE), una a interrogarli (SELECT). Ecco la tabella Composizione, nata dalla relazione N:M, con i suoi vincoli:

Esempio — Creazione di una tabella con chiavi e vincoli

CREATE TABLE composizione (
  id_ricetta     INT,
  id_ingrediente INT,
  grammi         DECIMAL(6,1) NOT NULL CHECK (grammi > 0),
  PRIMARY KEY (id_ricetta, id_ingrediente),
  FOREIGN KEY (id_ricetta) REFERENCES ricetta(id_ricetta),
  FOREIGN KEY (id_ingrediente) REFERENCES ingrediente(id_ingrediente)
);

La chiave primaria è composta da due colonne: la stessa coppia ricetta-ingrediente non può comparire due volte. Lo standard prevede anche CREATE DOMAIN, per definire un dominio riutilizzabile (per esempio «grammi positivi»), ma non tutti i DBMS lo supportano: MySQL, per esempio, no. Le operazioni sui dati:

Schema — Manipolazione e interrogazione dei dati

Comando Esempio Effetto
INSERT INSERT INTO ingrediente (id_ingrediente, nome) VALUES (7, 'Farro'); Aggiunge una riga
UPDATE UPDATE ingrediente SET nome = 'Farro perlato' WHERE id_ingrediente = 7; Modifica le righe che soddisfano la condizione
DELETE DELETE FROM ingrediente WHERE id_ingrediente = 7; Cancella le righe che soddisfano la condizione
SELECT SELECT nome FROM ingrediente WHERE glutine = TRUE ORDER BY nome; Restituisce i nomi degli ingredienti con glutine, in ordine alfabetico

Un errore da evitare: UPDATE e DELETE senza la clausola WHERE agiscono su tutte le righe della tabella. E se una riga è richiamata da una chiave esterna, come un ingrediente usato in una ricetta, il DBMS ne rifiuta la cancellazione per rispettare l'integrità referenziale, salvo regole diverse impostate sul vincolo.

Collegamento: i comandi SQL non agiscono direttamente sui file: li riceve ed esegue il DBMS, il software che garantisce che i dati restino affidabili anche con molti utenti e in caso di guasti.

Il DBMS: proprietà, client/server e transazioni

Un DBMS (Database Management System) è il sistema software che gestisce collezioni di dati grandi, condivise da più utenti e persistenti nel tempo. Le sue funzioni sono definire la struttura dei dati, inserirli, modificarli e interrogarli, controllare gli accessi e gestire l'uso contemporaneo. Il programma ne elenca le proprietà: l'affidabilità (i dati resistono a guasti hardware e software, grazie a salvataggi e procedure di ripristino), la privatezza (ogni utente accede solo ai dati e alle operazioni per cui è autorizzato), l'efficienza (uso contenuto di tempo e spazio) e l'efficacia (rendere più produttive le attività di chi usa i dati). Tra le tipologie, i DBMS relazionali sono i più diffusi (MySQL, PostgreSQL, Oracle, SQL Server, Access); quelli non relazionali (NoSQL) organizzano i dati in documenti, coppie chiave-valore o grafi. Si distinguono anche i DBMS desktop, per uso personale, da quelli server.

Nell'architettura client/server il DBMS gira su un server e resta in ascolto; i programmi client — un'applicazione, un sito web, uno strumento di amministrazione — gli inviano comandi SQL e ricevono i risultati, anche in molti contemporaneamente. Qui entrano in gioco le transazioni: sequenze di operazioni che il DBMS tratta come un'unità indivisibile. Se la vendita di un prodotto richiede di registrarla e di scalare la quantità dal magazzino, le due operazioni devono avvenire entrambe o nessuna. Le transazioni rispettano le proprietà ACID: atomicità (tutto o niente), consistenza (i vincoli restano rispettati), isolamento (transazioni contemporanee non interferiscono) e durabilità (una modifica confermata con COMMIT non si perde; con ROLLBACK invece si annulla tutta la transazione).

Collegamento: con SQL e DBMS chiari, l'ultima unità del programma li mette in pratica con due strumenti molto diversi: MySQL e Access.

MySQL e phpMyAdmin

MySQL è un DBMS relazionale client/server, open source nella versione Community e molto usato per i siti web. Si lavora con comandi SQL: CREATE DATABASE per creare il database, CREATE USER per creare un utente (per esempio CREATE USER 'studente'@'localhost' IDENTIFIED BY 'password';) e GRANT per assegnargli privilegi solo su quel database — la privatezza vista in pratica. Seguono CREATE TABLE con chiavi primarie, chiavi esterne (gestite dal motore di archiviazione InnoDB, predefinito nelle versioni attuali) e vincoli come NOT NULL, UNIQUE e DEFAULT, e le query di interrogazione con SELECT.

phpMyAdmin è un'interfaccia web, scritta in PHP, per gestire MySQL dal browser: permette di creare database e tabelle con moduli guidati invece che scrivendo i comandi, sfogliare e modificare i dati, eseguire query SQL, gestire gli utenti, importare ed esportare dati. È utile anche per imparare, perché dopo ogni operazione mostra il comando SQL che ha eseguito.

Collegamento: MySQL è pensato per molti utenti e applicazioni collegate in rete. Access copre l'altro caso: un database personale o di un piccolo gruppo, gestito interamente da interfaccia grafica.

Access

Microsoft Access è il DBMS relazionale di Microsoft Office, disponibile per Windows. La sua architettura è diversa da quella di MySQL: l'intero database — dati e strumenti per usarli — sta in un solo file .accdb, che contiene diversi oggetti: tabelle, query, maschere, report, macro e moduli. Le tabelle si creano in visualizzazione Struttura, indicando per ogni campo nome e tipo di dati (Testo breve, Numerico, Data/ora, Sì/No, Numerazione automatica…) e impostando la chiave primaria; i vincoli si esprimono con proprietà come Richiesto, Regola di convalida e Indicizzato senza duplicati. Le tabelle si collegano nella finestra Relazioni, dove si applica l'integrità referenziale.

Le query di interrogazione si costruiscono in modo visuale, scegliendo tabelle e campi e scrivendo i criteri in una griglia, e Access genera l'SQL corrispondente. Le maschere sono moduli grafici per il data entry, cioè l'inserimento dei dati da parte di chi non conosce la struttura delle tabelle, e per la visualizzazione dei dati, un record alla volta; i report impaginano i dati per la stampa.

Collegamento: con Access si chiude il programma. Prima del metodo di studio conviene rimettere a confronto i quattro applicativi che il corso chiede di saper usare.

Sintesi: i quattro applicativi a confronto

Editor di testi, foglio elettronico, presentazioni e DBMS hanno interfacce simili ma logiche diverse: ognuno ha la propria unità di lavoro, i propri strumenti chiave e i propri formati. Scegli una dimensione per confrontarli.

Confronta i 4 applicativi

Dimensione Editor di testi Foglio elettronico Presentazioni DBMS (Access)
Unità di lavoro Pagina e paragrafo Cella, in una griglia di righe e colonne Diapositiva Record (riga) di una tabella, con campi di tipo fisso
A cosa serve Produrre documenti strutturati Calcolare, analizzare e rappresentare dati numerici Comunicare contenuti a un pubblico Archiviare e interrogare grandi quantità di dati collegati
Strumenti chiave Stili, tabelle, immagini, revisioni Formule, funzioni, riferimenti relativi e assoluti, grafici Temi, schema diapositiva, transizioni e animazioni Chiavi, relazioni, query, maschere
Formati di file .docx (Word), .odt (Writer); PDF per distribuire .xlsx (Excel), .ods (Calc) .pptx (PowerPoint), .odp (Impress) .accdb (Access), .odb (LibreOffice Base)
Stampa Anteprima, margini, orientamento, pagine da stampare Area di stampa, adattamento alla pagina, intestazioni ripetute Diapositive, pagine note, stampati con più diapositive per pagina Report che impaginano i dati selezionati

Ogni applicativo ha un'unità di lavoro diversa: il testo scorre nelle pagine, i dati del foglio stanno in celle indipendenti, la presentazione procede per diapositive, il database per record con una struttura decisa in anticipo.

Collegamento: con il confronto si chiude il percorso. Le sezioni che seguono riguardano come organizzare lo studio.

Metodo di studio consigliato

Alcuni criteri utili per organizzare lo studio, in base alla struttura del programma:

  • Parti dalla codifica binaria, con carta e penna. Convertire qualche numero e ragionare su quante combinazioni danno n bit richiede pochi minuti, e il byte ricorre ovunque: negli indirizzi IP, nei colori dell'HTML, nelle dimensioni dei file.
  • Studia la prima unità per coppie di concetti. Molti argomenti si capiscono per contrasto: RAM e memoria di massa, compilatore e interprete, switch e router, Internet e Web, backup e RAID, freeware e open source, chiave primaria e chiave esterna. Una tabella personale con le differenze è un ottimo strumento di ripasso.
  • Gli applicativi si imparano usandoli. Per ogni funzione citata nel programma — stili, revisioni, riferimenti assoluti, grafici, schema diapositiva, maschere — apri il programma e provala davvero. Se non hai Microsoft Office, LibreOffice è gratuito e ha le stesse funzioni di base.
  • Progetta un piccolo database tuo. Scegli un tema vicino al corso, come ricette e ingredienti, e percorri tutta la catena: schema ER, traduzione in tabelle, comandi SQL, poi la stessa base di dati in Access o con phpMyAdmin. È il modo più rapido per fissare cardinalità, chiavi e vincoli.
  • Costruisci un glossario delle sigle. CPU, RAM, SSD, LAN, TCP/IP, DNS, HTTP, HTML, RAID, UPS, DBMS, SQL, ACID: il programma chiede di saper descrivere le caratteristiche degli strumenti con un linguaggio tecnico appropriato, e ogni sigla sciolta è già metà della definizione.
  • Usa le verifiche previste dal corso: il test di autovalutazione iniziale e finale, i test all'inizio e alla fine di ogni unità didattica e le esercitazioni interattive in aula virtuale servono a controllare la comprensione unità per unità.

Confrontati con chi sta studiando lo stesso corso. Il gruppo L26 San Raffaele è aperto a tutti gli studenti del corso, per qualsiasi materia.

Come funziona l'esame

Il formato degli esami San Raffaele è spiegato nella guida dedicata, aggiornata quando le modalità cambiano. Prima di ogni appello controlla anche il programma ufficiale dell'insegnamento.

Le modalità cambiano frequentemente: numero di domande, sessioni in presenza, punti premialità. Trovi tutto spiegato nella guida completa, sempre aggiornata:

Come funzionano gli esami Pegaso, Mercatorum e San Raffaele →

Quanto tempo serve

Con 6 CFU e 31 videolezioni da circa mezz'ora — poco più di 15 ore di video — conviene mettere in conto 4-5 settimane. Una traccia possibile: una settimana per le prime 11 lezioni (codifica, hardware, software, sistemi operativi, file system, programmazione, reti), una per le 6 su Internet, HTML, sicurezza e licenze, una per le 7 sulle basi di dati, dal modello ER al DBMS, e una per le 7 sugli applicativi e su MySQL e Access, da seguire con il programma aperto sullo schermo. Qualche giorno finale serve per il ripasso con il glossario e le tabelle di confronto.

Il tempo dipende soprattutto dal punto di partenza. Chi usa già ogni giorno editor, foglio elettronico e presentazioni può accorciare la parte sugli applicativi; chi non ha mai visto un database farà bene a dedicare qualche giorno in più alla progettazione e all'SQL, la parte più nuova del corso per la maggior parte degli studenti di un corso non informatico.

Questa materia ti prepara a…

La scheda ufficiale presenta gli strumenti di questo corso come indispensabili nella quotidianità e nel futuro del laureato in Scienze dell'Alimentazione e Gastronomia. Nel piano di studi L26 li ritroverai soprattutto dove si lavora con dati e comunicazione:

Prepari questa materia in questo periodo? Entra nel gruppo del corso.

Domande frequenti

6 CFU (cod. 0262206INGINF05, SSD ING-INF/05). È una materia del 1° anno e lo stesso codice compare sia nel piano di studi dell'A.A. 2026/2027 sia nel piano dell'A.A. 2024/2025.

Il programma ufficiale ha cinque unità didattiche: i concetti di base delle tecnologie ICT (codifica binaria, hardware e periferiche, file system, software e sistemi operativi, linguaggi di programmazione, reti, Internet, HTML, sicurezza, licenze, basi di dati e DBMS), poi editor di testi, fogli elettronici e presentazioni, e infine la pratica con i DBMS MySQL e Access.

No. La scheda ufficiale non prevede prerequisiti specifici oltre alle competenze in ingresso dell'ambito informatico, e non ci sono propedeuticità. Il corso parte dalle basi, dal bit e dal byte, e prevede all'inizio un test di autovalutazione per misurare il proprio livello di partenza.

No. Altri corsi San Raffaele hanno esami di informatica con codici e programmi diversi: in L16 Scienze dell'Amministrazione e dell'Organizzazione c'è Informatica da 6 CFU (cod. 0162206INF01, SSD INF/01), con varianti come Informatica medica e Informatica per lo sport; in L8 Ingegneria Informatica e Intelligenza artificiale e in L9 Ingegneria Biomedica c'è Fondamenti di informatica da 9 CFU; in L4 Fondamenti di Informatica e Matematica; in L22 Statistica ed elaborazione informatica. Questa pagina riguarda solo l'esame di L26, cod. 0262206INGINF05: se il codice nel tuo piano è diverso, fai riferimento alla scheda ufficiale del tuo insegnamento su uniroma5.it.

Il formato degli esami San Raffaele è spiegato nella guida dedicata agli esami Pegaso, Mercatorum e San Raffaele, che viene aggiornata quando le modalità cambiano. Controlla sempre anche il programma ufficiale dell'insegnamento prima dell'appello.

La base è il materiale fornito in piattaforma: videolezioni, slide ed esercitazioni. Per integrarlo la scheda ufficiale indica le dispense INDIRE e i materiali integrativi forniti dal docente, senza un manuale specifico.

La chiave primaria è l'attributo, o l'insieme di attributi, che identifica in modo univoco ogni riga di una tabella: non può ripetersi né essere vuota. La chiave esterna è un attributo di una tabella che contiene il valore della chiave primaria di un'altra tabella e serve a collegarle; il vincolo di integrità referenziale impone che il valore a cui rimanda esista davvero.

Altre materie L26-SANRAFFAELE

Tutte le guide Scienze dell'Alimentazione e Gastronomia — San Raffaele →

Gruppi L26 San Raffaele (2)

Nota di trasparenza

I marchi e i nomi di ateneo citati in questa guida (Pegaso, Mercatorum, San Raffaele) sono utilizzati esclusivamente a fini descrittivi e informativi. La guida è realizzata in modo indipendente, senza alcun rapporto di affiliazione o collaborazione con gli atenei citati. Lo studente resta responsabile del rispetto del regolamento didattico e degli obblighi contrattuali del proprio ateneo.

Studia con
altri studenti