Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoEdoardo Roberti Modificato 11 anni fa
1
SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Massimo Mancino MODULO DIDATTICO - Ambienti Software - - Per Database - Docente: Prof. Cantone
2
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
3
Unità didattica 1 Il linguaggio SQL Unità didattica 2 Microsoft Access Composizione del modulo
4
Unità didattica 1 Il Linguaggio SQL
5
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
6
Competenze Applicare correttamente i principi del modello relazionale Rappresentare le operazioni relazionali Codificare e validare interrogazioni in linguaggio SQL
7
Contenuti Comandi 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 lintegrità dei dati
8
LEZIONE FRONTALE LEZIONE DIALOGATA Metodologie
9
AULA LABORATORIO Spazi AZIENDA
10
LIBRO DI TESTO ED APPUNTI COMPUTER LAVAGNA LUMINOSA PROIETTORE Strumenti
11
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
12
Sia di tipo formativo e quindi in relazione allapplicazione, allimpegno, allattenzione, al metodo di lavoro che ogni studente avrà mostrato durante lattività 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
13
Unità Didattica Ore di Lezione Ore di Laboratorio Ore di Verifica Ore di Recupero e/o Potenziamento U.D. 120 812 Tempi
14
Storia Structured 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.
15
Storia Le 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 lintegrazione di questo linguaggio nelle basi di dati orientati agli oggetti e il supporto per sistemi basati sulla conoscenza.
16
Caratteristiche Linguaggio ad alto livello Paradigma di programmazione logico Sta 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)
17
Datatype standard Character(n)Stringa di lunghezza n (da 1 a 15000) DateData nella forma MM/GG/AA TimeOra nella forma HH:MM IntegerNumero intero con precisione 10 SmallintNumero intero con precisione 5 RealNumero reale con mantissa di precisione 7 FloatNumero reale con mantissa di precisione 15
18
Istruzioni DDL: CREATE, DROP e ALTER TABLE DML: INSERT, DELETE e UPDATE TRANSAZIONI: COMMIT, ROLLBACK e SAVEPOINT DQL: SELECT SICUREZZA: GRANT e REVOKE
19
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 …
20
CREATE TABLE CREATE TABLE table_name ( field 1 type 1 [default] [constraint 1 ], field 2 type 2 [default] [constraint 2 ], … field n type n [default] [constraint n ] ); Per creare una nuova tabella nella base di dati:
21
Esempio - CREATE TABLE Diagramma Entità-Relazione Magazzino(ID, Descrizione); Prodotti(Codice, Descrizione, Prezzo); Contiene(ID_Magazzino, Codice_Prodotto); Modello Relazionale
22
Esempio - CREATE TABLE create 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
23
CREATE TABLE…AS… CREATE TABLE table_name AS SELECT filed 1, field 2, …, filed n FROM table_name WHERE condizione; Per creare una nuova tabella da una già esistente nella basi di dati
24
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 lindice dalla rispettiva tabella DROP INDEX index_name;
25
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);
26
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
27
INSERT INSERT INTO table_name VALUES (V 1, V 2, …, V N ); Inserisce la n-upla (v 1, …, v n ) nella tabella. INSERT INTO table_name (f 1, …, f n ) SELECT field 1, …, field in FROM table 1, …, table m ; Inserisce una selezione di uno o più records nella tabella.
28
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;
29
UPDATE UPDATE table_name SET field 1 = value 1, field 2 = value 2, … field n = value n WHERE condition; UPDATE table_name SET (field 1, field 2, …,field n ) = (select f i1, …, f in from table 1, …, table m where condition) WHERE condition; Deve restituire una riga!
30
Transazione E ununità logica di lavoro E una sequenza di comandi SQL che il DBMS tratta come una singola entitàTRANSAZIONECOMMITCOMMIT Cosè una transazione?
31
Transazione Quando comincia una transazione ? Implicitamente allapertura di una sessione del DBMS Implicitamente quando finisce la transazione precedente
32
Transazione Quando finisce una transazione ? Nel momento in cui le modifiche sono rese permanenti da: Un COMMIT esplicito Una normale chiusura di sessione Un comando DDL o quando le modifiche vengono annullate da: Un ROLLBACK esplicito Un uscita brutale dal programma Una caduta di sistema
33
Transazione 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 TRANSAZIONECOMMITCOMMITCOMMIT o ROLLBACK
34
SELECT select … 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;
35
Condizioni di ricerca Seleziona lelenco dei dipendenti che sono stati assunti tra il 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 Como select Cognome, Nome, Funzione from Personale where Prov IN (MI, CO);
36
Condizioni di ricerca Selezionare gli impiegati il cui cognome inizia per Ros Select Cognome, Nome from Personale where Cognome like Ros%;
37
Interrogazioni nidificate Seleziona lelenco dei dipendenti che hanno uno stipendio inferiore alla media: Select Cognome, Nome from Personale where Stipendio < (Select AVG(Stipendio) from Personale);
38
Ordinamento Seleziona lelenco dei dipendenti ordinandolo per cognome: Select Cognome, Nome, Funzione from Personale order by Cognome (ASC);
39
Aggregazioni Seleziona la lista delle funzioni dei dipendenti con la somma degli stipendi e il numero di dipendenti appartenenti alle varie funzioni: Select Funzione, SUM(Stipendio), count(*) from Personale group by Funzione;
40
Esercizio Allinizio dellanno scolastico un rappresentante di libri vuole avere una quadro riassuntivo dellanno 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 listituto ed il numero di classi (dellistituto) che ha adottato il libro.
41
Esercizio
42
CODICETITOLODESCR. IDANNOSEZIONEID_ISTITUTO IDNOMEDESCR. CODICE_LIBROID_CLASSEANNO Libri Adottati Classe Istituto 2002
43
Esercizio select 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;
44
FINE
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.