Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C

Slides:



Advertisements
Presentazioni simili
Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia
Advertisements

Basi di dati - Fondamenti
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Progettazione di una base di dati relazionale
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rileaborato da M. Lenzerini - Basi di dati
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Le operazioni relazionali
Universita’ di Milano Bicocca Corso di Basi di Dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
rielaborato da Atzeni-etal., Basi di dati, Capitolo 4
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Interrogazione di una base di dati relazionale
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di Dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
di Basi di Dati: Overview
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 3
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
A. A – 2008 Basi di dati 1 Corso Prof
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Progettazione di una base di dati relazionale
Universita’ di Milano Bicocca Corso di Basi di Dati 1 in eLearning C
Progettazione di una base di dati relazionale
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Interrogazione di una base di dati relazionale
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Interrogazione di una base di dati relazionale
I vincoli di integrità Alcuni aspetti della realtà NON possono essere modellati solamente con entità, attributi e relazioni, per esempio i vincoli di integrità.
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Basi di dati - Fondamenti
Programmare.
Interrogazioni Nidificate
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
SQL per la modifica di basi di dati
Definizione di linguaggio di programmazione
Progettazione di una base di dati
Quantificazione Esistenziale ed Universale
Selezione e Proiezione
Interrogazioni Le interrogazioni in SQL sono formulate in modo dichiarativo specificando cioè cosa si vuole ottenere e non come lo si vuole ottenere.
Introduzione ai DBMS I Sistemi di Gestione di Basi di Dati sono strumenti software evoluti per la gestione di grandi masse di dati residenti su memoria.
Vincoli di Integrità Non tutte le combinazioni possibili di valori dei domini su cui è definita una relazione sono accettabili. Alcuni attributi possono.
Transcript della presentazione:

Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C. Batini 7. SQL DML 7.1 Select - 1

Data Manipulation Language (DML): operazioni sui dati 04/2007 adattato da Atzeni-etal. McGrawHill

adattato da Atzeni-etal. McGrawHill Avvertenza Nel seguito, anche per il linguaggio SQL-DML, saranno descritti gli aspetti piu’ rilevanti, lasciando allo studio dello studente gli argomenti di dettaglio, per i quali si rimanda al testo di riferimento, e alcuni esercizi, che non saranno commentati a voce, ma che possono essere seguiti dallo studente per conto proprio. I precedenti argomenti saranno contraddistinti dalla presenza in alto a sinistra del simbolo 04/2007 adattato da Atzeni-etal. McGrawHill

SQL, due tipi di operazioni sui dati Operazione di interrogazione: SELECT Operazioni di modifica: INSERT, DELETE, UPDATE 04/2007 adattato da Atzeni-etal. McGrawHill

Operazioni di interrogazione l’ operatore SELECT 04/2007 adattato da Atzeni-etal. McGrawHill

adattato da Atzeni-etal. McGrawHill Due forme per la SELECT SELECT non nidificata, in cui cioe’ nella operazione SELECT non e’ possibile citare una nuova SELECT  e’ usata in interrogazioni semplici SELECT nidificata, in cui e’ possibile nel corpo della SELECT citare una nuova SELECT  e’ usata in interrogazioni complesse 04/2007 adattato da Atzeni-etal. McGrawHill

L’operazione SELECT non nidificata 04/2007 adattato da Atzeni-etal. McGrawHill

Qualita’ di una interrogazione Abbiamo visto nella progettazione di schemi concettuali che lo scopo della progettazione e’ di costruire uno schema caratterizzato da determinate qualita’. Analogamente, nel progettare una interrogazione, dobbiamo sempre avere in mente alcune proprieta’, introdotte nella pagina successiva. 04/2007 adattato da Atzeni-etal. McGrawHill

Qualita’ di una interrogazione Correttezza L’interrogazione esprime esattamente la richiesta dell’utente, espresse in linguaggio naturale Efficienza L’interrogazione viene eseguita in poco tempo e/o con basso utulizzo della memoria. Comprensibilita’ (o leggibilita’) L’interrogazione esprime in maniera facilmente comprensibile la richiesta espressa in linguaggio naturale. 04/2007 adattato da Atzeni-etal. McGrawHill

Efficienza di una interrogazione In un DBMS colui che progetta la interrogazione non deve preoccuparsi della efficienza. E’ infatti il compilatore che utilizzando metodi che verranno studiati in un corso successivo, traduce la SELECT in un insieme di comandi che ottimizzano la esecuzione. 04/2007 adattato da Atzeni-etal. McGrawHill

