Concorso docenti D.D.G. 85/2018 classe di concorso B016 - Sicilia
Laboratori di scienze e tecnologie informatiche
C ARATTERISTICHE DEL LINGUAGGIO SQL
TRACCIA N. 325
Daniele Contarino
I.S.S. “Elena di Savoia – Calamandrei” – Bari, 24 Agosto 2018
Caratteristiche del linguaggio SQL 2 di 56 Daniele Contarino
❑ Presentazione dell’UdA
❑ Caratteristiche del linguaggio SQL
❑ Esercizi di laboratorio
❑ Verifiche, valutazione e recupero
Indice degli argomenti
Caratteristiche del linguaggio SQL 3 di 56 Daniele Contarino
Istituto:
Tecnico EconomicoIndirizzo ‘Amministrazione, Finanza e Marketing’
articolazione ‘Sistemi informativi aziendali’
Classe:
5° A SIA - IIS "Riposto" - Riposto (CT)Composizione:
24 alunni (14 maschi e 10 femmine) con età media di 18/19 anni di cui uno
appartenenti all’area BES (un dislessico)
Destinatari dell’UdA
Caratteristiche del linguaggio SQL 4 di 56 Daniele Contarino
➢ Organizzazione degli archivi delle basi di dati
➢ Modellazione dei dati, Modello Entità-Relazione (ER);
➢ Data Base Management System (DBMS);
➢ Tipi di dato previsti nei DBMS.
Per verificare la presenza o meno dei prerequisiti verrà effettuata una verifica diagnostica tramite la somministrazione di una prova strutturata
Prerequisiti
Caratteristiche del linguaggio SQL 5 di 56 Daniele Contarino
Competenze-chiave per l’apprendimento permanente
Raccomandazione del Parlamento europeo 2006/962/CE
➢ Competenza matematica e competenze di base in scienza e tecnologia;
➢ Competenza digitale;
➢ Imparare a imparare;
Obiettivi finali
Caratteristiche del linguaggio SQL 6 di 56 Daniele Contarino
Obiettivi specifici di apprendimento
Conoscenze Abilità/Capacità
Definizione del database e
delle tabelle Progettare una base di dati in base alle esigenze richiesta dal cliente
I comandi per la manipolazione
dei dati Manipolare e amministrare un
Estrazione dei dati e le DBMS
operazioni relazionali Realizzare applicazioni con lo storage basato su un DBMS
Ordinamenti e raggruppamenti Lavorare in Team
Sviluppare software orientato al Web
Discipline coinvolte: Economia aziendale
Caratteristiche del linguaggio SQL 7 di 56 Daniele Contarino
Articolazione temporale
Argomenti Ore Metodologie
Verifica dei prerequisiti 0,5 Test con Kahoot!
Introduzione 1 BrainstormingLezione partecipata Data Definition Language (DDL) 1 Lezione partecipata
Didattica in laboratorio
Esercitazioni alla lavagna e al computer
Data Manipulation Language (DML) 2 Data Query Language (DQL) 4,5 Data Control Language (DCL) 1
Esercitazione laboratoriale 3 Peer-TutoringCooperative learning Verifica ed eventuale recupero 2 Test cartaceoEsercizio di laboratorio Imprevisti - Recupero iniziale e/o
finale - Potenziamento 2 Lezione partecipataPeer-Tutoring
TOTALE 16
Caratteristiche del linguaggio SQL 8 di 56 Daniele Contarino
❖ Lezione partecipata con l’uso di slides a supporto di una comunicazione sia
verbale che iconica
❖ Lezioni di durata massima di 45-50 minuti
A seguire 5 - 10 minuti di riposo
❖ "L’ironia salverà il mondo"
Parafrasando Dostoevskij
❖ Evitare un linguaggio aulico
Metodologie didattiche
Caratteristiche del linguaggio SQL 9 di 56 Daniele Contarino
❖ Peer tutoring per incentivare la
collaborazione tra pari e migliorare l’inclusione degli alunni con BES
❖ Apprendimento cooperativo ovvero la realizzazione da parte degli alunni di alcuni piccoli seminari su tematiche vicine all’UdA.
Metodologie didattiche
Caratteristiche del linguaggio SQL 10 di 56 Daniele Contarino
❖ Laboratorio informatico
❖ Lavagna interattiva multimediale (LIM) e/o lavagna
❖ Libro di testo
❖ Diapositive pubblicate sul sito www.danielecontarino.it
❖ Testi vari forniti dai docenti
❖ XAMP e/o ambienti di sviluppo
❖ Video guide linkate tramite QR Code
Sussidi didattici
Caratteristiche del linguaggio SQL 11 di 56 Daniele Contarino
Risultati di apprendimento specifico
Al temine dell’unità di apprendimento, l’alunno deve essere in grado acquisire le seguenti
competenze:
✓ Capire, analizzare e fare propria una struttura dati opportunamente modellata
✓ Conoscere ed usare le istruzioni per
l’implementazione reale del modello
concettuale
Caratteristiche del linguaggio SQL 12 di 56 Daniele Contarino
Risultati di apprendimento specifico
✓ Saper consigliare il DBMS più opportuno in base alle esigenze aziendali
✓ Effettuare le operazioni di inserimento, lettura, aggiornamento ed eliminazione (CRUD – Create, Read, Update and Delete) con interfacce di
comunicazione e con alcuni linguaggi di
programmazione
Caratteristiche del linguaggio SQL 13 di 56 Daniele Contarino
❖ Verifica iniziale
Prova strutturata senza voto sugli argomenti dei prerequisiti con domande a risposta multipla, di riordinamento e vero/falso
❖ Verifica intermedia o formativa
Prova strutturata a risposta multipla tramite l’uso dello strumento Kahoot!
❖ Verifica finale o sommativa
Prova semistrutturata con punteggio già noto
Verifiche
Caratteristiche del linguaggio SQL 14 di 56 Daniele Contarino
❖ Il riferimento principale è il piano didattico personalizzato (PDP)
❖ Uso del carattere EasyReading®
Anche queste slide usano questo font
❖ Uso di alcuni accorgimenti tra quali:
❖ Testo allineato a sinistra, NO giustificato
❖ SI all’uso del grassetto, NO al sottolineato e corsivo
❖ Colori con alto contratto e ampi spazi
Alunno con dislessia
Caratteristiche del linguaggio SQL 15 di 56 Daniele Contarino
✓ Presentazione dell’UdA
❑ Caratteristiche del linguaggio SQL
❑ Esercizi di laboratorio
❑ Verifiche, valutazione e recupero
Indice degli argomenti
Queste diapositive sono INTERATTIVE!
Per apprendere al 100% ti consigliamo di installare sul tuo smartphone un
lettore di codici QR
Android iOS
Avviso
Caratteristiche del linguaggio SQL 17 di 56 Daniele Contarino
Come si utilizza una Base di
dati?
Domanda
Caratteristiche del linguaggio SQL 18 di 56 Daniele Contarino
Introduzione
Studenti (Nome, NumMatricola, Cellulare) Esami (Corso, NumMatricola, Voto)
Corsi (NomeCorso, AnnoDiCorso)
???
SQL
Archives
Caratteristiche del linguaggio SQL 19 di 56 Daniele Contarino
Introduzione
Structured Query Language (SQL - Linguaggio strutturato ad interrogazioni) è un linguaggio di tipo dichiarativo che permette di manipolare
l’intera base dei dati.
Nato in casa IBM nel 1973 (ad opera di Donald
Chamberlin) esso è uno standard ANSI SQL-XX ANSI. La versione più diffusa è
SQL-92 ANSI conosciuta anche come SQL-2.
Caratteristiche del linguaggio SQL 20 di 56 Daniele Contarino
Introduzione
Alcuni Data Base Management System (DBMS) interfacciabili con SQL:
➢ IBM DB2 (Commerciale);
➢ Microsoft SQL Server (Commerciale);
➢ Microsoft SQL Express (Free, ma non Open Source);
➢ MySQL (commerciale e Open Source);
➢ SQLite (Free e Open Source);
➢ Microsoft Access (Commerciale);
Se rver side
Client side
Per approfondire
How to install MySQL on Linux Ubuntu
https://youtu.be/uqaoGTnxqNw
How to install MySQL on MS Windows 10
https://youtu.be/WuBcTJnIuzo
Caratteristiche del linguaggio SQL 22 di 56 Daniele Contarino
Struttura del linguaggio SQL
Informalmente SQL viene suddiviso in 4 sotto linguaggi
➢ Data Definition Language (DDL)
➢ Data Manipulation Language (DML)
➢ Data Query Language (DQL)
➢ Data Control Language (DCL)
Caratteristiche del linguaggio SQL 23 di 56 Daniele Contarino
DDL permette di modificare la struttura della nostra base dei dati
➢ CREATE DATABASE <nome_database>
[DEFAULT CHARACTER SET <charset>];
➢ DROP DATABASE <nome_database>;
Data Definition Language (DDL)
Caratteristiche del linguaggio SQL 24 di 56 Daniele Contarino
➢ CREATE TABLE <nome_tabella> (
<attributo_1> <dominio> [<parametri opzionali>],
<attributo_2> <dominio> [<parametri opzionali>], . . .
[<definizioni_chiavi>]
);
PRIMARY KEY(<attributo>)
FOREIGN KEY(<attributo>) REFERENCES <tabella_esterna>
(<chiave_primaria>)
UNIQUE (<attributo_1>, <attributo_2>, ..., <attributo_n>)
Data Definition Language (DDL)
Caratteristiche del linguaggio SQL 25 di 56 Daniele Contarino
➢ ALTER TABLE <nome_tabella> [CHANGE/ADD/DROP]
<nome_attributo> <nuovo_schema>;
Data Definition Language (DDL)
Caratteristiche del linguaggio SQL 26 di 56 Daniele Contarino
❖ Realizza un database "Anagrafe" e
inserisci una tabella "persone" con nome, cognome, sesso, data di nascita
Esercitazione di laboratorio
❖ Ops, mi sono dimenticato di
dirti che devi inserire anche
il codice fiscale!
Caratteristiche del linguaggio SQL 27 di 56 Daniele Contarino
Esercitazione di laboratorio
Caratteristiche del linguaggio SQL 28 di 56 Daniele Contarino
Data Manipulation Language (DML)
DML è l’insieme di istruzioni che permetto tutte
le istruzioni CRUD (Create, Read, Update and
Delete)
Caratteristiche del linguaggio SQL 29 di 56 Daniele Contarino
Data Manipulation Language (DML)
➢ INSERT INTO <nome_tabella> (<attributo_1>, ...,
<attributo_n>)
VALUES (<valore_1>, ..., <valore_n>);
➢ UPDATE <nome_tabella>
SET <attributo_1> = <valore_1>, ...,
<attributo_n> = <valore_n>
WHERE <attributo_chiave_primaria> = <codice>;
Caratteristiche del linguaggio SQL 30 di 56 Daniele Contarino
Data Manipulation Language (DML)
➢ DELETE FROM <nome_tabella>
WHERE <espressione>;
Caratteristiche del linguaggio SQL 31 di 56 Daniele Contarino
❖ Nella tabella "persone" inserisci la tua anagrafica e quella della tua famiglia
Esercitazione di laboratorio
❖ Ops, il codice fiscale va scritto al contrario!
Correggilo!
Caratteristiche del linguaggio SQL 32 di 56 Daniele Contarino
Esercitazione di laboratorio
Caratteristiche del linguaggio SQL 33 di 56 Daniele Contarino
Data Query Language (DQL)
Di tutti i sotto linguaggi, quello sicuramente più usato è il DQL. Di fatto, leggere i dati dal database ed incrociarli tra di loro è la caratteristica fondamentale di un DBMS e da il senso alla sua
esistenza.
Caratteristiche del linguaggio SQL 34 di 56 Daniele Contarino
Data Query Language (DQL)
SELECT [ ALL | DISTINCT ] <attributo_1>, ...,
<attributo_n>
FROM <nome_tabella_1>, ... , <nome_tabella_n>
[ JOIN <nome_tabella_1> ON <espressione>]
[ WHERE <espressione>]
[ GROUP BY <attributo_1>, ..., <attributo_n>]
[ ORDER BY <attributo_1>, ..., <attributo_n> ];
Caratteristiche del linguaggio SQL 35 di 56 Daniele Contarino
Data Query Language (DQL)
La giunzione (JOIN) permette di combinare
diverse tuple tra di loro basandosi sui valori degli attributi.
Esistono due tipi principali di JOIN:
➢ Natural Join
➢ Outer Join
Caratteristiche del linguaggio SQL 36 di 56 Daniele Contarino
❖ Estrai dalla tabella "persone" le tuple solo con il nome e cognome ordinati in ordine alfabetico
❖ Aggiungi il campo
luogo_nascita ed aggiungi la tabella comuni nel DB
Esercitazione di laboratorio
Caratteristiche del linguaggio SQL 37 di 56 Daniele Contarino
❖ Nelle tuple già immesse inserisci il luogo di nascita delle persone
❖ Effettua una SELECT con la JOIN sulle località
Esercitazione di laboratorio
Caratteristiche del linguaggio SQL 38 di 56 Daniele Contarino
Esercitazione di laboratorio
Caratteristiche del linguaggio SQL 39 di 56 Daniele Contarino
Esercitazione di laboratorio
Caratteristiche del linguaggio SQL 40 di 56 Daniele Contarino
Esercitazione di laboratorio
Per approfondire
SQL - SELECT statement
https://youtu.be/sShquxqBBek MySQL tutorial 15 - joining 2 tables
https://youtu.be/USaXlErI-QE
Caratteristiche del linguaggio SQL 42 di 56 Daniele Contarino
Data Control Language (DCL)
Come in qualunque sistema informatico l’accesso alle risorse non può essere concesso a tutti in ugual maniera.
Il DCL permette di amministrare i
permessi su determinate operazioni
a determinati utenti.
Caratteristiche del linguaggio SQL 43 di 56 Daniele Contarino
➢ CREATE USER ‘<user>’@’<host>' IDENTIFIED WITH mysql_native_password AS ‘<password>’;
➢ GRANT <operazioni> ON <database>
TO ‘<user>’@’<host>' REQUIRE NONE;
➢ GRANT ALL PRIVILEGES ON <database>
TO ‘<user>’@’<host>' ;
➢ REVOKE <operazioni> ON <database>
FROM ‘<user>’@’<host>' ;
Data Control Language (DCL)
Caratteristiche del linguaggio SQL 44 di 56 Daniele Contarino
Data Control Language (DCL)
Caratteristiche del linguaggio SQL 45 di 56 Daniele Contarino
Alcune nozioni secondarie SQL sono state omesse di proposito.
Sarà compito dei studenti, suddivisi in gruppi, a spiegare alla classe le istruzioni LIKE, DISTINCT, GROUP BY, BETWEEN e le
funzioni SUM, AVG, MAX e COUNT.
Dall’altra parte della cattedra
Video per la lezione Flipped
MySQL for Beginners
https://www.youtube.com/playlist?list=PL41lfR- 6DnOokmJfmYj2hdVMKVGIcF7__
Caratteristiche del linguaggio SQL 47 di 56 Daniele Contarino
✓ Presentazione dell’UdA
✓ Caratteristiche del linguaggio SQL
❑ Esercizi di laboratorio
❑ Verifiche, valutazione e recupero
Indice degli argomenti
Caratteristiche del linguaggio SQL 48 di 56 Daniele Contarino
❖ Realizzazione di un applicativo WEB che effettui le query viste durante la lezione
❖ Implementare nuove query e funzionalità come
❖ Registrazione della residenza
❖ Stato civile
❖ Storico dichiarazione dei redditi
Esperienze attivate
Caratteristiche del linguaggio SQL 49 di 56 Daniele Contarino
❖ Estrai dalla tabella "persone" solo le persone di sesso maschile nate in un comune che inizia con la lettera ‘G’
❖ Seleziona le persone nate in un comune al di sotto dei 14° di latitudine
Esercitazione di laboratorio
Caratteristiche del linguaggio SQL 50 di 56 Daniele Contarino
<ul>
<?php
$oMySQLConn = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_DATABASE);
$sQuery = "SELECT nome, cognome FROM persone
ORDER BY cognome, nome;";
if($aaResult = $oMySQLConn->query($sQuery)) { while ($aLine = $aaResult->fetch_assoc())
echo "<li>
<b>{$aLine[‘cognome’]}</b>
{$aLine[‘nome’]}
</li>";
} else
echo "<li>Query non valida</li>";
?>
</ul>
Esercitazione di laboratorio
Caratteristiche del linguaggio SQL 51 di 56 Daniele Contarino
<ul>
<?php
$oMySQLConn = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_DATABASE);
$sQuery = "SELECT p.*, c.nome AS “Comune”
FROM persone AS p JOIN comuni AS c
ON p.fk_comune_nascita = c.id WHERE p.sesso = “M”
AND c.nome LIKE “G%”;";
if($aaResult = $oMySQLConn->query($sQuery)) { while ($aLine = $aaResult->fetch_assoc())
echo "<li>
<b>{$aLine[‘cognome’]}</b>
{$aLine[‘nome’]}
</li>";
} else
echo "<li>Query non valida</li>";
?>
</ul>
Esercitazione di laboratorio
Caratteristiche del linguaggio SQL 52 di 56 Daniele Contarino
✓ Presentazione dell’UdA
✓ Caratteristiche del linguaggio SQL
✓ Esercizi di laboratorio
❑ Verifiche, valutazione e recupero
Indice degli argomenti
Caratteristiche del linguaggio SQL 53 di 56 Daniele Contarino
Per la verifica formativa viene piattaforma Kahoot!
L’aspetto ludico di questa piattaforma permette di effettuare la verifica formativa in un contesto piacevole e motivante.
Vai a Kahoot!
Verifica formativa
Caratteristiche del linguaggio SQL 54 di 56 Daniele Contarino
La verifica finale o sommativa è una prova semi- strutturata con punteggio noto a priori da parte dell’alunno su base trentesimale.
Essa viene accompagnata dalla griglia di valutazione.
Verifica sommativa
Caratteristiche del linguaggio SQL 55 di 56 Daniele Contarino
Griglia di valutazione
Obiettivo Prove Indicatori Scala Descrittori di Performance Conoscere ed
usare il
linguaggio SQL Punteggio: 30
Questionario teorico-
pratico sulle peculiarità del linguaggio SQL
Punti: 30
Possesso di una adeguata
terminologia tecnica.
Conoscenza della struttura
intrinseca del linguaggio SQL Punti: 15
A-15 Possiede una terminologia opportuna e dettagliata. Conosce gli elementi del linguaggio SQL
B-11 Possiede una discreta terminologia.
Conosce la maggior parte degli elementi del linguaggio SQL
C –7 Possiede una terminologia di base.
Conosce gli elementi fondamentali del linguaggio SQL
D –4 Non conosce alcun termine tecnico e ignora i più comuni elementi del linguaggio SQL
Comprensione delle query e capacità di
modellazione del database tramite SQL
Punti: 15
A-15 Conosce la sintassi SQL e la usa con disinvoltura i vari comandi
B-11 Conosce la maggior parte della sintassi SQL ed usa la maggior parte dei comandi C –7 Conosce gli elementi di base della sintassi
SQL ed usa con i principali comandi D –4 Disconosce la sintassi SQL e non usa
alcun comando
Caratteristiche del linguaggio SQL 56 di 56 Daniele Contarino
Sono previste due momenti per un eventuale
recupero degli argomenti acquisiti in maniera non sufficiente
➢ Dopo la verifica formativa
con un ripasso generale per tutta la classe e/o individuale
➢ Dopo la verifica sommativa
con dei colloqui individuali
Modalità di recupero
Concorso docenti D.D.G. 85/2018 – B016
Prof. Daniele Contarino
Questa presentazione è disponibile su danielecontarino.it
Tutti i marchi riportati appartengono ai legittimi proprietari; marchi di terzi, nomi di prodotti, nomi commerciali, nomi corporativi e società citati possono essere marchi di proprietà dei rispettivi titolari o marchi registrati d’altre società e sono stati utilizzati a puro scopo esplicativo ed a beneficio del possessore, senza alcun fine di violazione dei diritti di Copyright vigenti.