(Lezione SQL 2) - DEI · 2011-01-12 · (Lezione SQL 2) Barbara Di Camillo Dipartimento di...

24
Università degli Studi di Padova Università degli Studi di Padova Corso di Laurea Magistrale in Bioingegneria Corso di Laurea Magistrale in Bioingegneria A.A. 2010 A.A. 2010-2011 2011 INFORMATICA SANITARIA INFORMATICA SANITARIA (Lezione SQL 2) Barbara Di Camillo Dipartimento di Ingegneria dell’Informazione Università degli Studi di Padova Via Ognissanti 72, 35129 Padova e-mail: [email protected] Si ringrazia il Dott. Andrea Facchinetti per gli utili suggerimenti

Transcript of (Lezione SQL 2) - DEI · 2011-01-12 · (Lezione SQL 2) Barbara Di Camillo Dipartimento di...

Page 1: (Lezione SQL 2) - DEI · 2011-01-12 · (Lezione SQL 2) Barbara Di Camillo Dipartimento di Ingegneria dell’Informazione Università degli Studi di Padova Via Ognissanti 72, 35129

Università degli Studi di Padova Università degli Studi di Padova

Corso di Laurea Magistrale in BioingegneriaCorso di Laurea Magistrale in Bioingegneria

A.A. 2010A.A. 2010--20112011

INFORMATICA SANITARIAINFORMATICA SANITARIA(Lezione SQL 2)

Barbara Di CamilloDipartimento di Ingegneria dell’Informazione

Università degli Studi di PadovaVia Ognissanti 72, 35129 Padova

e-mail: [email protected]

Si ringrazia il Dott. Andrea Facchinetti per gli utili suggerimenti

Page 2: (Lezione SQL 2) - DEI · 2011-01-12 · (Lezione SQL 2) Barbara Di Camillo Dipartimento di Ingegneria dell’Informazione Università degli Studi di Padova Via Ognissanti 72, 35129

• Breve introduzione a Ms Access (Office07)

• Esercizi introduttivi

• Esercizi su interrogazioni

Lezione SQL 2

• Esercizi su interrogazioni

Page 3: (Lezione SQL 2) - DEI · 2011-01-12 · (Lezione SQL 2) Barbara Di Camillo Dipartimento di Ingegneria dell’Informazione Università degli Studi di Padova Via Ognissanti 72, 35129

Breve guida all’utilizzodi Access (Office07)

NOTA!!!

In questo corso NON si vuole insegnare l’uso di MsAccess. Esso è solo un tool user-friendly che puòessere utilizzato per la didattica di SQL.

Page 4: (Lezione SQL 2) - DEI · 2011-01-12 · (Lezione SQL 2) Barbara Di Camillo Dipartimento di Ingegneria dell’Informazione Università degli Studi di Padova Via Ognissanti 72, 35129

Creare un nuovo database

1. Creiamo un nuovo database su cui lavorare

2. Lo chiamiamo “lezione01”, e premiamo “create”

Page 5: (Lezione SQL 2) - DEI · 2011-01-12 · (Lezione SQL 2) Barbara Di Camillo Dipartimento di Ingegneria dell’Informazione Università degli Studi di Padova Via Ognissanti 72, 35129

1. Tasto destro del mouse su “Table1”, premiamo su “close” in modo da chiudere la tabella Table1 che ci viene proposta di default

Eliminare dal db le tabelle di default

Page 6: (Lezione SQL 2) - DEI · 2011-01-12 · (Lezione SQL 2) Barbara Di Camillo Dipartimento di Ingegneria dell’Informazione Università degli Studi di Padova Via Ognissanti 72, 35129

Scrivere un comando in SQL (1/5)

1. Andiamo su “create” 2. Premiamo su“Query Design”

Page 7: (Lezione SQL 2) - DEI · 2011-01-12 · (Lezione SQL 2) Barbara Di Camillo Dipartimento di Ingegneria dell’Informazione Università degli Studi di Padova Via Ognissanti 72, 35129

1. Chiudiamo questa finestra

