Linguaggi per basi di dati. Interrogazione delle basi di dati. Linguaggi di interrogazione per basi di dati relazionali. Linguaggi di interrogazione

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Linguaggi per basi di dati. Interrogazione delle basi di dati. Linguaggi di interrogazione per basi di dati relazionali. Linguaggi di interrogazione"

Transcript

1 Interrogazione delle basi di dati Linguaggi per basi di dati Algebra Relazionale operazioni sullo schema DDL: data definition language operazioni sui dati DML: data manipulation language interrogazione ("query") aggiornamento Atzeni Paraboschi, asi di dati) 1 Atzeni Paraboschi, asi di dati) 2 Linguaggi di interrogazione per basi di dati relazionali Linguaggi di interrogazione Dichiarativi specificano le proprietà del risultato ("che cosa") Procedurali specificano le modalità di generazione del risultato ("come") Algebra relazionale: procedurale Calcolo relazionale: dichiarativo (teorico) SQL(Structured Query Language): con caratteristiche dichiarative e procedurali QE(Query by Example): dichiarativo (reale) Atzeni Paraboschi, asi di dati) 3 Atzeni Paraboschi, asi di dati) 4 Algebra relazionale Operatori insiemistici: Unione intersezione e differenza Insieme di operatori definiti su relazioni e producono relazioni possono essere composti Operatori Unione, intersezione, e differenza ridenominazione selezione proiezione join (join naturale, prodotto cartesiano, theta-join) le relazioni sono insiemi, quindi possiamo applicare operatori insiemistici i risultati debbono essere relazioni (un insieme omogeneo di tuple) è possibile applicare unione, intersezione, differenza solo a relazioni definite sugli stessi attributi Atzeni Paraboschi, asi di dati) 5 Atzeni Paraboschi, asi di dati) 6

2 Unione R1, R2 due relazioni con uguale schema R1 Unione R2 è una relazione R con schema quello di R1 (equiv. di R2) e con tuple l insieme delle tuple t che appartengono ad R1, R2 o ad entrambe R1 intersezione R2 è una relazione R con schema quello di R1 (equiv. di R2) e con tuple l insieme delle tuple t che appartengono sia ad R1 che ad R2 R1 meno R2 è una relazione R con schema quello di R1 (equiv. di R2) e con le tuple che stanno in R1 e non in R2 Il risultato è ancora una relazione (per cui senza duplicati) Laureati Matricola 7274 Nome Età Verdi Laureati Quadri Quadri Matricola Matricola Nome Età Verdi Nome Verdi Età 33 Atzeni Paraboschi, asi di dati) 7 Atzeni Paraboschi, asi di dati) 8 Intersezione Differenza Laureati Matricola 7274 Nome Età Verdi Quadri Matricola 9297 Nome Età Verdi Laureati Matricola Nome Età Verdi Quadri Matricola Nome Verdi Età 33 Laureati Quadri Matricola Nome Età Verdi Laureati Quadri Matricola Nome Età Verdi Atzeni Paraboschi, asi di dati) 9 Atzeni Paraboschi, asi di dati) 10 Un unione significativa ma impossibile Paternità Padre Abramo Figlio Caino Maternità Madre Eva Eva Sara Figlio Set Paternità Maternità?? Il problema: Padre e Madre sono attributi differenti ma rappresentano la stessa informazione: genitore. Soluzione: rinominare gli attributi Atzeni Paraboschi, asi di dati) 11 Ridenominazione (renaming) operatore monadico (un solo argomento) "modifica il nome degli attributi" lasciando inalterata l'istanza dell'operando Notazione: ρ Y X (r ) con r nome di relazione Esempio: ρ genitore padre (Paternità ) Atzeni Paraboschi, asi di dati) 12

3 Ridenominazione (renaming): esempio Paternità Padre Figlio Caino Abramo ρ Genitore Padre (Paternità) Genitore Padre Abramo Figlio Caino Atzeni Paraboschi, asi di dati) 13 Ridenominazione e unione Paternità Padre Abramo Figlio Caino Maternità Madre Eva Eva Sara Figlio Set ρ Genitore Padre (Paternità) ρ Genitore Madre Maternità Genitore Abramo Eva Eva Sara Figlio Caino Set Atzeni Paraboschi, asi di dati) 14 Ridenominazione con più attributi Impiegati Cognome Ufficio Roma Stipendio 55 Milano 64 Operai Cognome Fabbrica Salario runi Monza Verdi Latina 55 ρ Sede, Retribuzione Ufficio, Stipendio (Impiegati) ρ Sede, Retribuzione Fabbrica, Salario (Operai) Cognome Sede Retribuzione Roma 55 Milano 64 runi Monza Verdi Latina 55 Atzeni Paraboschi, asi di dati) 15 Selection and projection proiezione selezione 2 operatori unari, ortogonali: Selezione: decomposizione orizontale proiezione decomposizione vertticale Atzeni Paraboschi, asi di dati) 16 Selezione Selezione: esempio produce un risultato che ha lo stesso schema dell'operando contiene un sottoinsieme di tuple della relazione su cui si applica la proiezione, (tuple che soddisfano una condizione) Notazione: σ F (r), con F condizione Semantica: σ F (r) = { t t r and t satisfies F} Atzeni Paraboschi, asi di dati) 17 Impiegati 7309 Roma Milano Milano Milano Napoli 64 σ Stipendio > 50 (Impiegati) Impiegati 7309 Roma Milano Milano Milano Napoli Napoli 64 Atzeni Paraboschi, asi di dati) 18

4 Selezione: esempio Selezione: esempio σ Stipendio > 50 AND Filiale = 'Milano' (Impiegati) Impiegati Milano Roma Milano Milano Milano Napoli 64 σ Cognome = Filiale (Impiegati) Impiegati Milano Milano Roma Milano Milano Milano Napoli 64 Atzeni Paraboschi, asi di dati) 19 Atzeni Paraboschi, asi di dati) 20 Algebra relazionale Insieme di operatori definiti su relazioni e producono relazioni possono essere composti Operatori Unione, intersezione, e differenza ridenominazione selezione proiezione join (join naturale, prodotto cartesiano, theta-join) Proiezione operatore monadico produce un risultato che ha parte degli attributi dell'operando contiene ennuple cui contribuiscono tutte le ennuple dell'operando Notation (given a relation r(x) and a subset Y of X: π Y (r) Semantics: π Y (r) = { t[y] t r } Atzeni Paraboschi, asi di dati) 21 Atzeni Paraboschi, asi di dati) 22 Proiezione: esempio Impiegati 7309 Napoli Milano Roma Roma 64 π Matricola, Cognome (Impiegati) 7309 Napoli Milano Roma Roma 64 Atzeni Paraboschi, asi di dati) 23 Proiezione: esempio cognome e filiale di tutti gli impiegati π Cognome, Filiale (Impiegati) 7309 Napoli Milano Roma Roma 64 Atzeni Paraboschi, asi di dati) 24

