La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.

Presentazioni simili


Presentazione sul tema: "Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università."— Transcript della presentazione:

1 Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università degli Studi di Milano Corsi di Laurea in Biotecnologie (primo anno interfacoltà)

2 Ottava lezione di laboratorio Interrogazione di una base di dati 2Informatica di base – Linea 1

3 Prima parte Cosa vuol dire fare “un’interrogazione” 3Informatica di base – Linea 1

4 I concetti principali dei DB La logica booleana (AND, OR, NOT) Entità e attributi (nome, dominio) Tabelle fisiche e tabelle logiche Chiave candidata/primaria/esterna Le operazioni sulle tabelle: – selezione – proiezione – prodotto – join Relazioni fra tabelle 4Informatica di base – Linea 1

5 Le query (o interrogazioni) Le operazioni di lettura o scrittura di dati da un DB vengono dette query – le query permettono di generare tabelle logiche In particolare, ci occuperemo di capire come si possono realizzare le operazioni di: – selezione – proiezione – join 5Informatica di base – Linea 1

6 Il linguaggio SQL Per specificare una query, si usano dei linguaggi appositi: – SQL (=Structured Query Language) E’ stato studiato appositamente per essere facilmente comprensibile: – appare simile al linguaggio naturale – ma NON è un linguaggio naturale ha un sintassi formale 6Informatica di base – Linea 1

7 La composizione guidata di query Molti applicativi per gestire database rendono disponibili strumenti di supporto alla creazione di query: – oggi ne vedremo alcuni Idea: – chi è esperto scrive direttamente in SQL (fa prima) – chi non è esperto si lascia aiutare dall’applicazione: il risultato è comunque una query in SQL 7Informatica di base – Linea 1

8 La proiezione In SQL l’operazione per “selezionare” alcuni valori da tabelle è detta SELECT La parola FROM indica da quali tabelle vogliamo andare a prendere i risultati SELECT nome, cognome FROM Studenti  effettua la proiezione di studenti sugli attributi nome e cognome 8Informatica di base – Linea 1

9 La selezione Si utilizza lo stesso costrutto “SELECT FROM” della proiezione, ma in aggiunta si specifica una clausola WHERE SELECT * FROM Esami WHERE crediti > 3  il simbolo * indica di selezionare tutti gli attributi 9Informatica di base – Linea 1

10 Selezione e proiezione La combinazione delle due operazioni si ottiene in modo naturale in SQL: SELECT nomeEsame FROM Esami WHERE crediti>3  effettua la selezione degli esami con più di 3 crediti e poi fa la proiezione sull’attributo nomeEsame 10Informatica di base – Linea 1

11 Prodotto Il prodotto viene calcolato automaticamente quando vengono selezionate più tabelle con la clausola FROM SELECT nome, cognome, nomeEsame FROM Professori, Esami 11Informatica di base – Linea 1

12 Il join Selezioniamo alcune righe dopo aver fatto il prodotto: SELECT nome, cognome, nomeEsame FROM Docenti, Esami WHERE Docenti.Identificativo = Esami.docente 12Informatica di base – Linea 1

13 Seconda parte Primo esercizio 13Informatica di base – Linea 1

14 OpenOffice Base Scarica il file “EsDB1.odb” dal sito del corso e aprilo con OpenOffice Base Esplora il DB e l’applicazione OpenOffice Base: – cerca di capire quali funzionalità sono disponibili – visualizza struttura e contenuto delle quattro tabelle 14Informatica di base – Linea 1

15 Le relazioni Trova il comando per visualizzare le relazioni fra le tabelle Cosa vuol dire il simbolo a forma di chiave? Prova a guardare il contenuto delle tabelle, tenendo sott’occhio anche le relazioni: – capisci meglio la struttura della base di dati adesso? 15Informatica di base – Linea 1

16 Modificare i dati Prova ad effettuare le seguenti modifiche direttamente sulle tabelle: – aggiungi un nuovo studente nella tabella Studenti – modifica il cognome di un docente – rimuovi un esame sostenuto Un modo alternativo: usa un formulario (sfrutta la procedura guidata) per modificare l’indirizzo di uno studente 16Informatica di base – Linea 1

17 Estrazione dati mediante query (tramite “procedura guidata”) Facciamo insieme la prima query usando la “procedura guidata” a disposizione nell’area “Ricerche” del database: – vogliamo estrarre nome e cognome degli studenti significa fare una proiezione sulla tabella Studenti, relativamente agli attributi (campi) Nome e Cognome – seguiamo passo per passo la procedura guidata, compilando i campi richiesti e clickando su “Avanti” …(continua) 17Informatica di base – Linea 1

