SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Massimo Mancino MODULO DIDATTICO - Ambienti.

Slides:



Advertisements
Presentazioni simili
TIPI STANDARD DI SQL BOOLEAN Valori: vero, falso CHAR(n)
Advertisements

Architettura del sistema
Structured Query Language
DBMS (DataBase Management System)
SQL applicato a SQL Server
Sicurezza e concorrenza nelle basi di dati
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D3 Sicurezza e concorrenza nelle basi di dati.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità C1 Il linguaggio SQL.
Structured Query Language (SQL) Presentazione 13.1 Informatica Generale (Prof. Luca A. Ludovico)
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
1 SQL come linguaggio di definizione di dati Eugenio Di Sciascio.
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
Database nel Web Modulo Didattico: Francesca Platania
Fondamenti di Informatica Prof. Cantone
Progettazione ER Un database universitario contiene informazioni riguardanti i professori (identificati dal codice fiscale) e informazioni relative ai.
SQL.
SQL Dati i seguenti schemi relazionali:
SQL Structured Query Language
Sistemi di Elaborazione delle Informazioni Modello Relazionale
19/01/2014 Viste. 19/01/2014 Viste Le Viste Logiche o Viste o View possono essere definite come delle tabelle virtuali, i cui dati sono riaggregazioni.
Corso di Informatica (Basi di Dati)
1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) SQL: Data Manipulation Language (DML) Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi,
SQL per la modifica di basi di dati. 29/01/2014SQL per la modifica di basi di dati2 Data Manipulation Language Introduciamo ora il Data Manipulation Language.
Laboratorio di Basi di Dati Introduzione ad Access 2ª Parte.
Basi di dati. Vantaggi degli archivi digitali Risparmio di spazio: sono facilmente trasferibili e duplicabili Risparmio di tempo: si può accedere ai dati.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999
Basi di dati Università Degli Studi Parthenope di Napoli
SQL: Lezione 7 Nataliya Rassadko
SQL Per la definizione di basi di dati SQL per definire ed amministrare Ogni utente puo definire una base di dati di cui diventa lamministratore potendo.
Equivalenza di espressioni
Modello Relazionale Definisce tipi attraverso il costruttore relazione, che organizza i dati secondo record a struttura fissa, rappresentabili attraverso.
Duplicati Lalgebra relazionale non ammette duplicati, SQL li ammette. Quindi select Città from Persona where Cognome= Rossi estrae una lista di città in.
SQL SQL (pronunciato anche come l’inglese sequel) è l’acronimo di Structured Query Language (linguaggio di interrogazione strutturato) E’ un linguaggio.
Manipolazione dei dati I comandi SQL che permettono di modificare il contenuto di una base di dati sono insertdeleteupdate insert ha la seguente sintassi:
SELECT STATEMENT Clausola WHERE permette di limitare il numero di record da estrarre SELECT */ [DISTINCT] colonna/ espressione [alias],… FROM table [WHERE.
Viste. Cosè una vista? è possibile creare un subset logico di dati o una combinazione di dati una vista è una tabella logica basata su una tabella o su.
Creazione e manipolazione tabelle. TABELLE una tabella può essere creata in qualsiasi momento,anche quando gli utenti stanno usando il database la struttura.
SQL basato su ANSI (American National Standards Institute) – standard SQL SQL – Structured Query Language è un linguaggio dichiarativo e permette di comunicare.
Basi di dati Claudia Raibulet
Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL IDENTIFICATORI di tabelle e attributi: stringhe di lunghezza max 18 caratteri, composte da.
Corso di Basi di Dati Il Linguaggio SQL Home page del corso:
sql: esempi di linguaggio sql nell'implementazione mysql
1 Il Linguaggio SQL Il Linguaggio SQL Prof. Lorenzo Vita, Ing. Luigi Testa.
Basi di Dati e Sistemi Informativi
Basi di Dati e Sistemi Informativi Il Linguaggio SQL Home page del corso:
BIOINFO3 - Lezione 51 INSERIMENTO DEI DATI Visto come si creano le tabelle (sinora tristemente vuote), cominciamo ad occuparci di come riempirle con dei.
DATABASE Introduzione
Microsoft Access (parte 5) Introduzione alle basi di dati Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
SQL (IV) Data Definition Language/ Data Manipulation Language.
Pagine ASP parte 3 I data base Stefano Schacherl.
SQL, esempi 30/10/2014Basi di dati SQL1. 30/10/2014Basi di dati SQL2 CREATE TABLE, esempi CREATE TABLE corsi( codice numeric NOT NULL PRIMARY KEY, titolo.
Microsoft Access Query (III).
Interazione col DB Per interagire con una base dati da una pagina PHP occorre procedere come segue: Eseguire la connessione al DBMS MySQL in ascolto;
1 Basi di Dati S tructured Q uery L anguage Appunti Matteo Longhi.
SQL (III) Data Definition Language/ Data Manipulation Language.
MySQL Database Management System
Database Elaborato da: Claudio Ciavarella & Marco Salvati.
Vincoli Interrelazionali Per i vincoli visti l’inserimento di un valore che li viola viene semplicemente impedito. In caso di vincoli di integrità referenziale,
Vincoli interrelazionali
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015 UdA 1A Database Progettazione Fisica G IORGIO P ORCU
Lezione 5 - SQL. Linguaggi per DB Per interagire con le basi di dati occorre un linguaggio Linguaggio SQL (Structured Query Language), linguaggio standardizzato.
Funzionalità del DBMS relazionale l Funzioni per –definizione della base di dati –inserimento / rimozione /aggiornamento di informazioni deve soddisfare.
Approfondimenti SQL.
Basi di Dati e Sistemi Informativi Esercitazione: Il Linguaggio SQL (DDL+DML) Home page del corso:
Linguaggio SQL prima parte Linguaggio SQL prima parte A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright © Istituto Italiano.
SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO Classe di Concorso: 42A Alessandro Guzzetta MODULO DIDATTICO - Access.
Elementi di statistica con R e i database LEZIONE 2 Rocco De Marco rocco.demarco(a)an.ismar.cnr.it Ancona, 12 Aprile 2012.
Linguaggio SQL. Linguaggi per database La diffusione del modello relazionale ha favorito l’uso prevalente di linguaggi non procedurali: in questo modo.
Il linguaggio SQL (Structured Query Language) è il linguaggio standard per creare, manipolare e interrogare database relazionali. SQL non è case-sensitive:
Esercizi SQL Group by. CREATE TABLE dipendente (codDip CHAR(8) NOT NULL UNIQUE PRIMARY KEY, cognome CHAR(60) NOT NULL, nome CHAR(60) NOT NULL, stipendio.
Transcript della presentazione:

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

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

Unità didattica 1 Il linguaggio SQL Unità didattica 2 Microsoft Access Composizione del modulo

Unità didattica 1 Il Linguaggio SQL

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

Competenze Applicare correttamente i principi del modello relazionale Rappresentare le operazioni relazionali Codificare e validare interrogazioni in linguaggio SQL

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

LEZIONE FRONTALE LEZIONE DIALOGATA Metodologie

AULA LABORATORIO Spazi AZIENDA

LIBRO DI TESTO ED APPUNTI COMPUTER LAVAGNA LUMINOSA PROIETTORE Strumenti

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

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

Unità Didattica Ore di Lezione Ore di Laboratorio Ore di Verifica Ore di Recupero e/o Potenziamento U.D Tempi

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.

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.

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)

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

Istruzioni DDL: CREATE, DROP e ALTER TABLE DML: INSERT, DELETE e UPDATE TRANSAZIONI: COMMIT, ROLLBACK e SAVEPOINT DQL: SELECT SICUREZZA: GRANT e REVOKE

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 …

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:

Esempio - CREATE TABLE Diagramma Entità-Relazione Magazzino(ID, Descrizione); Prodotti(Codice, Descrizione, Prezzo); Contiene(ID_Magazzino, Codice_Prodotto); Modello Relazionale

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

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

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;

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

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

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.

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;

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!

Transazione E ununità logica di lavoro E una sequenza di comandi SQL che il DBMS tratta come una singola entitàTRANSAZIONECOMMITCOMMIT Cosè una transazione?

Transazione Quando comincia una transazione ? Implicitamente allapertura di una sessione del DBMS Implicitamente quando finisce la transazione precedente

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

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

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;

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

Condizioni di ricerca Selezionare gli impiegati il cui cognome inizia per Ros Select Cognome, Nome from Personale where Cognome like Ros%;

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

Ordinamento Seleziona lelenco dei dipendenti ordinandolo per cognome: Select Cognome, Nome, Funzione from Personale order by Cognome (ASC);

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;

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.

Esercizio

CODICETITOLODESCR. IDANNOSEZIONEID_ISTITUTO IDNOMEDESCR. CODICE_LIBROID_CLASSEANNO Libri Adottati Classe Istituto 2002

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;

FINE