scuola interuniversitaria siciliana di specializzazione per l’insegnamento secondario

44
SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO Classe di Concorso: 42A Massimo Mancino MODULO DIDATTICO - Ambienti Software - - Per Database - Docente: Prof. Cantone

Upload: liona

Post on 05-Jan-2016

36 views

Category:

Documents


0 download

DESCRIPTION

SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO Classe di Concorso: 42A. Massimo Mancino. MODULO DIDATTICO - Ambienti Software - - Per Database -. Docente: Prof. Cantone. Ambienti software per database. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER

L’INSEGNAMENTO SECONDARIO

Classe di Concorso: 42A

Massimo Mancino

MODULO DIDATTICO

- Ambienti Software -

- Per Database -

Docente: Prof. Cantone

Page 2: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Il modulo, proposto per una quinta classe Indirizzo Informatico, mira a presentare agli alunni due strumenti software per DBMS (SQL e MS ACCESS).

Ambienti software per database

Page 3: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Unità didattica 1 Il linguaggio SQL

Unità didattica 2 Microsoft Access

Composizione del modulo

Page 4: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Unità didattica 1

Il Linguaggio SQL

Page 5: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Gli studenti dovranno dimostrare di avere:

Prerequisiti

Nozioni di entità, attributo, chiave, associazione

Conoscenza del modello relazionale e degli operatori relazionali

Caratteristiche generali di un sistema di gestione di basi di dati

Caratteristiche generali di un linguaggio per basi di dati

Page 6: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Competenze

Applicare correttamente i principi del modello relazionale

Rappresentare le operazioni relazionali

Codificare e validare interrogazioni in linguaggio SQL

Page 7: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

ContenutiComandi per la definizione e la manipolazione delle tabelle

Comandi per le interrogazioni

Funzioni di aggregazione

Ordinamenti e raggruppamenti

Interrogazioni nidificate

Comandi per la sicurezza e l’integrità dei dati

Page 8: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

LEZIONE FRONTALE

LEZIONE DIALOGATA

Metodologie

Page 9: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

AULA

LABORATORIO

Spazi

AZIENDA

Page 10: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

LIBRO DI TESTO ED APPUNTI

COMPUTER

LAVAGNA LUMINOSA

PROIETTORE

Strumenti

Page 11: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Le verifiche sono periodiche e costanti, tese alla valutazione sia del percorso nella sua globalità che di una parte del medesimo.

Esse prevedono varie tipologie:

Colloqui individuali

Interventi di vario genere

Questionari e Test (strutturati e semistrutturati)

Prove di laboratorio

Verifiche

Page 12: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Sia di tipo formativo e quindi in relazione all’applicazione, all’impegno, all’attenzione, al metodo di lavoro che ogni studente avrà mostrato durante l’attività didattica

La valutazione sarà:

Sia di tipo sommativo, ricavata dalla misurazione delle varie prove in cui gli studenti dovranno dimostrare di:

avere acquisito conoscenze e informazioni circa i contenuti

avere maturato abilità e competenze specifiche alla disciplina

Valutazione

Page 13: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Unità Didattica

Ore di Lezione

Ore di Laboratorio

Ore di Verifica

Ore di Recupero e/o Potenziamento

U.D. 1 20 20 8 12

Tempi

Page 14: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

StoriaStructured Query Language(solitamente pronunciato "sequel").

Quando i database relazionali proliferarono nel corso degli anni Ottanta, SQL fu codificato per l'utilizzo nell'ambito dell'Information Technology commerciale. Nel 1986, l'American National Standards Institute (ANSI) e l'International Standards Organization (ISO) stabilirono il primo standard del linguaggio.

La "vita" di SQL inizia nel 1970 presso i laboratori di ricerca IBM di San Jose, dove E. F. Codd e altri svilupparono il modello di database relazionale che diede origine al sistema noto come DB2.

Page 15: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

StoriaLe revisioni successive dello standard, nel 1989 e nel 1992, aggiunsero il controllo di base dell'integrità dei dati e le funzioni per la loro definizione e manipolazione.