18 Estrazione dati mediante query (tramite “procedura guidata”) (continua) – visualizziamo la query in SQL – diamo un nome alla query per distinguerla dalle altre es. NomeCognomeStudenti – al termine, esportiamo i dati estratti dal DB in un foglio di calcolo: click col tasto destro sulla ricerca “NomeCognomeStudenti” copia e incolla la tabella appena generata nel foglio di calcolo (OpenOffice Calc) copia e incolla anche l’SQL 18Informatica di base – Linea 1

19 Estrazione dati mediante query (tramite “procedura guidata”) Esegui gli stessi passi per: – effettuare una selezione dei corsi con più di 3 crediti (ordina per nome) – effettuare il prodotto tra la tabella corsi e la tabella professori 19Informatica di base – Linea 1

20 Estrazione dati mediante query (tramite “vista struttura”) Facciamo insieme la prima query usando “Crea ricerca in vista struttura” : – vogliamo selezionare il nome dei corsi tenuti da ogni docente – aggiungiamo alla ricerca le tabelle Corsi e Professori – selezioniamo i campi delle due tabelle che ci interessano, cioè quelli che vogliamo avere nella vista che stiamo generando Informatica di base – Linea 120

21 Estrazione dati mediante query (tramite “vista struttura”) – lanciamo “Esegui ricerca” – salviamo la query effettuata e diamogli un nome riconoscibile – esportiamo i dati e l’SQL nel foglio di calcolo osserva l’SQL: che tipo di operazione su tabelle è stata effettuata? Informatica di base – Linea 121

22 Estrazione dati mediante query (tramite “vista struttura”) Usa la stessa procedura per: – selezionare i voti ottenuti dagli studenti con cognome “Bianchi” bisogna impostare come criterio per il cognome: =‘Bianchi’ (NON con le doppie virgolette) – selezionare il nome del corso degli esami sostenuti dagli studenti con cognome “Bianchi” – selezionare il nome dei docenti, il nome del corso e il voto d’esame degli studenti con cognome “Bianchi” Informatica di base – Linea 122

23 Usare le funzioni nelle query Calcola la media dei voti degli studenti con cognome “Bianchi”: – prima imposta la query (come hai fatto con le altre) puoi sfruttare una delle ricerche già effettuate (quale?) – poi inserisci l’apposita funzione nella colonna dei voti N.B. se hai fatto la query partendo dalle tabelle fisiche, dovrai impostare anche una funzione “Gruppo” per i campi (diversi dal campo “voto”) che hai incluso 23Informatica di base – Linea 1

24 Terza parte Secondo esercizio 24Informatica di base – Linea 1

25 Un altro database Scarica e apri il file “EsDB2.odb” Scopi dell’esercizio: – lasciarvi capire, senza spiegazione, come è stata strutturata l’informazione nel DB guarda con attenzione le tabelle e le relazioni – imparare a formulare le interrogazioni sulla base delle informazioni che si vogliono estrarre – capire come la query effettuata viene tradotta in SQL Informatica di base – Linea 125

26 Un altro database - note Due note su questo database (che capirete solo dopo aver osservato le relazioni): – la tabella “Volumi” contiene i dati relativi alle diverse copie fisiche di ogni libro – per come è organizzata la base di dati, ogni libro può avere un solo autore Informatica di base – Linea 126

27 DB e fogli di calcolo Anche in questo caso, per ogni query effettuata, salva la tabella generata e l’SQL in un foglio di calcolo – SUGGERIMENTO: prima di impostare la query, cerca di capire quali tabelle dovrai usare (guardando le relazioni fra le tabelle) Formatta opportunamente il foglio di calcolo 27Informatica di base – Linea 1

28 Query da fare su EsDB2 1.Trova il titolo dei libri il cui autore è Amado 2.Trova il titolo dei libri in prestito all’utente Annoni 3.Trova lo stato di conservazione e il codice biblioteca dei libri editi dalla Feltrinelli in stato di conservazione “mediocre” o “fortemente rovinato” – bisogna impostare tre criteri: uno per la Denominazione della CasaEditrice due per lo StatoConservazione (inserirli uno sotto l’altro) 28Informatica di base – Linea 1

29 Query da fare su EsDB2 4.Trova, per ogni utente, il numero di libri che ha attualmente in prestito – bisogna impostare due funzioni: una di conteggio per il campo InPrestitoA una di gruppo per il campo Cognome 29Informatica di base – Linea 1


Scaricare ppt "Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università."

Presentazioni simili


Annunci Google