Prima di entrare
La preparazione tecnica ce l'hai (e nel resto della pagina la ripassi). Ma all'orale conta tanto come ti presenti: la griglia valuta anche autonomia, maturità e padronanza espositiva. Ecco i consigli concreti, quelli che avresti voluto sentirti dire prima.
Dormi, non studiare all'alba
Niente maratone notturne: la lucidità vale più dell'ultimo dettaglio ripassato. Dormi 7-8 ore, prepara i vestiti e i documenti la sera prima, e la mattina fai solo un ripasso leggero.
Ordinato, non in maschera
Vestiti in modo pulito e comodo, né troppo formale né troppo sciatto. Evita strappi vistosi, scollature marcate, shorts, ciabatte e trucco pesante. Devi sentirti te stesso, ma "in versione presentabile".
Postura aperta
Siediti dritto, spalle rilassate, mani ferme sul tavolo. Guarda negli occhi chi ti parla (alterna tra i commissari). Un bel respiro prima di iniziare abbassa l'ansia più di quanto pensi.
Lento e chiaro
Parla più piano di quanto ti venga d'istinto: l'ansia accelera. Fai pause. Meglio poche frasi precise che un fiume di parole. Se ti perdi, fermati, respira, riparti.
Lessico tecnico, dai del Lei
Usa i termini giusti (relazione, chiave esterna, transazione) con naturalezza: è l'indicatore 2 della griglia. Evita gli intercalari ("cioè", "tipo", "in pratica") e il "non lo so" secco.
Guida tu il discorso
Apri con un argomento forte e portalo dove sei preparato. Se non sai una cosa, dillo con onestà e sposta su un tema vicino che padroneggi: dimostra maturità, non te lo segnano come gli altri.
Come si svolge l'orale
Il colloquio dell'anno scolastico 2025/2026 è disciplinato dal Decreto del Ministro dell'istruzione e del merito 29 gennaio 2026, n. 13 e dal suo Allegato A (la griglia di valutazione). Sono i due documenti qui sotto: leggili almeno una volta, perché definiscono esattamente cosa ti verrà chiesto e come verrai valutato.
Articolo 1 — le quattro discipline del colloquio
L'art. 1 stabilisce quali materie saranno protagoniste del tuo orale. Le elenca in una tabella allegata al decreto, distinta per indirizzo.
«Per l'esame di maturità dell'anno scolastico 2025/2026, nelle tabelle allegate […] sono indicate: […] b) le quattro discipline oggetto del colloquio d'esame […]».
In pratica: il colloquio non spazia a caso su tutto, ma ruota intorno a quattro discipline individuate. Per una V di ITI ad articolazione Informatica gravitano naturalmente su Informatica e Sistemi e reti sul fronte tecnico, con Italiano e Inglese a completare il quadro pluridisciplinare. È su questo asse che devi preparare i collegamenti.
Articolo 2 — come si svolge
L'art. 2 è il cuore della faccenda: dice qual è lo scopo del colloquio e in che ordine procede. Lo scopo è accertare il PECUP (Profilo Educativo, Culturale e Professionale), cioè non solo cosa sai, ma come lo sai usare e collegare.
«Il colloquio […] ha la finalità di accertare il conseguimento del profilo educativo, culturale e professionale della studentessa o dello studente (PECUP) […] al fine di verificare l'acquisizione dei contenuti e dei metodi propri di ciascuna disciplina, la capacità di utilizzare e raccordare le conoscenze acquisite e di argomentare in modo critico e personale […]».
Il comma 2 fissa la sequenza delle fasi. È la mappa del tuo orale:
«Il colloquio ha inizio con una breve riflessione del candidato sul proprio percorso scolastico e personale […]. Il colloquio prosegue con la proposta di domande e approfondimenti sulle quattro discipline […]. Nel corso del colloquio il candidato analizza criticamente e correla al percorso di studi […] le esperienze svolte nell'ambito delle attività di formazione scuola-lavoro […]. Inoltre, il colloquio verifica le competenze di educazione civica […]. Infine […] viene effettuata la discussione degli elaborati relativi alle prove scritte.»
Come viene valutato
La commissione ha a disposizione venti punti per il colloquio, attribuiti dall'intera commissione, presidente compreso. Il punteggio nasce da quattro indicatori, ognuno con cinque livelli e un massimo di 5 punti: 4 × 5 = 20.
«La commissione dispone di venti punti per la valutazione del colloquio. […] Il punteggio è attribuito dall'intera commissione, compreso il presidente.»
Questi sono i quattro indicatori dell'Allegato A, con il descrittore del livello più alto (V, eccellenza): è il bersaglio a cui puntare.
| Indicatore | Cosa valuta | Livello V — eccellenza | Max |
|---|---|---|---|
| 1. Contenuti e metodi | Quanto padroneggi gli argomenti e i metodi delle quattro discipline | «Ha acquisito i contenuti delle diverse discipline in maniera completa e approfondita e utilizza con piena padronanza i relativi metodi.» | 5 |
| 2. Raccordo e lessico | Capacità di collegare le conoscenze; padronanza del lessico, anche tecnico/di settore (eventualmente in inglese) | «È in grado di utilizzare le conoscenze acquisite raccordandole in una trattazione pluridisciplinare ampia e approfondita. Si esprime con ricchezza e piena padronanza lessicale e semantica […].» | 5 |
| 3. Argomentazione critica | Capacità di argomentare in modo critico e personale | «È in grado di formulare ampie e articolate argomentazioni critiche e personali, rielaborando con originalità i contenuti acquisiti.» | 5 |
| 4. Maturazione personale | Grado di autonomia, responsabilità e maturità raggiunto | «Ha raggiunto un elevato grado di autonomia e maturazione personale; sa gestire responsabilità significative in modo esemplare per gli altri.» | 5 |
| Punteggio totale della prova orale | 20 | ||
Sappi i metodi
Non basta "cosa è": mostra come si fa. Es. non solo "cos'è una transazione", ma come si delimita e cosa garantisce ACID.
Collega & nomina giusto
Usa il lessico esatto (relazione ≠ tabella ≠ campo) e tieni pronta una frase tecnica in inglese per l'esterno di lingua.
Prendi posizione
"md5 è superato, oggi userei password_hash perché…": un'opinione motivata vale più di un elenco.
Mostrati autonomo
Guida tu il discorso, ammetti con lucidità ciò che non sai e riporta il discorso dove sei sicuro.
Sistemi informativi & DBMS
È spesso la domanda d'apertura. Parti distinguendo dato e informazione: il dato è un fatto grezzo (37, "Rossi"), l'informazione è il dato interpretato in un contesto ("il paziente Rossi ha 37 anni").
- Sistema informativo: l'intero apparato (anche persone e procedure cartacee) che gestisce le informazioni di un'organizzazione.
- Sistema informatico: la parte automatizzata del sistema informativo, fatta di hardware e software. È un sottoinsieme del primo.
- Intensione (schema, struttura stabile) vs estensione (i dati presenti in un dato istante, che cambiano).
Che cos'è un DBMS
Un DBMS (Data Base Management System) è il software che gestisce una base di dati: la definisce, la interroga e la modifica garantendo persistenza, condivisione, integrità e sicurezza.
Vantaggi
- Niente ridondanze e incongruenze
- Condivisione e accesso concorrente
- Indipendenza dei dati dalle applicazioni
- Integrità, sicurezza, controllo accessi
Svantaggi
- Costo di software e hardware
- Complessità e necessità di un DBA
- Vulnerabilità del punto centralizzato
Architettura a tre livelli (ANSI/SPARC)
È il modello che spiega l'indipendenza dei dati. Citalo: fa scena e si capisce dal disegno.
Linguaggi e ciclo di vita
- DDL definisce le strutture (CREATE, ALTER, DROP) · DML manipola i dati (INSERT, UPDATE, DELETE) · QL interroga (SELECT) · DCL gestisce i permessi (GRANT, REVOKE).
- La progettazione di un database segue tre passi: concettuale (E-R) → logica (relazionale) → fisica (SQL). Sono i Temi 2, 3 e 4 di questa pagina.
Il modello Entità-Relazioni
Primo passo della progettazione: descrivere la realtà senza pensare a come la implementeremo. Devi saper riconoscere e disegnare i costrutti. Ecco la legenda:
Un esempio completo: la biblioteca
Realtà: una biblioteca presta libri ai suoi iscritti. Ogni utente fa più prestiti; ogni prestito riguarda un solo libro; un libro può comparire in molti prestiti.
Le cardinalità delle associazioni
Quante istanze di un'entità si legano all'altra. I tre casi che devi saper riconoscere a colpo d'occhio:
Q> Differenza tra identificatore interno ed esterno?
Interno: l'entità si identifica con propri attributi (es. matricola). Esterno: serve anche la chiave di un'altra entità tramite un'associazione (entità debole).
Q> Cos'è una gerarchia ISA?
Una generalizzazione: un'entità padre (Persona) si specializza in figlie (Studente, Docente). Si classifica in totale/parziale ed esclusiva/sovrapposta.
Relazionale, algebra, transazioni, normalizzazione
Il tema più denso: qui lo schema E-R diventa tabelle. Lessico preciso, mi raccomando.
- Relazione = tabella · tupla = riga · attributo = colonna · dominio = valori ammessi per un attributo.
- Chiave candidata: insieme minimale che identifica le tuple · chiave primaria (PK): la candidata scelta, niente NULL · chiave esterna (FK): riferisce la PK di un'altra tabella → integrità referenziale.
Algebra relazionale — gli insiemi
Linguaggio formale di E. Codd: applica operatori alle tabelle e restituisce tabelle. Gli operatori insiemistici si vedono benissimo con i diagrammi di Eulero-Venn (R e S sono due tabelle compatibili):
Selezione σ vs proiezione π
Due operatori che confondono tutti. Visivamente è semplicissimo: la selezione prende righe, la proiezione prende colonne.
Le transazioni e le proprietà ACID
Una transazione è un'unità logica di elaborazione che il DBMS tratta come indivisibile: si delimita tra BOT ed EOT e si chiude con COMMIT o ROLLBACK. Esempio classico: il bonifico (addebito + accredito: entrambi o nessuno).
Atomicità
Tutto o niente: se un'operazione fallisce si annulla tutto.
Consistenza
Da uno stato coerente a un altro coerente (vincoli rispettati).
Isolamento
Le transazioni concorrenti non si interferiscono.
Durabilità
Dopo il commit le modifiche sono permanenti, anche dopo un guasto.
Normalizzazione — l'esempio Incarichi
Serve a togliere ridondanze e anomalie. Si basa sulle dipendenze funzionali (X → Y: il valore di X determina Y). Partiamo da una tabella unica:
| impiegato | progetto | ruolo | costo_orario | livello | budget |
|---|---|---|---|---|---|
| Rossi | Alfa | tecnico | 25 | B | 50000 |
| Bianchi | Beta | progettista | 40 | C | 80000 |
| Neri | Delta | responsabile | 55 | D | 90000 |
Le dipendenze: impiegato→livello, progetto→budget, (impiegato,progetto)→ruolo, ruolo→costo_orario. Scomponiamo:
I passi della progettazione logica
Ristrutturazione dello schema E-R
Eliminazione delle gerarchie, eliminazione degli attributi multivalore, scelta degli identificatori principali.
Traduzione in tabelle
Ogni entità → tabella con PK. Associazione 1:N → la PK del lato "1" diventa FK nel lato "N". Associazione N:N → tabella nuova con le due PK (es. Prestito). Associazione 1:1 → fusione o FK con UNIQUE.
Q> Perché una tabella in 2NF può non essere in 3NF?
Può avere dipendenze transitive: un attributo non chiave che dipende da un altro attributo non chiave (es. costo_orario → ruolo, e ruolo non è chiave).
Q> Cosa garantisce la "I" di ACID?
L'isolamento: transazioni concorrenti eseguite come se fossero in sequenza, senza vedere gli stati intermedi le une delle altre.
Il linguaggio SQL
La parte più pratica: quasi sicuro ti chiederanno di leggere o scrivere una query. Lavoriamo su due tabelle in relazione 1:N — un paziente fa molte visite.
DDL — creare le tabelle
CREATE TABLE Pazienti ( ID_paziente INT PRIMARY KEY AUTO_INCREMENT, cognome VARCHAR(40) NOT NULL, provincia CHAR(2) ); CREATE TABLE Visite ( ID_visita INT PRIMARY KEY AUTO_INCREMENT, id_paziente INT NOT NULL, pressioneMAX INT, FOREIGN KEY (id_paziente) REFERENCES Pazienti(ID_paziente) );
DML & QL — manipolare e interrogare
INSERT INTO Pazienti (cognome, provincia) VALUES ('Rossi', 'MI'); UPDATE Pazienti SET provincia = 'CO' WHERE ID_paziente = 1; DELETE FROM Visite WHERE pressioneMAX IS NULL;
La SELECT ha tre parti: target list (cosa = proiezione π), FROM (da dove), WHERE (condizione = selezione σ).
-- proiezione + selezione SELECT cognome, provincia FROM Pazienti WHERE provincia IN ('MI','TO','CO') AND cognome LIKE 'R%'; -- inizia per R
Operatori della WHERE: = <> < > <= >=, più LIKE (jolly % e _), BETWEEN, IN, IS NULL, uniti da AND/OR/NOT.
JOIN, aggregazione e raggruppamento
-- quante visite e pressione media per ciascun paziente SELECT P.cognome, COUNT(*) AS n_visite, AVG(V.pressioneMAX) AS media FROM Pazienti P JOIN Visite V ON P.ID_paziente = V.id_paziente GROUP BY P.cognome HAVING COUNT(*) > 1 ORDER BY media DESC;
INNER JOIN
- Restituisce solo le righe con corrispondenza tra le due tabelle.
LEFT OUTER JOIN
- Tiene tutte le righe di sinistra; dove manca corrispondenza, i campi destri sono NULL.
Q> Quali operatori dell'algebra realizza la SELECT?
WHERE = selezione (σ), elenco campi = proiezione (π), JOIN = congiunzione (⋈).
Q> Errore tipico con GROUP BY?
Mettere nella SELECT un campo non aggregato e assente dal GROUP BY. Regola: ogni colonna o è aggregata o compare nel GROUP BY.
Pagine dinamiche PHP & MySQL
Qui le materie si incrociano: PHP (Informatica) + client/server (Sistemi) + sicurezza (Ed. civica). Ottimo terreno per i collegamenti dell'orale.
Connessione al DB con mysqli
$con = new mysqli("localhost", "root", "", "ospedale"); if (mysqli_connect_errno()) { echo "Errore di connessione"; exit(); } $sql = "SELECT cognome, provincia FROM Pazienti WHERE provincia = 'MI'"; $ris = $con->query($sql); if ($ris->num_rows > 0) { foreach ($ris as $riga) { // array associativo echo $riga['cognome'] . " - " . $riga['provincia']; } } $con->close();
Per scrivere cambia solo la stringa SQL (INSERT/UPDATE/DELETE): è il CRUD del progetto di laboratorio. $_GET/$_POST leggono i form; session_start() + $_SESSION gestiscono il login; i cookie salvano dati sul client, le sessioni sul server.
Password: crypt vs hash
- Le password non si salvano mai in chiaro: si salva un hash (funzione a senso unico).
- md5()/sha1(): storici ma oggi insicuri (veloci, vulnerabili a rainbow table). Citalo come superato.
- Approccio corretto: password_hash() + password_verify(), che gestiscono salt e costo automaticamente.
SQL injection — il ponte con Ed. civica
Attacco in cui l'utente inserisce codice SQL in un campo di input: se la query si costruisce concatenando l'input, il codice ostile viene eseguito.
// VULNERABILE: input concatenato $sql = "SELECT * FROM utenti WHERE nome = '" . $_POST['nome'] . "'"; // se l'utente scrive ' OR '1'='1 la condizione è sempre vera! // SICURO: prepared statement (dati e query separati) $stmt = $con->prepare("SELECT * FROM utenti WHERE nome = ?"); $stmt->bind_param("s", $_POST['nome']); $stmt->execute();
Q> Il PHP gira sul client o sul server?
Sul server: al browser arriva solo l'HTML prodotto. Per questo accede al database senza esporlo.
Q> Differenza sessione / cookie?
Il cookie salva i dati sul client; la sessione li salva sul server e sul client lascia solo l'ID di sessione (più sicura per il login).
DOMANDONI II prova da cui trarre spunto
I quesiti della SECONDA PARTE delle tracce ministeriali di Informatica (A038) degli ultimi anni, con una risposta-traccia per ciascuno. Non sono soluzioni complete: sono spunti per allenare il ragionamento, perché gli stessi temi tornano spesso (HTTP stateless, JSON/XML, normalizzazione, trigger, GRANT, concorrenza…). Tocca i pulsanti per aprire.
a.s. 2022/2023
— piattaforma di educational gamesI. Pagine web per la classifica generale degli studenti di una classe virtuale (somma delle monete su tutti i giochi della classe).
È un problema di raggruppamento: somma le monete di ogni studente su tutti i giochi di quella classe e ordina in modo decrescente. Lato server (PHP) esegui la query e stampi una tabella.
II. Integrare la base di dati per i feedback degli studenti sui videogiochi (punteggio 1-5 + descrizione max 160 caratteri).
Nuova tabella collegata a studente e gioco, con vincoli di dominio sul punteggio e sulla lunghezza della descrizione. La pagina è un form (select 1-5 + textarea con maxlength="160") che fa una INSERT; per mostrare il voto medio usi AVG.
III. Concetto di "raggruppamento" in SQL: come operano le funzioni di aggregazione e la clausola HAVING.
GROUP BY riunisce in un'unica riga tutte le tuple che hanno lo stesso valore in una colonna; su ogni gruppo le funzioni di aggregazione (COUNT, SUM, AVG, MIN, MAX) calcolano un valore. La WHERE filtra le righe prima del raggruppamento, la HAVING filtra i gruppi dopo e può usare le aggregazioni.
IV. Tabella Progetti(ID, Titolo, Budget, Tipo, DataInizio, DataFine, Tutor, TelTutor): verificare la normalizzazione, portarla in 3NF e implementarla.
Non è in 3NF: TelTutor dipende da Tutor, non dalla chiave (dipendenza transitiva ID → Tutor → TelTutor). Si scorpora il tutor in una tabella a parte.
a.s. 2022/2023
— SportOvunque, palestre in convenzioneI. Disdetta di una prenotazione fino a 48 ore prima, con credito pari al costo riutilizzabile.
Aggiungi uno stato alla prenotazione ('attiva'/'disdetta') e un saldo credito all'abbonato (o una tabella Crediti). Lato server, alla disdetta verifichi che manchino almeno 48h (confronto tra data attività e NOW()), aggiorni lo stato e accrediti il costo. In pagina mostri il bottone "Disdici" solo quando la condizione è rispettata.
II. Pagina con l'elenco testuale delle palestre di una città; in alternativa, su mappa geografica con geolocalizzazione.
Versione testo: SELECT * FROM Palestre WHERE citta = ? e stampi l'elenco. Versione mappa: hai già le coordinate (lat, lng) in tabella; le passi a una libreria di mappe (es. Leaflet o Google Maps) come marker, tipicamente serializzando i dati in JSON e disegnandoli via JavaScript lato client.
III. Differenze tra i predicati ANY, ALL ed EXISTS (con esempi).
ANY: vero se la condizione vale per almeno un valore della sottoquery — > ANY significa "maggiore del minimo". ALL: vero se vale per tutti — > ALL significa "maggiore del massimo". EXISTS: vero se la sottoquery (correlata) restituisce almeno una riga.
IV. Tabella atleti (…, Società Sportiva, TelSquadra, Allenatore, TelAllenatore): verificare e portare in 3NF.
Non è in 3NF: TelSquadra e i dati dell'allenatore dipendono dalla Società/Allenatore, non dall'atleta (dipendenze transitive). Si scorpora in più tabelle.
a.s. 2022/2023
— banca dati dei mieli italiani / apiariI. Pagina dinamica per l'elenco degli apiari di una regione, selezionata da una mappa grafica dell'Italia.
Disegni l'Italia come SVG con ogni regione in un <path> cliccabile; al click invii il nome della regione (link/AJAX) al server, che esegue SELECT * FROM Apiari WHERE regione = ? e restituisce l'elenco. È un mix client (mappa interattiva) + server (query parametrica).
II. Pagina che mostra l'elenco della query 4a (apicoltori che producono DOP in una regione) aggiungendo link al sito e mail.
Prevedi in Apicoltori i campi sito_web ed email. Query con JOIN apicoltori-apiari-miele filtrando per tipologia DOP e regione; in PHP stampi nome, <a href="mailto:…"> e <a href="…"> al sito.
III. HTTP è "stateless": modalità di propagazione dei dati fra pagine successive per garantire la persistenza.
Poiché HTTP non ricorda nulla tra una richiesta e l'altra, si usano: parametri GET (querystring), campi hidden nei form POST, cookie (lato client), sessioni (lato server, con il session-id salvato in un cookie) e, per i dati che devono restare nel tempo, il database. Per tenere l'utente loggato si usano le sessioni.
IV. Progetti(id, titolo, budget, data_inizio, data_fine) e Docenti(id, …): a) aggiungere a Progetti il docente responsabile; b) rinominare "posta_elettronica" in "e-mail".
a.s. 2024/2025
— labeling di un dataset contro le fake newsI. Monitorare le due fasi: tracciare le news etichettate al giorno da ciascun esperto e il tempo complessivo di ciascun gruppo.
Ogni etichettatura deve registrare id_esperto e un timestamp. Conteggio giornaliero per esperto: GROUP BY id_esperto, DATE(istante). Tempo complessivo di un gruppo: differenza tra MIN e MAX del timestamp delle etichettature di quel gruppo.
II. Tenere traccia dei cambiamenti fatti dai senior rispetto alle etichette dei junior.
Si storicizza: una tabella Etichettature con il campo fase ('junior'/'senior'), valore, motivazione, id_esperto e data — oppure una tabella di log che, a ogni modifica, salva valore precedente e nuovo. Così confronti la classificazione provvisoria con quella validata.
III. Autenticazione a due fattori: struttura della tabella utenti e passaggi del codice lato server.
Tabella: Utenti(id, username, password_hash, secret_2fa, telefono/email). Passaggi lato server: 1) verifica username + password con password_verify; 2) se ok, genera/invia un codice OTP (via email/SMS, o un TOTP basato sul secret); 3) l'utente inserisce il codice; 4) il server lo valida entro la finestra temporale; 5) solo allora apre la sessione autenticata.
IV. Accesso condiviso e contemporaneo: problematiche su integrità e consistenza e soluzioni per prevenirle.
Con più utenti in concorrenza si rischiano lost update, dirty read, letture non ripetibili e phantom. Si prevengono con le transazioni (proprietà ACID), i lock e i livelli di isolamento gestiti dal DBMS: è esattamente il tema delle transazioni del Tema 3.
a.s. 2024/2025
— piattaforma di sponsorizzazioni con comunicatoriI. Registrare le visualizzazioni giornaliere di una sponsorizzazione e visualizzarne le statistiche.
Tabella con una riga per giorno: Statistiche(id_sponsor*, data, visualizzazioni), chiave (id_sponsor, data). La pagina interroga le righe della sponsorizzazione e disegna l'andamento (tabella o grafico con Chart.js).
II. Gestire i feedback di aziende e comunicatori (punteggio 1-5 + descrizione max 160).
Tabella Feedback(id, id_sponsor*, autore, punteggio CHECK 1-5, descrizione VARCHAR(160)) con autore per distinguere azienda/comunicatore. La pagina è un form (select 1-5 + textarea maxlength 160) che esegue una INSERT.
III. XML e JSON: modalità di utilizzo di uno dei due, con esempi.
Scelgo JSON: formato leggero per lo scambio di dati tra client e server (chiamate fetch/AJAX, API REST), nativo in JavaScript. XML è più verboso, con tag annidati e validabile via DTD/XSD, usato per documenti strutturati e SOAP.
IV. Tabella Articoli con aggiornamenti periodici sui prezzi: tracciare automaticamente la cronologia su una tabella a parte.
Si usa un TRIGGER. Una tabella di storico registra prezzo vecchio, nuovo e data; il trigger AFTER UPDATE su Articoli vi inserisce i valori OLD/NEW a ogni modifica, popolando la cronologia da solo.
a.s. 2024/2025
— analisi IA delle azioni di una partita di basketI. Pagine web che, data una squadra, mostrano per ciascun giocatore le statistiche dei tipi di azione nelle partite disputate.
Conteggio per giocatore e tipo di azione con JOIN tra giocatori, azioni e partite, raggruppando.
II. Modifica per visualizzare la classifica del campionato aggiornata alle ultime partite.
Dai punteggi finali di ogni partita ricavi vittorie/punti per squadra (raggruppando) e ordini per punti decrescenti. Puoi calcolarla al volo con una vista o mantenerla in una tabella Classifica aggiornata a fine partita.
III. Concedere all'utente "Paperino99" le sole operazioni di selezione e aggiornamento sulla tabella Articoli, dal client IP 192.168.6.6.
È un caso di DCL: si crea l'utente legato all'host (l'IP) e gli si concedono solo i privilegi SELECT e UPDATE.
IV. Gare(idGara, …) e ReferentiGare(idRef, …) in associazione 1:N: a) creare il vincolo di integrità referenziale; b) creare una vista gare+referenti senza i campi chiave.
Nell'1:N un referente segue molte gare: la chiave esterna va sulla tabella "molti" (Gare).