• Non ci sono risultati.

Daniele Contarino C SQL

N/A
N/A
Protected

Academic year: 2021

Condividi "Daniele Contarino C SQL"

Copied!
57
0
0

Testo completo

(1)

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

(2)

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

(3)

Caratteristiche del linguaggio SQL 3 di 56 Daniele Contarino

Istituto:

Tecnico Economico

Indirizzo ‘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

(4)

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

(5)

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

(6)

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

(7)

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

(8)

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

(9)

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

(10)

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

(11)

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

(12)

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

(13)

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

(14)

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

(15)

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

(16)

Queste diapositive sono INTERATTIVE!

Per apprendere al 100% ti consigliamo di installare sul tuo smartphone un

lettore di codici QR

Android iOS

Avviso

(17)

Caratteristiche del linguaggio SQL 17 di 56 Daniele Contarino

Come si utilizza una Base di

dati?

Domanda

(18)

Caratteristiche del linguaggio SQL 18 di 56 Daniele Contarino

Introduzione

Studenti (Nome, NumMatricola, Cellulare) Esami (Corso, NumMatricola, Voto)

Corsi (NomeCorso, AnnoDiCorso)

???

SQL

Archives

(19)

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.

(20)

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

(21)

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

(22)

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)

(23)

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)

(24)

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)

(25)

Caratteristiche del linguaggio SQL 25 di 56 Daniele Contarino

➢ ALTER TABLE <nome_tabella> [CHANGE/ADD/DROP]

<nome_attributo> <nuovo_schema>;

Data Definition Language (DDL)

(26)

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!

(27)

Caratteristiche del linguaggio SQL 27 di 56 Daniele Contarino

Esercitazione di laboratorio

(28)

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)

(29)

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>;

(30)

Caratteristiche del linguaggio SQL 30 di 56 Daniele Contarino

Data Manipulation Language (DML)

➢ DELETE FROM <nome_tabella>

WHERE <espressione>;

(31)

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!

(32)

Caratteristiche del linguaggio SQL 32 di 56 Daniele Contarino

Esercitazione di laboratorio

(33)

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.

(34)

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> ];

(35)

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

(36)

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

(37)

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

(38)

Caratteristiche del linguaggio SQL 38 di 56 Daniele Contarino

Esercitazione di laboratorio

(39)

Caratteristiche del linguaggio SQL 39 di 56 Daniele Contarino

Esercitazione di laboratorio

(40)

Caratteristiche del linguaggio SQL 40 di 56 Daniele Contarino

Esercitazione di laboratorio

(41)

Per approfondire

SQL - SELECT statement

https://youtu.be/sShquxqBBek MySQL tutorial 15 - joining 2 tables

https://youtu.be/USaXlErI-QE

(42)

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.

(43)

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)

(44)

Caratteristiche del linguaggio SQL 44 di 56 Daniele Contarino

Data Control Language (DCL)

(45)

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

(46)

Video per la lezione Flipped

MySQL for Beginners

https://www.youtube.com/playlist?list=PL41lfR- 6DnOokmJfmYj2hdVMKVGIcF7__

(47)

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

(48)

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

(49)

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

(50)

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

(51)

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

(52)

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

(53)

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

(54)

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

(55)

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

(56)

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

(57)

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.

Riferimenti

Documenti correlati

WHERE STUDENTE.MATR = ESAME.MATR AND C-DIP LIKE „In%' AND VOTO = 30. JOIN su

(c) Trovare il nome del meccanico e il numero totale di riparazioni del meccanico che ha effeJuato più riparazioni totali tra quelli che hanno effeJuato almeno una riparazione di

Per ogni dipartimento di Torino, selezionare il codice del dipartimento e lo stipendio medio degli impiegati dei dipartimenti CHE HANNO UNA MEDIA SUPERIORE AI 15.000 e che hanno

Per ogni dipartimento di Torino, selezionare il codice del dipartimento e lo stipendio medio degli impiegati dei dipartimenti CHE HANNO UNA MEDIA SUPERIORE AI 15.000 e che hanno

■ Materializing a view: create a physical table containing all the tuples in the result of the query defining the view. ■ If relations used in the query are updated, the

Uso degli alias: ci possono essere delle ambiguità quando sono presenti più attributi con lo stesso nome, uno che compare in una tabella dichiarata nell’interrogazione esterna, uno

4) Scrivere la query che, per ogni città, restituisce il nome della città, il numero di dipendenti che abitano in quella città e la loro età media.. 5) Scrivere la query che, per

4) Scrivere la query che restituisce, per ogni città, il numero di dipendenti che hanno età minore di 25 anni o maggiore di 35 (visualizzare anche i nomi delle città).. 5) Scrivere