Scrivere un comando in SQL (2/5)

Page 8: (Lezione SQL 2) - DEI · 2011-01-12 · (Lezione SQL 2) Barbara Di Camillo Dipartimento di Ingegneria dell’Informazione Università degli Studi di Padova Via Ognissanti 72, 35129

1. Premiamo su “SQL” in modo da passare alla

Scrivere un comando in SQL (3/5)

1. Premiamo su “SQL” in modo da passare alla modalità SQL

Page 9: (Lezione SQL 2) - DEI · 2011-01-12 · (Lezione SQL 2) Barbara Di Camillo Dipartimento di Ingegneria dell’Informazione Università degli Studi di Padova Via Ognissanti 72, 35129

Scrivere un comando in SQL (4/5)

Qui finalmente possiamo scrivere le Query:• sia quelle di tipo CREAZIONE/MODIFICA/CANCELLAZIONE di t abelle; • sia quelle di INTERROGAZIONE.

Page 10: (Lezione SQL 2) - DEI · 2011-01-12 · (Lezione SQL 2) Barbara Di Camillo Dipartimento di Ingegneria dell’Informazione Università degli Studi di Padova Via Ognissanti 72, 35129

Una volta scritto il comando devo selezionare il menù “Design” …

Scrivere un comando in SQL (5/5)

.. e per eseguirlo devo fare click su !

Page 11: (Lezione SQL 2) - DEI · 2011-01-12 · (Lezione SQL 2) Barbara Di Camillo Dipartimento di Ingegneria dell’Informazione Università degli Studi di Padova Via Ognissanti 72, 35129

Questo, per es., è risultato di una query di interrogazione.

Visualizzare il risultato del comando

Page 12: (Lezione SQL 2) - DEI · 2011-01-12 · (Lezione SQL 2) Barbara Di Camillo Dipartimento di Ingegneria dell’Informazione Università degli Studi di Padova Via Ognissanti 72, 35129

Posso salvare l’istruzione

Salvataggio del comando

Page 13: (Lezione SQL 2) - DEI · 2011-01-12 · (Lezione SQL 2) Barbara Di Camillo Dipartimento di Ingegneria dell’Informazione Università degli Studi di Padova Via Ognissanti 72, 35129

E rieseguirla facendo doppio click sul nome dell’istruzione

Recupero del comando salvato

Page 14: (Lezione SQL 2) - DEI · 2011-01-12 · (Lezione SQL 2) Barbara Di Camillo Dipartimento di Ingegneria dell’Informazione Università degli Studi di Padova Via Ognissanti 72, 35129

• Breve introduzione a Ms Access (Office07)

• Esercizi introduttivi

• Esercizi su interrogazioni

Lezione SQL 2

• Esercizi su interrogazioni

Page 15: (Lezione SQL 2) - DEI · 2011-01-12 · (Lezione SQL 2) Barbara Di Camillo Dipartimento di Ingegneria dell’Informazione Università degli Studi di Padova Via Ognissanti 72, 35129

Esercizio 1Creazione e gestione di tabelle

Utilizzando SQL Utilizzando SQL a) Creare (nell’ordine) le Tabelle autore edizioni e libri specificando

le relazioni tra tabelle. Verificare poi da Access di aver completato correttamente l’esercizio

b) Aggiungere l’attributo biografia alla tabella autore (tipo char)c) Cambiare il tipo di dato all’attributo biografia da tipo char a tipo

textd) Inserire nella tabella edizioni tre record: (1, einaudi); (2,

feltrinelli); (3, mondadori)e) Cancellare il record corrispondente a id_editore=1 f) modificare il nome corrispondente a id_editore=3 con einaudi

Page 16: (Lezione SQL 2) - DEI · 2011-01-12 · (Lezione SQL 2) Barbara Di Camillo Dipartimento di Ingegneria dell’Informazione Università degli Studi di Padova Via Ognissanti 72, 35129

1. Andiamo su “Database Tools”

Per vedere le associazioni tra tabelle

2. Premiamo su “Relationships”