5 Cardinalità delle proiezioni Il risultato di una proiezione contiene al più tante tuple quante l'operando. Può contenerne di meno se alcune tuple collassano. π Y (r) contiene tante tuples quante in r iff sey è superchiave; Selezione e proiezione Combinando selezione e proiezione, possiamo estrarre interessanti informazioni da una relazione matricola e cognome degli impiegati che guadagnano più di Roma Milano Milano Milano Napoli Napoli 64 π Matricola, Cognome (σ Stipendio > 50 (Impiegati) ) Atzeni Paraboschi, asi di dati) 25 Atzeni Paraboschi, asi di dati) 26 Join Combinando selezione e proiezione, possiamo estrarre informazioni da una relazione non possiamo però correlare informazioni presenti in relazioni diverse il join è l'operatore più interessante dell'algebra relazionale permette di correlare dati in relazioni diverse 2 versioni di join: "natural" join: usa il nome degli attributi "theta" join Sono entrambi rappresentati dal simbolo di join Atzeni Paraboschi, asi di dati) 27 Atzeni Paraboschi, asi di dati) 28 Join naturale (natural join) Join, sintassi e semantica R Employee 1 Department Smith sales R 2 lack production White production R 1 R 2 Department production sales Employee Department Head Smith sales rown lack production White production Head rown R 1 (X 1 ), R 2 (X 2 ) R 1 R 2 è una relazione su X 1 X 2 (l unione dei due insiemi) { t su X 1 X 2 esistono t 1 R 1 e t 2 R 2 con t[x 1 ]=t 1 e t[x 2 ] =t 2 } Opp. In modo equivalente { t su X 1 X 2 t [X 1 ] R 1 and t [X 2 ] R 2 } Atzeni Paraboschi, asi di dati) 29 Atzeni Paraboschi, asi di dati) 30

6 Natural join: commenti Le tuple del risultato sono ottenute combinando le tuple negli operandi con valori uguali sugli attributi uguali. Spesso gli attributi uguali formano una chiave in uno degli operandi (infatti le connessioni tra tabelle sono realizzate usando chiavi primarie es esterne: noi usiamo il join per seguire i riferimenti. Esempio Infrazioni idinfra Data Vigile ProvNumero /2/ MI 398K /3/95 5/4/96 5/2/ TO E398 PR 8398 PR 8398 infrazioni auto auto Prov NumeroCognome MI TO PR 398K E Nome Mario Mario Luca IdInfra Data Vigile Prov Numero Cognome Nome /2/ MI 398K Mario /3/ TO E398 Mario 621 5/4/ PR 8398 Luca /2/98 93 PR 8398 Luca Atzeni Paraboschi, asi di dati) 31 Atzeni Paraboschi, asi di dati) 32 Natural join: un altro esempio Paternità Padre Figlio Maternità Madre Figlio Eva Caino Eva Set Abramo Sara Un join non completo Impiegato Reparto Reparto A C ianchi Capo runi Paternità Maternità Padre Figlio Madre Eva Abramo Sara Non tutte le tuple partecipano al risultato: join non completo Atzeni Paraboschi, asi di dati) 33 Impiegato Reparto Capo ianchi Atzeni Paraboschi, asi di dati) 34 Un join completo Impiegato Reparto A ianchi Reparto A Impiegato Reparto Capo A runi ianchi runi ogni tupla contribuisce al risultato Capo runi Atzeni Paraboschi, asi di dati) 35 Un join completo, con n x m ennuple Impiegato Reparto A Reparto A Impiegato Reparto Capo runi ianchi runi Capo runi Atzeni Paraboschi, asi di dati) 36

7 Cardinalità del join N-ary join Il join di R 1 e R 2 contiene un numero di ennuple compreso fra zero e il prodotto di R 1 e R 2 R 1 (A,), R 2 (,C) in generale 0 R 1 JOIN R 2 R 1 R 2 se è chiave in R 2 0 R 1 JOIN R 2 R 1 se è chiave in R 2 ed esiste vincolo di integrità referenziale fra (in R 1 ) e R 2 : R 1 JOIN R 2 = R 1 Il join naturale è commutativo: r 1 r 2 = r 2 r 1 associative: (r 1 r 2 ) r 3 = r 1 (r 2 r 3 ) Si può inoltre scrivere un join n-ario senza ambiguità come: r 1 r 2 r n Atzeni Paraboschi, asi di dati) 37 Atzeni Paraboschi, asi di dati) 38 N-ary join Prodotto cartesiano (cartesian product) R 1 Employee Department R 2 Smith sales lack production rown marketing White production R 1 R 2 R 3 R 3 Division A Department production marketing purchasing Head rown Employee Department Division Head lack production A rown marketing rown White production A Division A un join naturale su relazioni senza attributi in comune contiene sempre un numero di ennuple pari al prodotto delle cardinalità degli operandi (le ennuple sono tutte combinabili ) Il risultato contiene tuple ottenute combinando le tuple degli operandi in tutti i modi possibili Atzeni Paraboschi, asi di dati) 39 Atzeni Paraboschi, asi di dati) 40 Prodotto cartesiano (cartesian product) Impiegati Impiegato Reparto A ianchi Impiegati Reparti Reparti Codice A Capo runi Impiegato Reparto Codice Capo A A A runi A runi ianchi A ianchi runi Atzeni Paraboschi, asi di dati) 41 Prodotto cartesiano (cartesian product) In alcuni testi è dato come operatore di base: R1 x R2 Atzeni Paraboschi, asi di dati) 42

8 Prodotto Cartesiano Theta-join Nella maggior parte dei casi, il prodotto cartesiano è usato quando seguito da una operazione di selezione (theta-join): Quando è necessario combinare tutte le tuple di due o più relazioni theta-join: un operatore derivato r 1 F r 2 = σ F (r 1 r 2 ) Se la condizione F è una condizione di equivalenza, si parla di: equi-join Atzeni Paraboschi, asi di dati) 43 Atzeni Paraboschi, asi di dati) 44 Queries Esempi Una query è una funzione definita su un istanza di database e come risultati una relazione Le queries sono formulate in algebra relazionale costruendo delle espressioni algebriche sulle relazioni della base Atzeni Paraboschi, asi di dati) Impiegati Matricola Nome Età Stipendio ianchi runi Lupi Supervisione Impiegato Capo Atzeni Paraboschi, asi di dati) 46 Trovare matricola, nome, età e stipendio degli impiegati che guadagnano più di 40 mila euro σ Stipendio>40 (Impiegati) Matricola Nome Età Stipendio ianchi runi runi Lupi Lupi σ Stipendio>40 (Impiegati) Atzeni Paraboschi, asi di dati) 47 Atzeni Paraboschi, asi di dati) 48

