Linguaggi per basi di dati



Documenti analoghi
Linguaggi per basi di dati. Linguaggi per basi di dati e SQL. Linguaggi di interrogazione per basi di dati relazionali. Linguaggi di interrogazione

Linguaggi per basi di dati e SQL

Algebra Relazionale e Calcolo Relazionale. L. Vigliano

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

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

Introduzione all Algebra Relazionale

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

Dichiarativi : specificano le proprietà del risultato ("che cosa") Procedurali specificano le modalità di generazione del risultato ("come")

Linguaggi per basi di dati

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

Basi di Dati e Sistemi Informativi. Algebra Relazionale

Fondamenti di Teoria delle Basi di Dati

Operazioni sui database

Gli operatori relazionali

Corso di Basi di Dati. Linguaggi per basi di dati. Linguaggi per basi di dati. Linguaggi per basi di dati: Algebra Relazionale

SQL: concetti base SQL. Definizione dei dati in SQL. SQL: "storia"

Basi di Dati. Programmazione e gestione di sistemi telematici

Parte III. L algebra relazionale

Parte III L algebra relazionale

Algebra Relazionale. algebra relazionale

SQL prima parte 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 2011/12

Basi di dati e Sistemi informativi aziendali

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

Attributi e domini. A per {A}; XY per X Y (pertanto A 1 A 2 A 3 denota

Archivi e Basi di Dati

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere;

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

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati

ALGEBRA RELAZIONALE RIEPILOGO

Informatica. Sintassi. Interrogazioni in SQL. Significato dell interrogazione. Tabella Impiegato. Basi di dati parte 4 SQL

Aggiornamenti e Interrogazioni

DBMS (Data Base Management System)

SQL. Linguaggio di interrogazione per basi di dati relazionali. Relazione = tabella con attributi (a 1, a 2,, a n ): Funzionalità principali di SQL:

Fondamenti di Teoria delle Basi di Dati

Lezione V. Aula Multimediale - sabato 29/03/2008

Decomposizione senza perdita. Decomposizione senza perdita. Conservazione delle dipendenze. Conservazione delle dipendenze

Join in SQL (primo modo) Informatica. Tabella Dipartimento. Interrogazione 4a. Interrogazione 4b. Interrogazione 4a

SQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari:

Introduzione. Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei

SQL. Definizione dei da6 in SQL. SQL: "storia" CREATE TABLE: esempio. CREATE TABLE: esempio

Uso delle variabili di alias. SQL slide aggiuntive. Interrogazione 25. Interrogazione 26

Il linguaggio SQL: le basi

Basi di dati 9 febbraio 2010 Compito A

Linguaggio SQL: fondamenti. Basi di dati. Elena Baralis Pag. 1. Linguaggio SQL: fondamenti. Sistemi informativi. Introduzione

(anno accademico )

Fa riferimento ad una famiglia di linguaggi dichiarativi, basati sul calcolo dei predicati del primo ordine

Operatori derivati dagli insiemi. Algebra Relazionale. Unione. Operatori derivati dagli insiemi

Corso di Informatica (Basi di Dati)

Operatori derivati dagli insiemi. Algebra Relazionale. Unione. Operatori derivati dagli insiemi

Il linguaggio SQL: query innestate

Corso di Informatica (Basi di Dati)

Data Management Software. Il linguaggio SQL. Raggruppamenti. Paolo Avallone Sr Consulting IT Specialist DB2, Data Management Marzo 2004

Informatica (Basi di Dati)

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

SQL IL LINGUAGGIO DI INTERROGAZIONE

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

Vincoli di integrità

Il Modello Relazionale

Il linguaggio SQL: le basi. Versione elettronica: SQLa-basi.pdf

Basi di dati 30 settembre 2010 Compito A

Normalizzazione. Relazionali

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

Definizione di domini

Informatica per le discipline umanistiche 2 lezione 10

Basi di Dati Corso di Laura in Informatica Umanistica

Cardinalità e identificatori. Informatica. Generalizzazioni. Generalizzazioni. Generalizzazioni. Generalizzazioni

Modelli relazionali. Esistono diversi modi di modellare un database. Il modello piu' usato al momento e' il modello relazionale

BASI DI DATI LINGUAGGI PER BASI DI DATI

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

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica.

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

Esercitazione su SQL

TEORIA sulle BASI DI DATI

Capitolo 2. Esercizio 2.1. Esercizio 2.2

Basi di Dati: Corso di laboratorio

Interrogazioni nidificate, commenti

Il Modello Relazionale

DATABASE RELAZIONALI

Modulo 2 Data Base 2

Elementi di Algebra Relazionale

Introduzione ai database relazionali

Operatori derivati dagli insiemi

Vincoli di Integrità Referenziale

Sistemi Informativi e Basi di Dati

Linguaggio SQL. Structured Query Language

Corso di Informatica

Corso sul linguaggio SQL

DDL DML. Tipi di linguaggi per basi di dati. Si distinguono due categorie:

Fondamenti di Teoria delle Basi di Dati

Organizzazione degli archivi

Informatica Generale Andrea Corradini Sistemi di Gestione delle Basi di Dati

Le Basi di Dati. Le Basi di Dati

logica dei predicati

Basi di Dati. Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio. Corso di Laurea in Informatica. a.a

SQL Laboratorio di Basi di Dati a.a. 2002/2003

Basi di dati Algebra relazionale Figure ed esempi

Interrogare il database: lavorare con le query

ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 2

Laboratorio di Informatica

Transcript:

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 di interrogazione per basi di dati relazionali Dichiarativi specificano le proprietà del risultato ("che cosa") Procedurali specificano le modalità di generazione del risultato ("come") 3

Linguaggi di interrogazione Algebra relazionale: procedurale Calcolo relazionale: dichiarativo (teorico) SQL (Structured Query Language): parzialmente dichiarativo (reale) QBE (Query by Example): dichiarativo (reale) 4

Algebra relazionale Insieme di operatori su relazioni che producono relazioni e possono essere composti 5

Operatori dell'algebra relazionale unione, intersezione, differenza ridenominazione selezione proiezione join (join naturale, prodotto cartesiano, theta-join) 6

Operatori insiemistici le relazioni sono insiemi i risultati devono essere relazioni è possibile applicare unione, intersezione e differenza solo a relazioni definite sugli stessi attributi 7

Unione Laureati Matricola 7274 Nome Rossi Età 42 7432 9824 Neri Verdi 54 45 Laureati Quadri Quadri Matricola 9297 7432 9824 Matricola Nome Età 7274 Rossi 42 7432 Neri 54 9824 Verdi 45 9297 Neri 33 Nome Neri Neri Verdi Età 33 54 45 8

Intersezione Laureati Matricola 7274 Nome Rossi Età 42 7432 9824 Neri Verdi 54 45 Quadri Matricola 9297 Nome Neri Età 33 7432 9824 Neri Verdi 54 45 Laureati Quadri Matricola Nome Età 7432 Neri 54 9824 Verdi 45 9

Differenza Laureati Matricola Nome Età 7274 Rossi 42 7432 Neri 54 9824 Verdi 45 Laureati Quadri Quadri Matricola 9297 7432 9824 Matricola Nome Età 7274 Rossi 42 7432 Neri 54 9824 Verdi 45 Nome Neri Neri Verdi Età 33 54 45 10

Ridenominazione operatore unario "modifica lo schema" lasciando inalterata l'istanza dell'operando 11

Paternità Padre Figlio Adamo Abele Adamo Caino Abramo Isacco ρ Genitore Padre (Paternità) Genitore Padre Adamo Adamo Abramo Figlio Abele Caino Isacco 12

Impiegati Cognome Rossi Neri Ufficio Roma Milano Stipendio 55 64 Operai Cognome Fabbrica Salario Bruni Monza 45 Verdi Latina 55 ρ Sede, Retribuzione Ufficio, Stipendio (Impiegati) ρ Sede, Retribuzione Fabbrica, Salario (Operai) Cognome Sede Retribuzione Rossi Roma 55 Neri Milano 64 Bruni Verdi Monza Latina 45 55 13

Selezione operatore unario produce un risultato che ha lo stesso schema dell'operando contiene il sottoinsieme delle ennuple dell'operando che soddisfano una determinata condizione 14

impiegati che Impiegati Matricola 7309 5998 9553 5698 guadagnano più di 50 Cognome Filiale Stipendio Rossi Roma 55 Neri Milano 64 Milano Milano 44 Neri Napoli 64 guadagnano più di 50 e lavorano a Milano hanno lo stesso nome della filiale presso cui lavorano 15

Impiegati Matricola Cognome Filiale Stipendio 7309 Rossi Roma 55 5998 Neri Milano 64 9553 5698 Milano Neri Milano Napoli 44 64 5698 Neri Napoli 64 σ Stipendio > 50 (Impiegati) 16

Impiegati Matricola Cognome Filiale Stipendio 7309 5998 Rossi Neri Milano Roma 55 64 5998 Neri Milano 64 9553 Milano Milano 44 5698 Neri Napoli 64 σ Stipendio > 50 AND Filiale = 'Milano' (Impiegati) 17

Impiegati Matricola Cognome Filiale Stipendio 7309 9553 Milano Rossi Milano Roma 55 44 5998 Neri Milano 64 9553 Milano Milano 44 5698 Neri Napoli 64 σ Cognome = Filiale (Impiegati) 18

Selezione, sintassi e semantica sintassi σ Condizione (Operando) Condizione: espressione booleana semantica il risultato contiene le ennuple dell'operando che soddisfano la condizione 19

Proiezione operatore unario produce un risultato che ha parte degli attributi dell'operando contiene ennuple cui contribuiscono tutte le ennuple dell'operando 20

Impiegati Matricola Cognome Filiale Stipendio 7309 Neri Napoli 55 5998 Neri Milano 64 9553 Rossi Roma 44 5698 Rossi Roma 64 per tutti gli impiegati: matricola e cognome cognome e filiale 21

Matricola 7309 5998 9553 5698 Cognome Filiale Stipendio Neri Napoli 55 Neri Milano 64 Rossi Roma 44 Rossi Roma 64 π Matricola, Cognome (Impiegati) 22

Matricola 7309 5998 9553 5698 Cognome Filiale Stipendio Neri Napoli 55 Neri Milano 64 Rossi Roma 44 Rossi Roma 64 π Cognome, Filiale (Impiegati) 23

Proiezione, sintassi e semantica sintassi π ListaAttributi (Operando) semantica il risultato contiene le ennuple ottenute da tutte le ennuple dell'operando ristrette agli attributi nella lista 24

Cardinalità delle proiezioni una proiezione contiene al più tante ennuple quante l'operando può contenerne di meno se X è una superchiave di R, allora π X (R) contiene esattamente tante ennuple quante R 25

Selezione e proiezione operatori "ortogonali" selezione: decomposizione orizzontale proiezione: decomposizione verticale 26

selezione proiezione 27

Selezione e proiezione Combinando selezione e proiezione, possiamo estrarre interessanti informazioni da una relazione 28

Matricola Cognome Filiale Stipendio 7309 Rossi Roma 55 5998 Neri Milano 64 9553 5698 Milano Neri Milano Napoli 44 64 5698 Neri Napoli 64 π Matricola,Cognome ( σ Stipendio > 50 (Impiegati) ) 29

Prodotto cartesiano Operazione binaria contiene sempre un numero di ennuple pari al prodotto delle cardinalità degli operandi (le ennuple sono tutte combinabili ) 30

Impiegati Reparti Impiegato Reparto Codice Capo Rossi A A Mori Neri B B Bruni Bianchi B Impiegati X Reparti Impiegato Reparto Codice Capo Rossi A A Mori Rossi A B Bruni Neri B A Mori Neri B B Bruni Bianchi B A Mori Bianchi B B Bruni 31