Page 17: (Lezione SQL 2) - DEI · 2011-01-12 · (Lezione SQL 2) Barbara Di Camillo Dipartimento di Ingegneria dell’Informazione Università degli Studi di Padova Via Ognissanti 72, 35129

Per vedere le associazioni tra tabelle

Ecco lo schema con le associazioni

Page 18: (Lezione SQL 2) - DEI · 2011-01-12 · (Lezione SQL 2) Barbara Di Camillo Dipartimento di Ingegneria dell’Informazione Università degli Studi di Padova Via Ognissanti 72, 35129

• Breve introduzione a Ms Access (Office07)

• Esercizi introduttivi

• Esercizi su interrogazioni

Lezione SQL 2

• Esercizi su interrogazioni

Page 19: (Lezione SQL 2) - DEI · 2011-01-12 · (Lezione SQL 2) Barbara Di Camillo Dipartimento di Ingegneria dell’Informazione Università degli Studi di Padova Via Ognissanti 72, 35129

La base di dati di esempio

• Sintesi dei ricoveri effettuati da un certo centro ospedaliero

• Analisi delle prestazioni effettuate e dei relativi costi• Analisi delle prestazioni effettuate e dei relativi costi

• Informazioni aggiuntive legate al centro

Scaricare il DB dal sito delle lezioni e salvarlo sulla home

Page 20: (Lezione SQL 2) - DEI · 2011-01-12 · (Lezione SQL 2) Barbara Di Camillo Dipartimento di Ingegneria dell’Informazione Università degli Studi di Padova Via Ognissanti 72, 35129

Prima di qualsiasi altra operazione ABILITARE I CONTENTUTI!!!!

Premere su “Options”

Page 21: (Lezione SQL 2) - DEI · 2011-01-12 · (Lezione SQL 2) Barbara Di Camillo Dipartimento di Ingegneria dell’Informazione Università degli Studi di Padova Via Ognissanti 72, 35129

Prima di qualsiasi altra operazione ABILITARE I CONTENTUTI!!!!

Abilitare i contenuti!!!Abilitare i contenuti!!!

Page 22: (Lezione SQL 2) - DEI · 2011-01-12 · (Lezione SQL 2) Barbara Di Camillo Dipartimento di Ingegneria dell’Informazione Università degli Studi di Padova Via Ognissanti 72, 35129

La base di dati di esempio

Page 23: (Lezione SQL 2) - DEI · 2011-01-12 · (Lezione SQL 2) Barbara Di Camillo Dipartimento di Ingegneria dell’Informazione Università degli Studi di Padova Via Ognissanti 72, 35129

Esercizio 2 Query semplici con una sola tabella

a) Realizza una Query che interroghi la Tabella GENERALE erestituisca quattro colonne dove sono riportati nome, cognome,comune, provincia

b) Realizza una Query che interroghi la Tabella GENERALE erestituisca una Tabella di una colonna dove sono riportate leprovince senza duplicatirestituisca una Tabella di una colonna dove sono riportate leprovince senza duplicati

c) Realizza una Query che restituisca e salvi una Tabella(‘Generale_PD’) di tre colonne dove sono riportati nome,cognome, comune per i soli residenti in Provincia di Padova

d) Realizza una Query che restituisca la tabella “Prescrizioni” conin aggiunta una nuova colonna, detta “costo_aggiornato” cheriporti il costo delle prescrizioni maggiorato del 10%. Salva latabella come “prescrizioni_new”.

Page 24: (Lezione SQL 2) - DEI · 2011-01-12 · (Lezione SQL 2) Barbara Di Camillo Dipartimento di Ingegneria dell’Informazione Università degli Studi di Padova Via Ognissanti 72, 35129

Esercizio 3Funzioni di aggregazione e predicati di WHERE

a) Trovare il minimo, il massimo, la media e la somma del costo delle prescrizioni e il numero totale di prescrizioni (una sola query)

b) Trovare quante persone (nella tab. “generale”) hanno il cognome che inizia con la lettera R

c) Trovare il codice fiscale del dipendente (attualmente assunto) con più anni di anzianità