9 Trovare matricola, nome ed età degli impiegati che guadagnano più di 40 mila euro π Matricola, Nome, Età (σ Stipendio>40 (Impiegati)) Matricola Nome Età Stipendio 34 ianchi runi runi Lupi Lupi π Matricola, Nome, Età ( σ Stipendio>40 (Impiegati) ) Atzeni Paraboschi, asi di dati) 49 Atzeni Paraboschi, asi di dati) 50 Trovare le matricole dei capi degli impiegati che guadagnano più di 40 mila euro Trovare nome e stipendio dei capi degli impiegati che guadagnano più di 40 mila euro π Capo (Supervisione JOIN Impiegato=Matricola ( σ Stipendio>40 (Impiegati))) π Nome,Stipendio (Impiegati JOIN Matricola=Capo π Capo (Supervisione JOIN Impiegato=Matricola (σ Stipendio>40 (Impiegati)))) Atzeni Paraboschi, asi di dati) 51 Atzeni Paraboschi, asi di dati) 52 Trovare gli impiegati che guadagnano più del proprio capo, mostrando matricola, nome e stipendio dell'impiegato e del capo π Matr,Nome,Stip,MatrC,NomeC,StipC (σ Stipendio>StipC ( ρ MatrC,NomeC,StipC,EtàC Matr,Nome,Stip,Età (Impiegati) Trovare le matricole dei capi i cui impiegati guadagnano tutti più di 40 milioni π Capo (Supervisione) - π Capo (Supervisione JOIN Impiegato=Matricola (σ Stipendio 40 (Impiegati))) JOIN MatrC=Capo (Supervisione JOIN Impiegato=Matricola Impiegati))) Atzeni Paraboschi, asi di dati) 53 Atzeni Paraboschi, asi di dati)

10 Divisione Divisione La query precedente si può fare negando l operatore Se la query è esistenziale (e.g., nome delle persone che lavorano tutti al progetto dove lavora Y), non si può fare in modo così semplice Atzeni Paraboschi, asi di dati) 55 Atzeni Paraboschi, asi di dati) 56 Equivalenza di espressioni Un 'equivalenza importante Due espressioni sono equivalenti se producono lo stesso risultato qualunque sia l'istanza attuale della base di dati L'equivalenza è importante in pratica perché i DMS cercano di eseguire espressioni equivalenti a quelle date, ma meno "costose" Push selections (se A è attributo di R 1 ) SEL A=10 (R 1 JOIN R 2 ) = R 1 JOIN SEL A=10 ( R 2 ) Riduce in modo significativo la dimensione del risultato intermedio (e quindi il costo dell'operazione) Atzeni Paraboschi, asi di dati) 57 Atzeni Paraboschi, asi di dati) 58 Viste (relazioni derivate) Rappresentazioni diverse per gli stessi dati (schema esterno) Relazioni derivate: relazioni il cui contenuto è funzione del contenuto di altre relazioni (definito per mezzo di interrogazioni) Relazioni di base: contenuto autonomo Le relazioni derivate possono essere definite su altre derivate, ma Architettura standard (ANSI/SPARC) a tre livelli per DMS utente Schema esterno utente utente Schema esterno Schema logico Schema interno utente Schema esterno utente D Atzeni Paraboschi, asi di dati) 59 Atzeni Paraboschi, asi di dati) 60

11 Viste virtuali e materializzate Viste materializzate Due tipi di relazioni derivate: viste materializzate relazioni virtuali (o viste) relazioni derivate memorizzate nella base di dati vantaggi: immediatamente disponibili per le interrogazioni svantaggi: ridondanti appesantiscono gli aggiornamenti sono raramente supportate dai DMS Atzeni Paraboschi, asi di dati) 61 Atzeni Paraboschi, asi di dati) 62 Viste virtuali relazioni virtuali (o viste): sono supportate dai DMS (tutti) una interrogazione su una vista viene eseguita "ricalcolando" la vista (o quasi) Viste, esempio Afferenza Impiegato Reparto Direzione A Reparto Capo A ianchi runi ianchi runi una vista: Supervisione = PROJ Impiegato, Capo (Afferenza JOIN Direzione) Atzeni Paraboschi, asi di dati) 63 Atzeni Paraboschi, asi di dati) 64 Interrogazioni sulle viste Sono eseguite sostituendo alla vista la sua definizione: SEL Capo='Leoni' (Supervisione) viene eseguita come SEL Capo='Leoni' ( PROJ Impiegato, Capo (Afferenza JOIN Direzione)) Viste, motivazioni Schema esterno: ogni utente vede solo ciò che gli interessa e nel modo in cui gli interessa, senza essere distratto dal resto ciò che e' autorizzato a vedere (autorizzazioni) Strumento di programmazione: si può semplificare la scrittura di interrogazioni: espressioni complesse e sottoespressioni ripetute Utilizzo di programmi esistenti su schemi ristrutturati Invece: L'utilizzo di viste non influisce sull'efficienza delle interrogazioni Atzeni Paraboschi, asi di dati) 65 Atzeni Paraboschi, asi di dati) 66

12 Viste come strumento di programmazione Trovare gli impiegati che hanno lo stesso capo di Senza vista: PROJ Impiegato (Afferenza JOIN Direzione) JOIN REN ImpR,RepR Imp,Reparto ( SEL Impiegato='' (Afferenza JOIN Direzione)) Con la vista: PROJ Impiegato (Supervisione) JOIN REN ImpR,RepR Imp,Reparto ( SEL Impiegato='' (Supervisione)) Viste e aggiornamenti (view updating) Afferenza Direzione Impiegato Reparto Reparto Capo A A runi Verdi A C runi Supervisione Impiegato Verdi Capo runi Vogliamo inserire, nella vista, il fatto che Lupi ha come capo runi; oppure che elli ha come capo Falchi; come facciamo? Atzeni Paraboschi, asi di dati) 67 Atzeni Paraboschi, asi di dati) 68 Viste e aggiornamenti "Aggiornare una vista": modificare le relazioni di base in modo che la vista, "ricalcolata" rispecchi l'aggiornamento L'aggiornamento sulle relazioni di base corrispondente a quello specificato sulla vista deve essere univoco In generale però non è univoco! en pochi aggionamenti sono ammissibili sulle viste Atzeni Paraboschi, asi di dati) 69

Parte III. L algebra relazionale

Parte III. L algebra relazionale Parte III L algebra relazionale asi di dati - prof. Silvio Salza - a.a. 2014-2015 III - 1 Linguaggi di interrogazione Dichiarativi: specificano le proprietà del risultato ("che cosa") Procedurali: specificano

Dettagli

Linguaggi per basi di dati ALGEBRA RELAZIONALE. Linguaggi di interrogazione per basi di dati relazionali. Linguaggi di interrogazione

Linguaggi per basi di dati ALGEBRA RELAZIONALE. Linguaggi di interrogazione per basi di dati relazionali. Linguaggi di interrogazione Linguaggi per basi di dati Capitolo 3: LGER RELZIONLE operazioni sullo schema DDL: data definition language operazioni sui dati DML: data manipulation language interrogazione ("query") aggiornamento 1

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 D1.2 Selezione e proiezione 1 Prerequisiti Elementi di teoria degli insiemi Composizione di operazioni 2 1 Introduzione Oltre alle operazioni insiemistiche, può capitare