La specifica di SQL del 1992 è la versione più attuale, benché il nuovo aggiornamento SQL3, conosciuto anche come SQL-99, sia in corso di progettazione da qualche tempo. Gli sforzi verso la definizione dello standard SQL3 sono rivolti verso l’integrazione di questo linguaggio nelle basi di dati orientati agli oggetti e il supporto per sistemi basati sulla conoscenza.

Page 16: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

CaratteristicheLinguaggio ad alto livello

Paradigma di programmazione logicoSta al sistema di gestione del database analizzare la richiesta in rapporto alla propria struttura e stabilire quali operazioni sia necessario eseguire per recuperare l'informazione richiesta

Si presta alle architetture client/server

Può essere utilizzato da un linguaggio strutturale (Hosting)

Page 17: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Datatype standard

Character(n) Stringa di lunghezza n (da 1 a 15000)

Date Data nella forma MM/GG/AA

Time Ora nella forma HH:MM

Integer Numero intero con precisione 10

Smallint Numero intero con precisione 5

Real Numero reale con mantissa di precisione 7

Float Numero reale con mantissa di precisione 15

Page 18: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

IstruzioniDDL: CREATE, DROP e ALTER TABLE

DML: INSERT, DELETE e UPDATE

TRANSAZIONI: COMMIT, ROLLBACK e SAVEPOINT

DQL: SELECT

SICUREZZA: GRANT e REVOKE

Page 19: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

CREATE

Crea una nuova tabella nella base di dati

CREATE TABLE …

Crea una nuova vista nella base di dati

CREATE VIEW …

Crea un nuovo indice su uno o più attributi di una tabella

CREATE INDEX …

Page 20: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

CREATE TABLE

CREATE TABLE table_name( field1 type1 [default] [constraint1], field2 type2 [default] [constraint2], … fieldn typen [default] [constraintn]);

Per creare una nuova tabella nella base di dati:

Page 21: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Esempio - CREATE TABLEDiagramma Entità-Relazione

Magazzino(ID, Descrizione);Prodotti(Codice, Descrizione, Prezzo);Contiene(ID_Magazzino, Codice_Prodotto);

Modello Relazionale

Page 22: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Esempio - CREATE TABLEcreate table Magazzino( id integer primary key, descrizione char[100]);

create table Prodotti( codice integer primary key, descrizione char[100], prezzo integer, id_magazzino integer, foreign key (id_magazzino) references Magazzino(id) );

Master

Child

Page 23: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

CREATE TABLE…AS…

CREATE TABLE table_name AS SELECT filed1, field2, …, filedn

FROM table_name WHERE condizione;

Per creare una nuova tabella da una già esistente nella basi di dati

Page 24: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

DROP

Rimuove la tabella dalla base di dati e i relativi indici

DROP TABLE table_name;

Rimuove la vista dalla base di dati

DROP VIEW view_name;

Rimuove l’indice dalla rispettiva tabella

DROP INDEX index_name;

Page 25: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

ALTER TABLE

Aggiunge una o più colonne alla tabella

ALTER TABLE table_name ADD (col_name type [constraint]);

Modifica il tipo di una o più colonne della tabella

ALTER TABLE table_name MODIFY (col_name type [constraint]);

Rimuove una o più colonne della tabella

ALTER TABLE table_name DROP (col_name);

Page 26: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Restrizioni

Non possiamo modificare una colonna che contiene valori NULLI in una definita NOT NULL

Non possiamo aggiungere una colonna NOT NULL a meno che la tavola non sia vuota

Non possiamo diminuire la grandezza di una colonna a meno che questa non sia vuota

Page 27: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

INSERT

INSERT INTO table_name VALUES (V1, V2, …, VN);

Inserisce la n-upla (v1, …, vn) nella tabella.

INSERT INTO table_name (f1, …, fn) SELECT field1, …, fieldin

FROM table1, …, tablem;Inserisce una selezione di uno o più records nella tabella.

Page 28: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

DELETE

DELETE FROM table_name WHERE condizione;

Per cancellare uno o più record da una tabella:

Per svuotare una tabella in maniera definitiva:

TRUNCATE TABLE table_name;

Page 29: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