adattato da Atzeni-etal. McGrawHill SQL interrogazioni Al contrario dell’algebra relazionale, SQL e’ un linguaggio dichiarativo: specifica cosa si vuole, non come lo si vuole. Come detto, e’ il compilatore del DBMS che sceglie la implementazione ottima dal punto di vista dei costi Poiche’ tuttavia esistono in genere espressioni diverse per la stessa interrogazione in SQL, occorre privilegiare nella scelta la comprensibilita’ Vedremo piu’ avanti degli esempi 04/2007 adattato da Atzeni-etal. McGrawHill

Sintassi e semantica della SELECT L’ istruzione SELECT verra’ descritta da due punti di vista: La Sintassi, che descrive la forma linguistica che assume la istruzione La Semantica, che descrive quali elaborazioni vengono effettuate sui dati quando la SELECT viene eseguita. 04/2007 adattato da Atzeni-etal. McGrawHill

Istruzione SELECT: sintassi SELECT ListaAttributi FROM ListaTabelle [WHERE Condizione] Nella SELECT, ListaAttributi e‘ la "target list„, lista obiettivo, cioe‘ l‘insieme degli attributi i cui valori si vuole riprodurre come esito della interrogazione La clausola FROM contiene le tabelle coinvolte dalla interrogazione La clausola WHERE contiene una condizione, di forma e significato analoghe a quelle viste nei vincoli di n-pla e nell’algebra relaizonale. 04/2007 adattato da Atzeni-etal. McGrawHill

Sintassi della condizione (anche detta formula proposizionale) Data una relazione r(X), la condizione e’ una formula ottenuta combinando con i connettivi OR, AND, e NOT condizioni atomiche del tipo A CONFR B oppure A CONFR c, dove: 1. CONFR e’ un operatore di confronto (=, >, <, ≤, ≥, ≠) 2. A e B sono attributi in X sui cui valori CONFR abbia senso (es. intero CONF intero) 3. c e’ una costante per cui il confronto CONFR abbia senso (es. COSTO >= 5) 04/2007 adattato da Atzeni-etal. McGrawHill

Istruzione SELECT: semantica SELECT ListaAttributi FROM ListaTabelle [WHERE Condizione] 1. Fai il prodotto cartesiano delle tabelle citate nella FROM, poi 2. Seleziona dal prodotto cartesiano le n-ple che soddisfano la condizione presenti nella WHERE, poi 3. Delle n-ple selezionate, fornisci in output i valori degli attributi citati nella ListaAttributi 04/2007 adattato da Atzeni-etal. McGrawHill

Un primo insieme di esercizi introduzione 04/2007 adattato da Atzeni-etal. McGrawHill

Specifiche della base dati di riferimento Vogliamo rappresentare un insieme di persone, con nome, eta’ e reddito: assumiamo che il nome sia la chiave primaria (quindi, esiste un solo Franco, una sola Maria, ecc.). Vogliamo rappresentare poi per ogni persona, in due tabelle diverse, il padre e la madre, anche essi con il nome. Anche in questi casi, si assume che il nome identifichi la persona. 04/2007 adattato da Atzeni-etal. McGrawHill

adattato da Atzeni-etal. McGrawHill Domanda 7.1.1 Produci lo schema della base dati relazionale che corrisponde alle precedenti specifiche. 04/2007 adattato da Atzeni-etal. McGrawHill

adattato da Atzeni-etal. McGrawHill Risposta Tre schemi di relazione: Persone (Nome, Eta’, Reddito) Maternita’ (NomeMadre, NomeFiglio) Paternita’ (NomePadre, NomeFiglio) 04/2007 adattato da Atzeni-etal. McGrawHill

adattato da Atzeni-etal. McGrawHill Domanda 7.1.2 Perche’ NomeFiglio e’ chiave nelle due relazioni: Maternita’ (NomeMadre, NomeFiglio) Paternita’ (NomePadre, NomeFiglio) Risposta Perche’ il nome identifica ogni persona, e ogni persona ha una sola madre e un solo padre. 04/2007 adattato da Atzeni-etal. McGrawHill

adattato da Atzeni-etal. McGrawHill Concetti introdotti Istruzione SELECT non nidificata Istruzione SELECT nidificata Correttezza della (istruzione) SELECT Efficienza della SELECT Comprensibilita’ (leggibilita’) della SELECT Sintassi della SELECT Semantica della SELECT 04/2007 adattato da Atzeni-etal. McGrawHill