Dettagli

Linguaggi per basi di dati. Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,

Linguaggi per basi di dati. Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Linguaggi per basi di dati tzeni, Ceri, Paraboschi, Torlone asi di dati McGraw-Hill, 1996-2002 Capitolo 3: LGER E CLCOLO RELZIONLE 07/06/2005 operazioni sullo schema DDL: data definition language operazioni

Dettagli

Università di Roma La Sapienza Laurea in Ingegneria Informatica. Basi di Dati. Anno Accademico 2003/2004 Canale M-Z.

Università di Roma La Sapienza Laurea in Ingegneria Informatica. Basi di Dati. Anno Accademico 2003/2004 Canale M-Z. Università di Roma La Sapienza Laurea in Ingegneria Informatica Basi di Dati Anno Accademico 2003/2004 Canale M-Z Diego Calvanese Dipartimento di Informatica e Sistemistica Antonio Ruberti Università di

Dettagli

Tipi di operatori. Gli operatori dell algebra relazionale sono classificabili nelle seguenti categorie:

Tipi di operatori. Gli operatori dell algebra relazionale sono classificabili nelle seguenti categorie: lgebra relazionale Il linguaggio per interrogare ed aggiornare la base di dati fa parte del modello di questi ultimi. Un operazione di aggiornamento può essere vista come una funzione che, data un istanza

Dettagli

3 Algebra Relazionale

3 Algebra Relazionale Corso di Laurea in Ingegneria Gestionale Sapienza Università di Roma Corso di Basi di Dati A.A. 2016/2017 Tiziana Catarci Ultimo aggiornamento : 22/02/2017 I linguaggi di interrogazione e aggiornamento

Dettagli

Introduzione all algebra relazionale. Prof. Giovanni Giuffrida

Introduzione all algebra relazionale. Prof. Giovanni Giuffrida Introduzione all algebra relazionale Prof. Giovanni Giuffrida Esempio di interrogazione Studenti Nome Matricola Indirizzo Telefono Mario Rossi 456 Via Roma 1 095 111 Ugo Bianchi 567 Via Etnea 154 095 222

Dettagli

Basi di dati. Modello relazionale dei dati. Prof.ssa Rosalba Giugno

Basi di dati. Modello relazionale dei dati. Prof.ssa Rosalba Giugno Basi di dati Modello relazionale dei dati Prof.ssa Rosalba Giugno DEFINIZIONE Un modello dei dati è un insieme di concetti utilizzati per organizzare i dati e descriverne la struttura in modo che essa

Dettagli

Basi di dati: esercitazione. Paolo Atzeni 10/05/2006

Basi di dati: esercitazione. Paolo Atzeni 10/05/2006 Basi di dati: esercitazione Paolo Atzeni 10/05/2006 Esame del 30/06/2004 Considerare le seguenti relazioni (tutte senza valori nulli) R1(ABC), con vincolo di integrità referenziale fra C e R2 e con cardinalità

Dettagli

Basi di dati Maurizio Lenzerini Dipartimento di Informatica e Sistemistica Antonio Ruberti Università di Roma La Sapienza

Basi di dati Maurizio Lenzerini Dipartimento di Informatica e Sistemistica Antonio Ruberti Università di Roma La Sapienza Basi di dati Maurizio Lenzerini Dipartimento di Informatica e Sistemistica Antonio Ruberti Università di Roma La Sapienza Anno Accademico 2010/2011 http://www.dis.uniroma1.it/ lenzerini/?q=node/44 2. Il

Dettagli

Linguaggi per basi di dati

Linguaggi per basi di dati ALGEBRA RELAZIONALE Linguaggi per basi di dati operazioni sullo schema DDL: data definition language operazioni sui dati DML: data manipulation language interrogazione ("query") aggiornamento 2 Linguaggi

Dettagli

Algebra e Calcolo relazionale. Algebra e calcolo relazionale (parte 2)

Algebra e Calcolo relazionale. Algebra e calcolo relazionale (parte 2) Algebra e calcolo relazionale (parte 2) Algebra e valori nulli Persone Nome Età Reddito Aldo 35 15 Andrea 27 21 Maria NULL 42 σ Età>30 (Persone) Quali ennuple compaiono nel risultato? La prima sì, la seconda

Dettagli

Structured Query Language

Structured Query Language IL LINGUAGGIO SQL Structured Query Language Contiene sia il DDL sia il DML, quindi consente di: Definire e creare il database Effettuare l inserimento, la cancellazione, l aggiornamento dei record di un

Dettagli

Linguaggi per basi di dati. Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,

Linguaggi per basi di dati. Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Linguaggi per basi di dati Atzeni, Ceri, Paraboschi, Torlone asi di dati McGraw-Hill, 1996-2002 Capitolo 3: ALGERA E CALCOLO RELAZIONALE 07/06/2005 operazioni sullo schema DDL: data definition language

Dettagli

Basi di dati. 2. Il modello relazionale. Il modello relazionale. Relazione: tre accezioni. 2.1 Basi di dati relazionali. Giuseppe De Giacomo

Basi di dati. 2. Il modello relazionale. Il modello relazionale. Relazione: tre accezioni. 2.1 Basi di dati relazionali. Giuseppe De Giacomo asi di dati Giuseppe De Giacomo Dipartimento di Informatica e Sistemistica Antonio Ruberti Università di Roma La Sapienza Anno Accademico 2005/2006 Canale M-Z 2. Il modello relazionale 2.1 asi di dati

Dettagli

Lezione 6. Algebra e Calcolo Relazionale

Lezione 6. Algebra e Calcolo Relazionale Lezione 6 Algebra e Calcolo Relazionale 1 Sommario Esempio di Applicazione con Database (AZIENDA) Algebra Relazionale Operazioni Relazionali Unarie Operazioni dell Algebra Relazionale dalla teoria degli

Dettagli

Equivalenza di Espressioni Algebriche

Equivalenza di Espressioni Algebriche Equivalenza di Espressioni Algebriche Basi di dati e sistemi informativi 1 Equivalenza di Espressioni Algebriche Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Equivalenza

Dettagli

SQL. SQL: "storia. Sviluppato nella metà degli anni settanta (1974) presso il laboratorio di ricerca IBM di S.Josè. Dal 1983 ca. "standard di fatto"

SQL. SQL: storia. Sviluppato nella metà degli anni settanta (1974) presso il laboratorio di ricerca IBM di S.Josè. Dal 1983 ca. standard di fatto SQL SQL: "storia Sviluppato nella metà degli anni settanta (194) presso il laboratorio di ricerca IBM di S.Josè Dal 1983 ca. "standard di fatto" E il linguaggio di riferimento per l interrogazione di DBMS

Dettagli

Correttezza. Esempi di TRC. AR è esprimibile tramite TRC. AR è esprimibile tramite TRC. AR è esprimibile tramite TRC