UPDATEUPDATE table_name SET field1 = value1, field2 = value2, … fieldn = valuen

WHERE condition;

UPDATE table_name SET (field1, field2, …,fieldn) = (select fi1, …, fin

from table1, …, tablem

where condition) WHERE condition;

Deve restituireuna riga!

Page 30: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Transazione

E’ un’unità logica di lavoro

E’ una sequenza di comandi SQL che il DBMS tratta comeuna singola entità

TRANSAZIONETRANSAZIONE

COMMITCOMMIT COMMITCOMMIT

Cos’è una transazione?

Page 31: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Transazione

Quando comincia una transazione ?Quando comincia una transazione ?

Implicitamente all’apertura di una sessione del DBMS

Implicitamente quando finisce la transazione precedente

Page 32: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Transazione

Quando finisce una transazione ?Quando finisce una transazione ?

Nel momento in cui le modifiche sono rese permanenti da:

Un COMMIT esplicitoUna normale chiusura di sessioneUn comando DDL

o quando le modifiche vengono annullate da:

Un ROLLBACK esplicitoUn’ uscita brutale dal programmaUna caduta di sistema

Page 33: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

TransazioneCosa succede?Cosa succede?

Finchè non confermiamo:

possiamo vedere le modifiche nelle queries

gli altri utenti non possono vederle

possiamo cancellare la transazione

o solo parte di essa

TRANSAZIONETRANSAZIONE

COMMITCOMMIT COMMITCOMMIT COMMITCOMMITo ROLLBACKo ROLLBACK

Page 34: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

SELECTselect … from … where …

Seleziona tutti i dipendenti che abitano in provincia di Milano

select * from Personale where Prov = ‘MI’;

Seleziona tutte le province del personale:

select distinct Prov from Personale;

Page 35: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Condizioni di ricerca

Seleziona l’elenco dei dipendenti che sono stati assunti trail 3/3/97 e il 3/3/98

select Cognome, Nome, Funzione from Personale where assunzione between 03/03/97 and 03/03/98;

Seleziona i dipendenti della provincia di Milano e di Comoselect Cognome, Nome, Funzione from Personale where Prov IN (‘MI’, ‘CO’);

Page 36: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Condizioni di ricercaSelezionare gli impiegati il cui cognome inizia per ‘Ros’

Select Cognome, Nome from Personale where Cognome like ‘Ros%’;

Page 37: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Interrogazioni nidificate

Seleziona l’elenco dei dipendenti che hanno uno stipendio inferiorealla media:

Select Cognome, Nome from Personale where Stipendio < (Select AVG(Stipendio) from Personale);

Page 38: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Ordinamento

Seleziona l’elenco dei dipendenti ordinandolo per cognome:

Select Cognome, Nome, Funzione from Personale order by Cognome (ASC);

Page 39: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Aggregazioni

Seleziona la lista delle funzioni dei dipendenti con la somma deglistipendi e il numero di dipendenti appartenenti alle varie funzioni:

Select Funzione, SUM(Stipendio), count(*) from Personale group by Funzione;

Page 40: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Esercizio

All’inizio dell’anno scolastico un rappresentante di libri vuole avere una quadro riassuntivo dell’anno scolastico precedente riguardo i libri adottati nelle varie classi dei vari istituti.

In particolare, si vuole avere a disposizione un report dove per ogni libro sia associato l’istituto ed il numero di classi (dell’istituto) che ha adottato il libro.

Page 41: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Esercizio

Page 42: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

EsercizioCODICE TITOLO DESCR.

ID ANNO SEZIONE ID_ISTITUTO

ID NOME DESCR.

CODICE_LIBRO ID_CLASSE ANNO

Libri

Adottati

Classe

Istituto

2002

Page 43: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Esercizioselect titolo, istituto, numero from (select libri.titolo as titolo, istituto.nome as istituto, count(*) as numero from libri, classi, adottati, istituto where libri.codice = adottati.codice_libro and adottati.id_classe = classi.id and classi.id_istituto = istituto.id and adottati.anno = 2002 group by titolo, istituto) order by titolo, istituto;

Page 44: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

FINE