Correttezza. Esempi di TRC. AR è esprimibile tramite TRC. AR è esprimibile tramite TRC. AR è esprimibile tramite TRC Esempi di TRC Matricole degli studenti che hanno sostenuto matematica ma non basi di dati { t t1 ESAME, t2 CORSO ( t[matr]=t1[matr] t1[codcorso]=t2[codcorso] t2[titolo]= matematica ) ( t3 ESAME, t4 CORSO

Dettagli

Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor

Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor Interrogare una base di dati: algebra relazionale e SQL Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor Contesto didattico Il seguente materiale didattico è

Dettagli

Linguaggi di interrogazione per basi di dati relazionali

Linguaggi di interrogazione per basi di dati relazionali Linguaggi di interrogazione per basi di dati relazionali Il modello relazionale è stato il primo ad introdurre la possibilità di operare su insiemi di dati con operatori insiemistici Nei precedenti modelli

Dettagli

Algebra relazionale: operazioni

Algebra relazionale: operazioni Dipartimento di Elettronica ed ormazione Politecnico di Milano ormatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2011/2012 Algebra relazionale: operazioni Le presenti slide sono tratte dalle slide

Dettagli

Algebra Relazionale. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

Algebra Relazionale. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma Algebra Relazionale 1 Linguaggi di interrogazione relazionale Linguaggi di interrogazione: permettono la manipolazione e il reperimento di dati da una base di dati Il modello relazionale supporta LI semplici

Dettagli

L algebra relazionale

L algebra relazionale L algebra relazionale Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: Algebra.pdf Sistemi Informativi L-A Linguaggi di manipolazione (DML)

Dettagli

SQL QUERY: Le interrogazioni del database

SQL QUERY: Le interrogazioni del database Appunti della lezione di Database del 20 ottobre 2016 (mattina) Studenti: D Amuri Giuseppe, De Luca Federico Professore: Mario Bochicchio SQL QUERY: Le interrogazioni del database Per effettuare un interrogazione

Dettagli

Basi di dati (database)

Basi di dati (database) Basi di dati (database) 1 Scopo Gestione dell informazione Informazione: difficile da definire ma a tutti è chiara l importanza della sua gestione in diversi tipi di attività Esempi: aziende, banche, anagrafi,

Dettagli

Algebra relazionale. Algebra relazionale. Operatori dell algebra relazionale. Operatori dell algebra relazionale. Algebra relazionale.

Algebra relazionale. Algebra relazionale. Operatori dell algebra relazionale. Operatori dell algebra relazionale. Algebra relazionale. Algebra relazionale Algebra relazionale Introduzione Selezione e proiezione Prodotto cartesiano e join Natural join, theta-join e semi-join Outer join Unione e intersezione Differenza e antijoin Divisione

Dettagli

L algebra relazionale

L algebra relazionale L algebra relazionale Sistemi Informativi T Versione elettronica: 03.Algebra.pdf Linguaggi di manipolazione (DML) per DB Un linguaggio di manipolazione, o DML, permette di interrogare e modificare istanze

Dettagli

BASI DATI: algebra relazionale

BASI DATI: algebra relazionale BASI DATI: algebra relazionale BIOINGEGNERIA ED INFORMATICA MEDICA 1 Algebra relazionale Definizione L'algebra relazionale è un insieme di operazioni (query) che servono per manipolare relazioni (tabelle).

Dettagli

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, La normalizzazione

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, La normalizzazione Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 : La normalizzazione Forme normali Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi,

Dettagli

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 : SQL SQL originariamente "Structured Query Language", ora "nome proprio" linguaggio con varie funzionalità: contiene sia il DDL sia

Dettagli

La gestione delle interrogazioni

La gestione delle interrogazioni La gestione delle interrogazioni Basi di dati: Architetture e linee di evoluzione - Seconda edizione Capitolo 1 Appunti dalle lezioni Esecuzione e ottimizzazione delle query Un modulo del DBMS Query processor

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 2 Vincoli di integrità Proprietà che devono essere soddisfatte da ogni istanza della base di dati. Il soddisfacimento è definito rispetto al

Dettagli

2 Algebra Relazionale

2 Algebra Relazionale Corso di Laurea in Ingegneria Gestionale SAPIENZA Università di Roma Esercitazioni del corso di Basi di Dati Prof.ssa Catarci e Prof.ssa Scannapieco Anno Accademico 2010/2011 Andrea Marrella Ultimo aggiornamento

Dettagli

Algebra e calcolo relazionale. Ripasso. Le 7 Virtù del DBMS persistenza affidabilità volume condivisione riservatezza efficienza efficacia

Algebra e calcolo relazionale. Ripasso. Le 7 Virtù del DBMS persistenza affidabilità volume condivisione riservatezza efficienza efficacia Algebra e calcolo relazionale Ripasso Le 7 Virtù del DBMS persistenza affidabilità volume condivisione riservatezza efficienza efficacia I 4 Livelli di astrazione Le Tabelle Livello fisico (o interno)

Dettagli

Modello logico dei dati utilizzato nell ambito delle basi di dati, introdotto da Codd nel 1970.

Modello logico dei dati utilizzato nell ambito delle basi di dati, introdotto da Codd nel 1970. Modello Relazionale Modello logico dei dati utilizzato nell ambito delle basi di dati, introdotto da Codd nel 1970. } modello dei dati insieme di strutture dati e regole logico ) strutture disponibili

Dettagli

Forme normali. Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill. La normalizzazione. Normalizzazione. Una relazione con anomalie.

Forme normali. Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill. La normalizzazione. Normalizzazione. Una relazione con anomalie. Forme normali Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill Hill,, 1996-2002 Capitolo 9: La normalizzazione 23/10/2002 Una forma normale è una proprietà di una base di dati relazionale che

Dettagli

Operatori di base. σ F (r) = {t t r. F(t) = true} SELEZIONE σ F (r)

Operatori di base. σ F (r) = {t t r. F(t) = true} SELEZIONE σ F (r) Algebra relazionale Linguaggio dallo stile operazionale, in quanto rappresenta il piano di esecuzione di una query. Definisce un insieme di operazioni su relazioni. Le operazioni hanno come operandi una

Dettagli

Algebra relazionale D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2012/13

Algebra relazionale D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2012/13 Algebra relazionale D O C E N T E P R O F. A L B E R T O B E L U S S I Anno accademico 2012/13 Riepilogo operatori algebra Operatori insiemistici Applicabili SOLO a relazioni con lo stesso schema: BASE

Dettagli

Il modello Relazionale.

Il modello Relazionale. Il modello Relazionale c.vallati@iet.unipi.it Sommario Il modello Relazionale per la progettazione logica Come passare dal modello ER al modello relazionale Progettazione Logica Effettuata una progettazione

Dettagli

Algebra Relazionale e Calcolo Relazionale. L. Vigliano

Algebra Relazionale e Calcolo Relazionale. L. Vigliano Algebra Relazionale e Calcolo Relazionale Operazioni associate al modello relazionale Notazione algebrica Algebra relazionale Linguaggio procedurale interrogazioni espresse applicando operatori alle relazioni

Dettagli

Gestione e Analisi dei Dati. Lezione 2 Vincoli su attributo Selezioni semplici su una tabella

Gestione e Analisi dei Dati. Lezione 2 Vincoli su attributo Selezioni semplici su una tabella Gestione e Analisi dei Dati Lezione 2 Vincoli su attributo Selezioni semplici su una tabella Vincoli sui Dati Regole del dominio di interesse Unicità di codici di corso e matricole Un codice deve corrispondere

Dettagli

ALGEBRA RELAZIONALE. L algebra relazionale

ALGEBRA RELAZIONALE. L algebra relazionale ALGEBRA RELAZIONALE 2 L algebra relazionale L insieme principale di operazioni per il modello relazionale è l algebra relazionale. Le operazioni dell algebra relazionale consentono all utente di specificare

Dettagli

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 : SQL Operazioni di aggiornamento operazioni di inserimento: insert eliminazione: delete modifica: update di una o più ennuple di una

Dettagli

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, IL MODELLO RELAZIONALE

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, IL MODELLO RELAZIONALE Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 : IL MODELLO RELAZIONALE I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare relazionale Più recente (e

Dettagli

SQL. SQL: una visione panoramica. SQL: "storia" Definizione dei dati

SQL. SQL: una visione panoramica. SQL: storia Definizione dei dati SQL SQL: una visione panoramica I lucidi presentati sono liberamente ispirati al contenuto del Capitolo 4 del libro Atzeni, Ceri, Paraboschi, Torlone Basi di dati - McGraw-Hill, 1999 Structured Query Language

Dettagli

Il linguaggio SQL: le viste

Il linguaggio SQL: le viste Il linguaggio SQL: le viste Basi di dati 1 Il linguaggio SQL: le viste Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Il linguaggio SQL: le viste Basi di dati 2 Introduzione

Dettagli

Modulo 8 I data base Unità 5 Le Query

Modulo 8 I data base Unità 5 Le Query Modulo 8 I data base Unità 5 Le Query Prof. Antonio Scanu 1 Le operazioni relazionali: In questa lezione focalizziamo l attenzione sulle operazioni che consentono di interrogare una base di dati relazionale.

Dettagli

Query. Query (Interrogazioni) SQL SQL. Significato dell interrogazione. Sintassi

Query. Query (Interrogazioni) SQL SQL. Significato dell interrogazione. Sintassi Informatica della Facoltà di Lingue e Letterature dell Università degli Studi di Torino. Qualsiasi altro Query (Interrogazioni) SQL Materiale aggiuntivo per il corso di laurea in Lingue e Culture per il

Dettagli

Sommario. Introduzione... 13

Sommario. Introduzione... 13 Sommario Introduzione... 13 1. Database pro e contro... 19 A cosa serve conoscere i database?...19 Le alternative alla gestione manuale...22 Quando non serve un database?...24 Domande ed esercizi...26

Dettagli

SQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS)

SQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS) 1 SQL Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS) a.a. 2015/2016 http://www.di.uniba.it/~lisi/courses/basi-dati/bd2015-16.htm dott.ssa Francesca A. Lisi francesca.lisi@uniba.it

Dettagli

DataBase Management System - DBMS

DataBase Management System - DBMS DataBase Management System - DBMS Un sistema per la gestione di basi di dati o DBMS (Data Base Management System) è un sistema software in grado di gestire collezioni di dati che siano grandi condivise

Dettagli

Operazioni nel Modello Relazionale

Operazioni nel Modello Relazionale Elaborazione Automatica dei Dati ALGEBA ELAZIONALE Enrico Cavalli Anno Accademico 2012-2013 Operazioni nel Modello elazionale Algebra elazionale Le operazioni dell algebra relazionale permettono di manipolare

Dettagli

I modelli logici dei dati. Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw -Hill, IL MODELLO RELAZIONALE

I modelli logici dei dati. Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw -Hill, IL MODELLO RELAZIONALE I modelli logici dei dati Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw -Hill, 1996- Capitolo : IL MODELLO RELAZIONALE Tre modelli logici tradizionali gerarchico reticolare relazionale Più recente

Dettagli

APPUNTI DELLA LEZIONE DI DATABASE DEL 26/10/2016 Studenti: Marco D'Amato, Adriano Luigi Piscopello Professore: Mario Bochicchio

APPUNTI DELLA LEZIONE DI DATABASE DEL 26/10/2016 Studenti: Marco D'Amato, Adriano Luigi Piscopello Professore: Mario Bochicchio APPUNTI DELLA LEZIONE DI DATABASE DEL 26/10/2016 Studenti: Marco D'Amato, Adriano Luigi Piscopello Professore: Mario Bochicchio INTRODUZIONE L algebra relazionale è l algebra su cui si basa il linguaggio

Dettagli

Basi di dati Modelli e linguaggi di interrogazione

Basi di dati Modelli e linguaggi di interrogazione Paolo Atzeni Stefano Ceri Stefano Paraboschi Riccardo Torlone Basi di dati Modelli e linguaggi di interrogazione web site McGraw-Hill IUAV - VENEZIA H 9882 BIBLIOTECA CENTRALE Paolo Atzeni Stefano Ceri

Dettagli

LA NORMALIZZAZIONE. Prima parte

LA NORMALIZZAZIONE. Prima parte LA NORMALIZZAZIONE Prima parte Argomenti della lezione Forma normale e normalizzazione Ridondanze e anomalie Dipendenze funzionali Forma normale di Boyce e Codd Proprietà delle decomposizioni Forme normali

Dettagli

SQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS)

SQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS) 1 SQL Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS) a.a. 2015/2016 http://www.di.uniba.it/~lisi/courses/basi-dati/bd2015-16.htm dott.ssa Francesca A. Lisi francesca.lisi@uniba.it

Dettagli

Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2

Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2 Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2 Vincoli di integrita 2 Cosa e un vincolo di integrita E una proprieta sempre valida

Dettagli

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL: fondamenti. Il linguaggio SQL

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL: fondamenti. Il linguaggio SQL : fondamenti Linguaggio per gestire le basi di dati relazionali Structured Query Language SQL possiede istruzioni per definire lo schema di una base di dati relazionale leggere e scrivere i dati definire

Dettagli

ALGEBRA RELAZIONALE ALGEBRA RELAZIONALE

ALGEBRA RELAZIONALE ALGEBRA RELAZIONALE ALGEBRA RELAZIONALE Ridenominazione Unione Differenza Selezione Proiezione Prodotto Join θ-join Join naturale Semijoin Join esterno Valori nulli Interrogazioni / espressioni relazionali Esercizi cesarini-bdsi

Dettagli

Generalizzazione. Docente : Alfredo Cuzzocrea Tel. : Informatica

Generalizzazione. Docente : Alfredo Cuzzocrea   Tel. : Informatica Università Magna Graecia di Catanzaro Informatica Generalizzazione Docente : Alfredo Cuzzocrea e-mail : cuzzocrea@si.deis.unical.it Tel. : 0984 831730 Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,

Dettagli

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 3 Raffaella Gentilini 1 / 52 Sommario 1 Il DML di SQL: Interrogazione di una BD 2 / 52 Data Manipulation Language (DML) Istruzioni del DML Le istruzioni del DML

Dettagli

Le basi di dati. Base di dati = dati + DBMS.

Le basi di dati. Base di dati = dati + DBMS. Le basi di dati. Lo scopo di una base di dati è la gestione dell informazione (in genere una grande quantità di informazione). L informazione è difficile da definire, dal momento che i database vengono

Dettagli

<Nome Tabella>.<attributo>

<Nome Tabella>.<attributo> Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : SQL (2) Tabelle mult., variabili, aggreg, group Prof. Alberto

Dettagli

Basi di dati. L Algebra Relazionale. K. Donno - L Algebra Relazionale

Basi di dati. L Algebra Relazionale. K. Donno - L Algebra Relazionale Basi di dati L Algebra Relazionale Introduzione all Algebra Relazionale Una volta definito lo schema logico di un database, partendo da un Diagramma E-R, e dopo aver inserito le tabelle nel database, eventualmente

Dettagli

Gestione e Analisi dei Dati. Lezione 4 Relazioni multi tabella Relazioni uno-a-uno, uno-a-molti, molti-a-molti

Gestione e Analisi dei Dati. Lezione 4 Relazioni multi tabella Relazioni uno-a-uno, uno-a-molti, molti-a-molti Gestione e Analisi dei Dati Lezione 4 Relazioni multi tabella Relazioni uno-a-uno, uno-a-molti, molti-a-molti Prodotto Cartesiano Finora operatori unari lavorano sui dati di un unica tabella In realtà

Dettagli

Introduzione all Algebra Relazionale

Introduzione all Algebra Relazionale Basi di dati L Algebra Relazionale Introduzione all Algebra Relazionale Una volta definito lo schema logico di un database, partendo da un Diagramma E-R, e dopo aver inserito le tabelle nel database, eventualmente

Dettagli

Forme normali. Le forme normali sono di solito definite sul modello relazionale, ma hanno senso in altri contesti, ad esempio il modello E-R

Forme normali. Le forme normali sono di solito definite sul modello relazionale, ma hanno senso in altri contesti, ad esempio il modello E-R La normalizzazione Forme normali Una forma normale è una proprietà di una base di dati relazionale che ne garantisce la qualità, cioè l'assenza di determinati difetti Quando una relazione non è normalizzata:

Dettagli

Basi di dati 8 settembre 2015 Esame Compito A Tempo a disposizione: due ore. Libri chiusi.

Basi di dati 8 settembre 2015 Esame Compito A Tempo a disposizione: due ore. Libri chiusi. Basi di dati 8 settembre 2015 Esame Compito A Tempo a disposizione: due ore. Libri chiusi. Cognome: Nome: Matricola: Domanda 1 (15%) Considerare la base di dati relazionale contenente le seguenti relazioni:

Dettagli

Progettazione di basi di dati D B M G

Progettazione di basi di dati D B M G Progettazione di basi di dati D B M G Normalizzazione Introduzione Forma normale di Boyce Codd Decomposizione in forma normale Proprietà delle decomposizioni Decomposizione senza perdita Conservazione

Dettagli

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/2002 4.1

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/2002 4.1 Modelli di Base Dati 4 Un DBMS: Access a.a. 2001/2002 4.1 DBMS 4.2 DBMS = Data Base Management System Software per la costruzione e la gestione di una base dati Esempi di DBMS: Oracle, MySQL, SQLServer,

Dettagli

Normalizzazione di Basi di Dati

Normalizzazione di Basi di Dati Normalizzazione di Basi di Dati Prof.ssa Rosalba Giugno Queste slides sono state modificate a partire da quelle fornite dagli autori del nostro libro di testo Forme normali Una forma normale è una proprietà

Dettagli

Le Basi di Dati. Sommario. Sistema Informatico. Sistema Informativo. Fondamenti di Informatica Anno Accademico 2010/2011

Le Basi di Dati. Sommario. Sistema Informatico. Sistema Informativo. Fondamenti di Informatica Anno Accademico 2010/2011 Sommario Sistema Informativo Progettazione Logica Sistema Informatico Il Modello Relazionale Dati e Informazione Relazioni e Tabelle Le Basi di Dati Basidi Dati e DBMS Compiti di un DBMS Concetti base

Dettagli

Indicare quale o quali delle seguenti affermazioni sono vere?

Indicare quale o quali delle seguenti affermazioni sono vere? Domanda 1 Indicare quale o quali delle seguenti affermazioni sono vere? L indipendenza dei dati permette di scrivere programmi senza conoscere le strutture fisiche dei dati L indipendenza dei dati permette

Dettagli

Corso di Basi di Dati

Corso di Basi di Dati Corso di Laurea in Ingegneria Gestionale Sapienza - Università di Roma Corso di Basi di Dati A.A. 2016/2017 10 Normalizzazione (cenni) Tiziana Catarci Ultimo aggiornamento : 22/02/2017 Forme normali Una

Dettagli

Basi di Dati e Sistemi Informativi. Raffinamento dello schema e Normalizzazione nei database relazionali

Basi di Dati e Sistemi Informativi. Raffinamento dello schema e Normalizzazione nei database relazionali Basi di Dati e Sistemi Informativi nei database relazionali Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale Introduzione La modellazione E-R ci ha consentito di descrivere schemi relazionali

Dettagli

Progettazione di basi di dati

Progettazione di basi di dati Progettazione di basi di dati Introduzione Forma normale di Boyce Codd Decomposizione in forma normale Proprietà delle decomposizioni Decomposizione senza perdita Conservazione delle dipendenze 007 Politecnico

Dettagli

Basi di dati I 8 luglio 2016 Esame Compito A Tempo a disposizione: un ora e trenta minuti.

Basi di dati I 8 luglio 2016 Esame Compito A Tempo a disposizione: un ora e trenta minuti. Basi di dati I 8 luglio 2016 Esame Compito A Tempo a disposizione: un ora e trenta minuti. Cognome: Nome: Matricola: Domanda 1 (20%) Considerare la base di dati relazionale contenente le seguenti relazioni:

Dettagli

Corso di Basi di Dati A.A. 2013/2014

Corso di Basi di Dati A.A. 2013/2014 Corso di Laurea in Ingegneria Gestionale Sapienza - Università di Roma Corso di Basi di Dati A.A. 2013/2014 10 Normalizzazione (cenni) Tiziana Catarci, Andrea Marrella Ultimo aggiornamento : 14/05/2014

Dettagli

Sistemi di Elaborazione delle Informazioni (C.I. 15) Basi di dati Introduzione teorica

Sistemi di Elaborazione delle Informazioni (C.I. 15) Basi di dati Introduzione teorica Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Sistemi di Elaborazione delle Informazioni (C.I. 15) Anno Accademico 2009/2010 Docente: ing. Salvatore Sorce Basi di dati Introduzione

Dettagli

Corso di Basi di Dati

Corso di Basi di Dati Corso di Laurea in Ingegneria Gestionale Sapienza Università di Roma Corso di Basi di Dati A.A. 2016/2017 4 SQL : Structured Query Language Tiziana Catarci Ultimo aggiornamento : 22/02/2016 SQL : Structured

Dettagli

Forme normali. Prima forma normale (1NF) Seconda forma normale(2nf) Relazione non in 1NF

Forme normali. Prima forma normale (1NF) Seconda forma normale(2nf) Relazione non in 1NF Prima forma normale (1NF) 22 Forme normali Uno schema di relazione R(X) è in prima forma normale se ogni attributo di X è un attributo semplice, ovvero con dominio atomico. 1NF,2NF,3NF,BCNF Nel modello

Dettagli

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezioni 6 7 Raffaella Gentilini 1 / 46 Sommario 1 Subquery (o Interrogazioni Nidificate) Interrogazioni Annidate con Predicati di Confronto Interrogazioni Annidate con

Dettagli

SQL. Storia un po piu in dettaglio. SQL: "storia" Tre livelli per SQL-2. Standard, dialetti, mercato

SQL. Storia un po piu in dettaglio. SQL: storia Tre livelli per SQL-2. Standard, dialetti, mercato Trasparenze rielaborate da Atzeni, Ceri, Paraboschi, Torlone Basi di dati: modelli e linguaggi di programmazione McGraw-Hill, 2003 Capitolo 4: SQL-1, prima parte 11/03/2005 SQL Structured Query Language

Dettagli

SQL. Argomenti della lezione. Join esplicito. Interrogazioni complesse in SQL join esplicito outer join operatori aggregati interrogazioni nidificate

SQL. Argomenti della lezione. Join esplicito. Interrogazioni complesse in SQL join esplicito outer join operatori aggregati interrogazioni nidificate Argomenti della lezione SQL Interrogazioni complesse in SQL join esplicito outer join operatori aggregati interrogazioni nidificate Maternità Paternità Madre Figlio Olga Filippo Sergio Olga Filippo Persone

Dettagli

Basi di Dati: Elementi

Basi di Dati: Elementi Basi di Dati: Elementi Docente: Prof. Pierangela Samarati Appello online - 20 Marzo 2010 Soluzioni Domanda 1) Nell ambito del modello ER illustrare le proprietà che caratterizzano le gerarchie di generalizzazione/specializzazione

Dettagli

Requisiti della base di dati. Schema concettuale

Requisiti della base di dati. Schema concettuale Requisiti della base di dati Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Progettazione concettuale Schema concettuale Progettazione

Dettagli

Il modello relazionale. Relazione: tre accezioni. Relazione matematica. Parte II. Il modello relazionale

Il modello relazionale. Relazione: tre accezioni. Relazione matematica. Parte II. Il modello relazionale Il modello relazionale Parte II Il modello relazionale Proposto da E. F. Codd nel 1970 per favorire l indipendenza dei dati Disponibile come modello logico in DBMS reali nel 1981 (non è facile realizzare

Dettagli

Modello Relazionale. Architettura a tre livelli di un DBMS

Modello Relazionale. Architettura a tre livelli di un DBMS Modello Relazionale Modello logico dei dati utilizzato nell ambito delle basi di dati, introdotto da Codd nel 1970. modello dei dati insieme di strutture dati e regole ) logico strutture disponibili su

Dettagli

Data Management Software. Il linguaggio SQL. Query Innestate. Paolo Avallone Sr Consulting IT Specialist DB2, Data Management 10 Settembre 2003

Data Management Software. Il linguaggio SQL. Query Innestate. Paolo Avallone Sr Consulting IT Specialist DB2, Data Management 10 Settembre 2003 DB2 Data Management Software Il linguaggio SQL Query Innestate Paolo Avallone Sr Consulting IT Specialist DB2, Data Management 10 Settembre 2003 LEGGERE LE SEGUENTI ATTENZIONI Le informazioni contenute

Dettagli

ARCHITETTURA DI UN DBMS

ARCHITETTURA DI UN DBMS ARCHITETTURA DI UN DBMS Modelli di dati Un approccio con basi di dati fornisce un certo livello di astrazione dei dati Nasconde i dettagli sulla memorizzazione dei dati stessi Un modello dei dati fornisce

Dettagli

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI Introduzione alle basi di dati (2) 2 Modelli dei dati, schemi e istanze (1) Nell approccio con basi di dati è fondamentale avere un certo livello di

Dettagli

INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. INFORMATICA GENERALE Prof. Alberto Postiglione

INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. INFORMATICA GENERALE Prof. Alberto Postiglione INFORMATICA GENERALE Prof. Alberto Postiglione Scienze della Comunicazione Università degli Studi di Salerno 2.3b: SQL (2) Interrogazioni semplici INFORMATICA GENERALE Prof. Alberto Postiglione Scienze

Dettagli

Operatori aggregati: COUNT

Operatori aggregati: COUNT Operatori aggregati: COUNT Il numero di figli di select count(*) as NumFigliDi where Padre = '' Paternità Padre Sergio Figlio Olga Filippo Andrea Aldo l operatore aggregato (count) viene applicato al risultato

Dettagli

Informatica B. Introduzione alle Basi di Dati e ai DBMS

Informatica B. Introduzione alle Basi di Dati e ai DBMS ormatica B Introduzione alle Basi di Dati e ai DBMS ormazioni e dati Dato: elemento semanticamente significativo (data, codice, ecc.), generalmente in formato numerico o testuale, che l azienda è interessata

Dettagli

Basi di Dati. Esercitazione 1: Interrogazioni in SQL. K. Donno - Interrogazioni in SQL

Basi di Dati. Esercitazione 1: Interrogazioni in SQL. K. Donno - Interrogazioni in SQL Basi di Dati Esercitazione 1: Interrogazioni in SQL DB di riferimento per esempi Consideriamo i seguenti schemi di una base di dati relazionale: PremioProduzione, DataAssunzione) Viene data la seguente

Dettagli

Esercitazione 1 Algebra relazionale

Esercitazione 1 Algebra relazionale Esercitazione 1 Algebra relazionale Basi di dati - prof. Silvio Salza - a.a. 2014-2015 E1-1 Base di dati Fornitori Fornitori (CodFornitore, Nome, Indirizzo, Città) Prodotti (CodProdotto, Nome, Marca, Modello)

Dettagli

Tabelle esempio: Impiegato/Dipartimento

Tabelle esempio: Impiegato/Dipartimento Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : SQL (3) Insiemistiche e Nidificate Prof. Alberto Postiglione

Dettagli