ALGEBRA RELAZIONALE. Linguaggi di interrogazione relazionale
|
|
- Francesca Lupi
- 5 anni fa
- Visualizzazioni
Transcript
1 ALGEBRA RELAZIONALE Linguaggi di interrogazione relazionale! Linguaggi di interrogazione (LI) permettono la manipolazione e il reperimento di dati da una base di dati! Il modello relazionale supporta LI semplici e potenti! Forte base formale basata sulla logica! Ottimizzazione! Linguaggi di interrogazione! linguaggi di programmazione!! I LI non sono necessariamente Turing completi! I LI non sono fatti per essere usati in calcoli complessi! I LI supportano un accesso semplice ed efficiente a grandi insiemi di dati Giorgio Giacinto 2010 Basi di Dati 2
2 Linguaggi formali di interrogazione relazionale! Due linguaggi di interrogazione matematici formano la base per i linguaggi reali (es. SQL) e per l implementazione! Algebra relazionale: operazionale, utilissima per rappresentare i piani di esecuzione! Calcolo relazionale: permette agli utenti di descrivere ciò che vogliono, piuttosto che il modo in cui calcolarlo (non operazionale, ma dichiarativo)! Capire l algebra e il calcolo è la chiave per la comprensione dell SQL e dell elaborazione delle interrogazioni! Giorgio Giacinto 2010 Basi di Dati 3 Nozioni Preliminari! Una interrogazione si applica alle istanze di relazione, e il risultato di una interrogazione è anch esso una istanza di relazione! Gli schemi delle relazioni in ingresso sono fissi! Anche lo schema per il risultato di una data interrogazione è fisso e determinato dalla definizione dei costrutti del linguaggio di interrogazione.! Notazione posizionale rispetto a notazione nominale dei campi! La notazione posizionale è più semplice per definizioni formali, la notazione nominale è più leggibile! In SQL sono usate entrambe Giorgio Giacinto 2010 Basi di Dati 4
3 Schema base di dati di esempio Velisti(vid:integer,vnome:string, esperienza:integer,età:real) Barche(bid:integer,bnome:string, colore:string) Prenotazioni(vid:integer,bid:integer, giorno:data) Giorgio Giacinto 2010 Basi di Dati 5 Istanze di esempio Useremo la notazione posizionale o a campi nominati. Useremo la convenzione che i nomi dei campi nei risultati delle interrogazioni siano ereditati dai nomi dei campi delle relazioni in ingresso. P1 V1 V2 vid bid giorno /10/ /12/96 età 22 dustin lubber rusty età 28 yuppy lubber guppy rusty Giorgio Giacinto 2010 Basi di Dati 6
4 Algebra relazionale!operazioni di base! Proiezione (!) Cancella colonne non desiderate dalla relazione! Selezione (") Seleziona un sottoinsieme di righe della relazione! Prodotto cartesiano (!) Consente di combinare due relazioni! Differenza insiemistica (") Tuple presenti nella relazione 1, ma non nella relazione 2! Unione (#) Tuple presenti nella relazione 1 e nella relazione 2 Giorgio Giacinto 2010 Basi di Dati 7 Altre Operazioni di Algebra Relazionale! Altre operazioni! intersezione, join, divisione, ridenominazione non essenziali ma (molto!) utili! Poiché ogni operazione restituisce una relazione, le operazioni possono essere composte (l algebra è chiusa ) Giorgio Giacinto 2010 Basi di Dati 8
5 Proiezione! Cancella gli attributi che non sono nella lista di proiezione! Lo schema del risultato contiene esattamente i campi nella lista di proiezione, con gli stessi nomi che avevano nella (unica) relazione in ingresso! L operatore di proiezione deve eliminare i duplicati (perché??)! Nota: i sistemi reali tipicamente non eliminano i duplicati a meno che l utente non lo richieda esplicitamente (perché no?)! vnome,esperienza (V2) vnome espe - rienza yuppy 9 lubber 8 guppy 5 rusty 10! età (V2) età Giorgio Giacinto 2010 Basi di Dati 9 Selezione! Seleziona le righe che soddisfano una condizione (<, >, =, ", #,!,, $, %)! Niente duplicati nel risultato! (Perché?)! Lo schema del risultato è identico allo schema della (unica) relazione in ingresso! La relazione risultato può essere l ingresso per un altra operazione di algebra relazionale! (Composizione di operatori)! esperienza>8 (V2) età 28 yuppy rusty " vnome,esperienza (! esperienza>8 (V2)) vnome esperienza yuppy 9 rusty 10 Giorgio Giacinto 2010 Basi di Dati 10
6 Unione, intersezione, differenza insiemistica! Tutte queste operazioni prendono in ingresso due relazioni che devono essere compatibili rispetto all unione! stesso numero di campi! campi corrispondenti sono dello stesso dominio! Qual è lo schema del risultato? V1#V2 22 dustin lubber rusty guppy yuppy V1 V2 età 22 dustin V1&V2 età 31 lubber rusty Giorgio Giacinto 2010 Basi di Dati 11 Prodotto cartesiano V1 ' P1! Ciascuna riga di V1 è accoppiata con ciascuna riga di P1! Lo schema del risultato ha un campo per ogni campo di V1 e P1, i cui nomi sono, se possibile, ereditati! Conflitto: sia V1 che P1 hanno un campo chiamato vid (vid) vnome esperienza età (vid) bid giorno 22 dustin /10/96 22 dustin /12/96 31 lubber /10/96 31 lubber /12/96 58 rusty /10/96 58 rusty /12/96! Operatore per ridenominare i campi ((C(1 vid1, 5 vid2), V1! P1) Giorgio Giacinto 2010 Basi di Dati 12
7 Join Join condizionale: P!" c V = " c (P $ V)! Lo schema del risultato è lo stesso del prodotto scalare! Meno tuple del prodotto scalare! potrebbe essere calcolato più efficientemente! A volte chiamato theta-join V1!" V1.vid <P1.vid P1 (vid) vnome esperienza (vid) bid giorno 22 dustin /12/96 31 lubber /12/96 Giorgio Giacinto 2010 Basi di Dati 13 Join! Equi-join: un caso speciale di join condizionale dove la condizione c contiene solo uguaglianze! Lo schema del risultato è simile al prodotto scalare, ma c è solo una copia dei campi per i quali è specificata l uguaglianza V1!" V1.vid =P1.vid P1 età bid giorno 22 dustin /10/96 58 rusty /12/96! Join naturale: equi-join su tutti i campi in comune Giorgio Giacinto 2010 Basi di Dati 14
8 Divisione! Non supportata come operatore primitivo, ma utile per esprimere interrogazioni come Trovare i velisti che hanno prenotato tutte le barche! Sia A una relazione con due campi, x e y sia B una relazione con il solo campo y! A/B = {)x* +)y*, B, -)x, y*, A} cioè, A/B contiene tutte le tuple x (velisti) tali che per ogni tupla y (barca) in B, ci sia una tupla xy in A oppure Se l insieme di valori y (barche) associato con un valore x (velista) in A contiene tutti i valori y in B, il valore x è in A/B! In generale, x e y possono essere un qualunque elenco di campi! y è l elenco di campi in B! x # y è l elenco dei campi in A Giorgio Giacinto 2010 Basi di Dati 15 Esempi di divisione A/B sno s2 s2 s3 s4 s4 A pno p1 p3 p4 p1 p4 pno B1 A/B1 sno s2 s3 s4 pno p4 B2 A/B2 sno s4 pno p1 p4 B3 A/B3 sno Giorgio Giacinto 2010 Basi di Dati 16
9 Esprimere A/B usando operatori di base! La divisione non è una operazione essenziale ma solo un utile scorciatoia! Vero anche per i join, ma i join sono così comuni che i sistemi li implementano esplicitamente! Idea: per A/B, calcolare tutti i valori x che non sono interdetti da qualche valore y in B! Un valore x è interdetto se associandogli valori y da B otteniamo una tupla xy che non è in A Valori x interdetti:! x ((! x (A)!B)"A) A/B! x ( A) " Tutte le tuple interdette Giorgio Giacinto 2010 Basi di Dati 17 Istanze per alcuni esempi Giorgio Giacinto 2010 Basi di Dati 18
10 Trovare i nomi dei velisti che hanno prenotato la barca #103! Soluzione 1: " vnome ((! bid=103 Prenota) Velisti)! Soluzione 2:! ( Temp1, " Re Prenota serves) bid =103! ( Tem, Temp1!" Sailors Velisti) ) " vnome (Tem)! Soluzione 3: " vnome ((! bid=103 (Prenota Velisti) Giorgio Giacinto 2010 Basi di Dati 19 Trovare i nomi dei velisti che hanno prenotato una barca rossa Informazioni sul colore sono disponibili solo in Barche, quindi abbiamo bisogno di un ulteriore join " vnome ((! colore= rosso Barche) Prenota Velisti Una soluzione più efficiente " vnome (" vid ((" bid! colore= rosso Barche) Prenota) Velisti)! Un ottimizzatore di interrogazioni può trovare la seconda soluzione data la prima! Giorgio Giacinto 2010 Basi di Dati 20
11 Trovare i nomi dei velisti che hanno prenotato una barca rossa o una verde! Possiamo identificare tutte le barche rosse o verdi, poi trovare i velisti che hanno prenotato una di esse #(Tempbarche, (! colore= rosso % colore= verde Barche)) " vnome (Tempbarche Prenota Velisti)! Possiamo anche definire TempBarche usando l unione (come?)! Che succede se % è sostituito da $ in questa interrogazione? Giorgio Giacinto 2010 Basi di Dati 21 Trovare i nomi dei velisti che hanno prenotato una barca rossa e una verde! L approccio precedente non funziona! Dobbiamo identificare i velisti che hanno prenotato barche rosse, i velisti che hanno prenotato barche verdi, poi trovare l intersezione (notate che vid è una chiave per Velisti) #(Temprosse,! vid ((! colore= rosso Barche) #(Tempverdi,! vid ((! colore= verde Barche) Prenota) Prenota) " vnome (Temprosse & Tempverdi) Velisti) Giorgio Giacinto 2010 Basi di Dati 22
12 Trovare i nomi dei velisti che hanno prenotato almeno due barche! Occorre trovare tutte le tuple di Prenotate riferite allo stesso velista ma con barche prenotate diverse.! Per confrontare tuple di una stessa relazione serve un join fra due copie della stessa relazione!(prenotate," vid,vnome,bid (Velisti!" Prenotazioni)!(CoppiePrenotate(1! vid1,2! vnome, 3! bid1, 4! vid2, 5! vnome2, 6! bid2),prenotate"prenotate) " vnome1 # (vid1=vid 2)#(bid1$bid 2) CoppiePrenotate Giorgio Giacinto 2010 Basi di Dati 23 Trovare i nomi dei velisti che hanno prenotato tutte le barche! Uso della divisione! gli schemi delle relazioni in ingresso alla divisione devono essere scelti con cura # (Tempvids, (" vid,bid Prenota) / (" bid Barche)) " vnome (Tempvids Velisti)! Per trovare i velisti che hanno prenotato tutte le barche Interlago... / " bid (! bnome= Interlago Barche) Giorgio Giacinto 2010 Basi di Dati 24
13 Altre interrogazioni 1. Trovare i colori delle barche prenotate da Lubber 2. Trovare i nomi dei velisti che hanno prenotato almeno una barca 3. Trovare i vid dei velisti con età superiore a 20 che non hanno prenotato una barca rossa 4. Trovare il nome del velista più giovane 5. Trovare i dati della prenotazione più vecchia Giorgio Giacinto 2010 Basi di Dati 25 Soluzioni 1. ( ( ( ( )!" P2) ))! colore B1!"! bid! vid " vnome=lubber V ! vnome ( V 3!" (! vid P2) )! vid (" età>20 ( V 3) ) #! vid P2 ( ) ( ) $! vid P2!"! bid (" colore=rosso B1) 4. V 4 =! vid,età ( V 3) V 5 =! vid1,età1 (" età1>età2 (# (1 $ vid1,2 $ età1,3 $ vid2, 4 $ età2)v 4 % V 4) )! vnome ( V 3!"! vid ( V 4 & V 5) ) Giorgio Giacinto 2010 Basi di Dati 26
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
DettagliLezione 5. Algebra relazionale
Lezione 5 Algebra relazionale Pag.1 Linguaggi di interrogazione relazionale Linguaggi di interrogazione: permettono la manipolazione e il reperimento di dati da una base di dati Il modello relazionale
DettagliLezione 6 SQL Basi di dati bis Docente Mauro Minenna Pag.1
Lezione 6 SQL Pag.1 Istanze di esempio vid vnome esperienza età 22 Dustin 7 45.0 29 Brutus 1 33.0 31 Lubber 8 55.5 32 Andy 8 25.5 58 Rusty 10 35.0 64 Horatio 7 35.0 71 Zorba 10 16.0 74 Horatio 9 35.0 85
DettagliSQL: Structured Query Language. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma
SQL: Structured Query Language 1 SQL:Componenti Principali Data Manipulation Language (DML): interrogazioni, inserimenti, cancellazioni, modifiche Data Definition Language (DDL): creazione, cancellazione
DettagliLezione 7 SQL (II) Basi di dati bis Docente Mauro Minenna Pag.1
Lezione 7 SQL (II) Pag.1 Ancora sugli operatori di confronto tra insiemi Abbiamo già visto IN, EXISTS e UNIQUE. Possiamo anche usare NOT IN, NOT EXISTS e NOT UNIQUE Disponibili anche: op ANY, op ALL Trovare
DettagliCapitolo 4. SQL: il linguaggio di interrogazione. Originato da SEQUEL-XRM e System-R ( ) dell IBM
Capitolo 4 SQL: il linguaggio di interrogazione SQL Originato da SEQUEL-XRM e System-R (1974-1977) dell IBM Significato originario Structured Query Language Standard de facto Attuale standard ANSI/ISO
Dettagli3 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
DettagliALGEBRA RELAZIONALE (CAPITOLO 3) R. Basili a.a
ALGEBRA RELAZIONALE (CAPITOLO 3) R. Basili a.a. 2016-2017 ALGEBRA RELAZIONALE Linguaggio di interrogazione o query language è un linguaggio tramite il quale è possibile richiedere informazioni contenute
DettagliALGEBRA RELAZIONALE (CAPITOLO 3) R. Basili a.a
1 ALGEBRA RELAZIONALE (CAPITOLO 3) R. Basili a.a. 2014-2015 Algebra Relazionale Linguaggio di interrogazione o query language è un linguaggio tramite il quale è possibile richiedere le informazioni contenute
DettagliSQL: DDL, VI, Aggiornamenti e Viste
SQL: DDL, VI, Aggiornamenti e Viste 1 SQL è più di un semplice linguaggio di interrogazione v Linguaggio di definizione dati (Data-definition language, DDL): Crea/distrugge/modifica relazioni e viste Definisce
DettagliELABORAZIONE DELLE INTERROGAZIONI. Roberto Basili Corso di Basi di Dati a.a. 2013/14
ELABORAZIONE DELLE INTERROGAZIONI Roberto Basili Corso di Basi di Dati a.a. 2013/14 Introduzione alla valutazione delle interrogazioni Piano: albero composto da operatori dell algebra relazionale, con
DettagliLinguaggi per Basi di Dati - 1. Algebra Relazionale. Algebra Relazionale. Linguaggi per Basi di Dati - 2. Operatori Insiemistici.
Linguaggi per Basi di Dati - 1 Università degli Studi di Trieste Corso di Laurea in Informatica D. Gubiani marzo 2008 Distinguiamo due classi di linguaggi per basi di dati : - linguaggi di definizione,
DettagliALGEBRA'RELAZIONALE'
ALGEBRA'RELAZIONALE'! 2 Definizioni'! Algebra Relazionale! Insieme di operatori di base del modello relazionale! Espressioni in Algebra relazionale! Sequenza di operazioni in algebra relazionale! Calcolo
DettagliIl theta-join, espresso come prodotto cartesiano seguito da una selezione, è il tipo di join operativamente più generale. Infatti:
Join Per correlare attributi con nome diverso (se cioè X 1 X 2 è vuoto) è possibile fare il theta-join, definito come un prodotto cartesiano seguito da una selezione r 1 F r 2 = F (r 1 r 2 ) dove F è la
DettagliIntroduzione alla valutazione delle interrogazioni. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1
Introduzione alla valutazione delle interrogazioni Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Introduzione alla valutazione delle interrogazioni v Piano: albero composto da operatori
DettagliALGEBRA RELAZIONALE. DB -Algebra Relazionale 1
ALGEBRA RELAZIONALE DB -Algebra Relazionale 1 ESEMPIO DI QUERY NOME MATRICOL INDIRIZZO TELEFONO Mario Rossi 123456 Via Etnea 1 222222 Ugo Bianchi 234567 Via Roma 2 333333 Teo Verdi 345678 Via Enna 3 444444
DettagliELABORAZIONE DELLE INTERROGAZIONI. Roberto Basili Corso di Basi di Dati a.a. 2015/16
ELABORAZIONE DELLE INTERROGAZIONI Roberto Basili Corso di Basi di Dati a.a. 2015/16 Introduzione alla valutazione delle interrogazioni Piano: albero composto da operatori dell algebra relazionale, con
DettagliLezione 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
DettagliBasi di Dati DBDMG - Politecnico di Torino Esercizi di SQL
Basi di Dati DBDMG - Politecnico di Torino Esercizio 1. Dato lo schema relazionale costituito dalle tabelle (le chiavi primarie sono sottolineate): esprimere in SQL le seguenti interrogazioni: RIVISTA
DettagliOperatori 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
DettagliLABORATORIO di INFORMATICA
Università degli Studi di Cagliari Corso di Laurea Magistrale in Ingegneria per l Ambiente ed il Territorio LABORATORIO di INFORMATICA A.A. 2010/2011 Prof. Giorgio Giacinto SQL IL LINGUAGGIO PER INTERROGARE
DettagliEquivalenza 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
DettagliBasi di dati e Relazioni
Basi di dati e Relazioni Studenti (Matricola,Cognome,Nome,DataNascita) Corsi (Codice,Titolo,Docente) Esami (Studente,Voto,Corso) Studenti Corsi Esami contiene dati su un insieme di studenti contiene dati
DettagliBasi di dati. Linguaggi di interrogazione
Basi di dati Linguaggi di interrogazione Algebra relazionale Definita da Codd (70) Molto utile per imparare a formulare query Insieme minimo di 5 operazioni che danno l'intero potere espressivo del linguaggio
DettagliIntroduzione 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
DettagliLezione 3. Il modello relazionale
Lezione 3 Il modello relazionale Pag.1 Perché studiare il Modello Relazionale? E un modello dati vicino alla logica di funzionamento del DBMS È il modello più largamente usato Produttori: IBM, Microsoft,
DettagliAlgebra Relazionale.
Algebra Relazionale c.vallati@iet.unipi.it Sommario Introduzione all algebra relazionale I costrutti principali dell algebra relazionale Esempi Esercitazione Basi di dati Ciclo di vita Finita la fase di
DettagliLinguaggi di interrogazione. linguaggi interrogazione 1
Linguaggi di interrogazione linguaggi interrogazione 1 a linguaggi formali Classificazione Algebra relazionale Calcolo relazionale Programmazione logica b linguaggi programmativi SQL: Structured Query
DettagliAlgebra 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
DettagliBasi di Dati: Corso di laboratorio
Basi di Dati: Corso di laboratorio Lezione 4 Raffaella Gentilini 1 / 27 Sommario 1 Join di Tabelle 2 3 2 / 27 Lo Statement JOIN Join espliciti di tabelle nella clausola FROM In SQL e possibile scrivere
DettagliEquivalenze di espressioni. Equivalenze. Equivalenze. Atomizzazione delle selezioni ( F 2 (E)) Idempotenza delle proiezioni
di espressioni Due espressioni sono equivalenti se: E 1 R E 2 se E 1 (r = E 2 (r per ogni istanza r di R (equivalenza dipendente dallo schema E1 E2 se E1 R E2 (equivalenza assoluta per ogni schema R L
DettagliAggiornamenti e Interrogazioni
Aggiornamenti e Interrogazioni Aggiornamento: inserimento o modifica di dati (una funzione che, data un istanza di basi di dati ne produce un altra) Interrogazione: estrazione di informazioni (una funzione
DettagliProdotti costosi, complessi, che richiedono investimenti in hardware, software, personale.
Vantaggi dei DBMS Disponibilità dei dati a tutta una comunità Modello unificato e preciso della realtà di interesse Controllo centralizzato dei dati Condivisione Indipendenza dei dati Svantaggi dei DBMS
DettagliSQL - Structured Query Language
SQL - Structured Query Language Luca Martini Università di Pisa 16 aprile 2010 Riepilogo sugli operatori aggregati Sintassi SELECT A t t r i b u t o 1, MAX( A t t r i b u t o 2 ),... FROM Tabella1, Tabella2,...
DettagliBASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI 1 Algebra relazionale Definizione L'algebra relazionale è un insieme di operazioni (query) che servono
DettagliInterrogare 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 è
DettagliBasi di dati Esercizi
Università degli Studi di Cagliari Corso di Laurea Magistrale in Ing. per l Ambiente e il Territorio Laboratorio d Informatica A.A. 2018/2019 Docente: Giorgio Fumera Basi di dati Esercizi Gli esercizi
DettagliBasi di dati. Gabriella Trucco
Basi di dati Gabriella Trucco gabriella.trucco@unimi.it Algebra relazionale Definizione: insieme di operazioni (query) che servono per manipolare relazioni (tabelle). Formalizzazione matematica del modo
DettagliSQL - Sottointerrogazioni correlate
SQL - Sottointerrogazioni correlate negli esempi visti ogni subquery viene eseguita una volta per tutte ed il valore (o insieme di valori) è usato nella clausola WHERE della query esterna è possibile definire
DettagliAlgebra Relazionale. Interrogazione Basi di Dati. Algebra relazionale. Algebra relazionale. Unione. Algebra relazionale
Interrogazione Basi di Dati Algebra Relazionale Interrogare un DB signifia estrarre le informazioni desiderate dal DB stesso In genere le informazioni desiderate si possono estrarre da una singola tabella
DettagliModulo 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.
DettagliIntroduzione al corso
Introduzione al corso Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: introduzione.pdf Sistemi Informativi L-B Docente Prof. Paolo Ciaccia
DettagliOperatori derivati dagli insiemi. Algebra Relazionale. Unione. Operatori derivati dagli insiemi
Algebra Relazionale Linguaggio procedurale, cioè le operazioni vengono descritte attraverso la descrizione della sequenza di azioni da compiere per ottenere la soluzione. Operatori: unione intersezione
DettagliModello Relazionale. Schemi. Schemi. Schemi. In ogni base di dati si possono distinguere: Es. (relazioni INSEGNAMENTO e MANIFESTO)
Modello Relazionale Modello logico: definisce tipi attraverso il costruttore relazione, che organizza i dati secondo record a struttura fissa, rappresentabili attraverso tabelle. Es. (relazioni INSEGNAMENTO
DettagliAlgebra 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
DettagliAlgebra 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
DettagliAttributi e domini. per brevità scriviamo: A per {A}; XY per X Y (pertanto A 1 A 2 A 3 denota
Attributi e domini Assumiamo un insieme infinito numerabile U = {A 0, A 1, A 2...} di attributi. Denotiamo gli attributi con A, B, C, B 1, C 1... e gli insiemi di attributi con X, Y, Z, X 1,... per brevità
DettagliCAPITOLO V. DATABASE: Il modello relazionale
CAPITOLO V DATABASE: Il modello relazionale Il modello relazionale offre una rappresentazione matematica dei dati basata sul concetto di relazione normalizzata. I principi del modello relazionale furono
DettagliSQL IL LINGUAGGIO DI INTERROGAZIONE
SQL IL LINGUAGGIO DI INTERROGAZIONE SQL! Originato da SEQUEL-XRM e System-R (1974-1977) dell IBM! Significato originario Structured Query Language! Standard de facto! Attuale standard ANSI/ISO è SQL:1999
DettagliBasi di Dati. Corso di Laurea in Informatica Corso B A.A. 2015/16. Dr. Claudia d'amato. Dipartimento di Informatica, Università degli Studi Bari
Basi di Dati Corso di Laurea in Informatica Corso B A.A. 2015/16 Dr. Claudia d'amato Dipartimento di Informatica, Università degli Studi Bari tel.: 080 5442246 email: claudia.damato@uniba.it http://www.di.uniba.it/~cdamato/
DettagliTipi 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
DettagliOperatori derivati dagli insiemi. Algebra Relazionale. Unione. Operatori derivati dagli insiemi
Algebra Relazionale Linguaggio procedurale, cioè le operazioni vengono descritte attraverso la descrizione della sequenza di azioni da compiere per ottenere la soluzione. Operatori: unione intersezione
Dettaglirecord a struttura fissa
Modello Relazionale E un modello logico: definisce tipi attraverso il costruttore relazione, che organizza i dati secondo record a struttura fissa, rappresentabili attraverso tabelle. Es. (relazioni INSEGNAMENTO
DettagliParte 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
DettagliScopo. Informatica. Sistema informativo. Sistema informatico
BASI DI DATI 1 BASI DI DATI 2 Scopo Informatica Elaborazione di dati: Basi di dati Gestione dell informazione Informazione: difficile da definire ma a tutti è chiara l importanza della sua gestione in
DettagliOperazioni Relazionali. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto san giovanni
Operazioni Relazionali Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto san giovanni Algebra relazionale Il modello logico Relazionale si fonda sull algebra relazionale Permette di
DettagliModulo 2 Data Base 3
Modulo 2 Data Base 3 Università degli Studi di Salerno Corso di Laurea in Scienze della comunicazione Informatica generale Docente: Angela Peduto A.A. 2004/2005 Proiezione Dati una relazione r(x) e un
DettagliALGEBRA 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
DettagliIl modello relazionale dei dati. modello relazionale 1
Il modello relazionale dei dati modello relazionale Cronologia dei modelli per la rappresentazione dei dati Modello gerarchico (anni 60) Modello reticolare (anni 70) Modello relazionale (anni 80) Modello
DettagliParte III L algebra relazionale
Parte III L algebra relazionale asi di dati - prof. Silvio Salza - a.a. 2017-2018 III - 1 Linguaggi di interrogazione Dichiarativi: specificano le proprietà del risultato ("che cosa") Procedurali: specificano
DettagliSQL: Structured Query Language. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma
SQL: Structured Query Language 1 SQL:Componenti Principali Data Manipulation Language (DML): interrogazioni, inserimenti, cancellazioni, modifiche Data Definition Language (DDL): creazione, cancellazione
DettagliBasi di dati. Argomenti. Materiale didattico. Laboratorio d'informatica
Laboratorio d'informatica Laurea Magistrale in Ingegneria per l'ambiente e il Territorio Università degli Studi di Cagliari A.A. 2016/2017 Docente: Giorgio Fumera Basi di dati Argomenti Generalità sulle
DettagliInterrogazioni (Query) Esempi. Esempi. Esempi
Interrogazioni (Query Un interrogazione è una funzione E(r che applicata ad istanze r di una base di dati produce una relazione su un dato insieme di attributi X. Le interrogazioni su uno schema di base
DettagliMODULO Il sistema azienda. Sistema Informativo e Informatico Requisiti dei dati
MODULO 2 TITOLO Basi di dati Il modulo introduce le basi di dati. Si definisce la differenza tra sistema informativo ed informatico e successivamente si trattano i limiti della gestione ad archivi, giungendo
DettagliSQL 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
DettagliLinguaggi 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 Linguaggi per basi di dati operazioni sullo schema DDL: data definition language operazioni sui dati DML: data manipulation language interrogazione ("query") aggiornamento
DettagliCorso di Basi di Dati A.A. 2015/2016
Corso di Laurea in Ingegneria Gestionale Sapienza Università di Roma Corso di Basi di Dati A.A. 2015/2016 Language Soluzione Esercizi Tiziana Catarci, Andrea Marrella Ultimo aggiornamento : 19/03/2016
DettagliLinguaggi per basi di dati e SQL
Linguaggi per basi di dati e SQL Linguaggi per basi di dati operazioni sullo schema DDL: data definition language operazioni sui dati DML: data manipulation language interrogazione ("query") aggiornamento
DettagliREGISTRO DELLE LEZIONI
UNIVERSITÀ DEGLI STUDI DI GENOVA DIPARTIMENTO DI INFORMATICA, BIOINGEGNERIA, ROBOTICA E INGEGNERIA DEI SISTEMI CORSO DI LAUREA IN INFORMATICA REGISTRO DELLE LEZIONI del Corso Ufficiale nome: BASI DI DATI
DettagliStructured 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
DettagliSQL. Università degli Studi di Salerno. Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto
SQL Università degli Studi di Salerno Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto A.A. 2005/2006 Select La forma di select cui siamo arrivati
DettagliAccesso alla base di dati. Linguaggi per basi di dati. SQL immerso in linguaggio ad alto livello. SQL, un linguaggio interattivo
Linguaggi per basi di dati Accesso alla base di dati Linguaggi di definizione dei dati Utilizzati per definire gli schemi e le autorizzazioni per l accesso Linguaggi di manipolazione dei dati Utilizzati
DettagliLinguaggi 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
DettagliScopo Informatica. Sistema informativo. Sistema informatico. Gestione dell informazione per le lauree triennali
Scopo Informatica Gestione dell informazione per le lauree triennali LEZIONE 9 Elaborazione di dati: Basi di dati Informazione: difficile da definire ma a tutti è chiara l importanza della sua gestione
DettagliLa 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
DettagliD B M G. Linguaggio SQL: fondamenti. Operatori insiemistici. Operatore UNION Operatore INTERSECT Operatore EXCEPT
Linguaggio SQL: fondamenti Operatori insiemistici Operatore UNION Operatore INTERSECT Operatore EXCEPT 2007 Politecnico di Operatori insiemistici Operatore UNION Operatore insiemistico di unione A UNION
DettagliAlgebra Relazionale.
Algebra Relazionale foglia@iet.unipi.it Sommario Introduzione all algebra relazionale I costrutti principali dell algebra relazionale Esempi Esercitazione Basi di dati Ciclo di vita Finita la fase di progettazione
DettagliInformatica di Base 1 Linea 1
Informatica di Base 1 Linea 1 Jianyi Lin Dipp. di Matematica e Scienze dell Informazione Università degli Studi di Milano, Italia jianyi.lin@unimi.it a.a. 2011/12 1 c 2011 J.Lin, M. Monga. Creative Commons
DettagliBasi di Dati. prof. Letizia Tanca. Linguaggi formali di interrogazione per il Modello Relazionale dei Dati
Basi di Dati prof. Letizia Tanca Linguaggi formali di interrogazione per il Modello Relazionale dei Dati Linguaggi di interrogazione Ricordiamo: Permettono di trovare un dato basandosi sulle sue proprietà.
DettagliLinguaggio SQL: fondamenti D B M G
Linguaggio SQL: fondamenti Operatori insiemistici Operatore UNION Operatore INTERSECT Operatore EXCEPT Operatore UNION Operatore insiemistico di unione A UNION B Esegue l unione delle due espressioni relazionali
DettagliFILE E INDICI Architettura DBMS
FILE E INDICI Architettura DBMS Giorgio Giacinto 2010 Database 2 Dati su dispositivi di memorizzazione esterni! Dischi! si può leggere qualunque pagina a costo medio fisso! Nastri! si possono leggere le
DettagliBASI 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).
DettagliCorso di Basi di Dati
Corso di Basi di Dati Il Linguaggio SQL Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/ Il Linguaggio SQL SQL (Structured Query Language) è il linguaggio di riferimento per le basi di dati
DettagliInformatica II Basi di Dati (07/08) Parte 2. 4 Accesso ai dati di un DB. Accesso ai dati di un DB. Accesso ai dati di un DB
Informatica II Basi di Dati (07/08) Parte 2 Gianluca Torta Dipartimento di Informatica dell Università di Torino torta@di.unito.it, 0116706782 4 Accesso ai dati di un DB SQL Accesso ai dati di un DB Aggiornamento
DettagliIl Modello Relazionale e le operazioni
Il Modello Relazionale e le operazioni Prof. Giuseppe Di Capua UD 5 Modello Logico Nello sviluppo della teoria dei database sono emersi quattro tipi diversi di modelli per le basi di dati: 1. Modello gerarchico
DettagliREGISTRO DELLE LEZIONI
UNIVERSITÀ DEGLI STUDI DI GENOVA DIPARTIMENTO DI INFORMATICA, BIOINGEGNERIA, ROBOTICA E INGEGNERIA DEI SISTEMI CORSO DI LAUREA IN INFORMATICA REGISTRO DELLE LEZIONI del Corso Ufficiale nome: Basi di Dati
DettagliCorso 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
DettagliSistemi di Elaborazione delle Informazioni
SCUOLA DI MEDICINA E CHIRURGIA Università degli Studi di Napoli Federico II Corso di Sistemi di Elaborazione delle Informazioni Dott. Francesco Rossi a.a. 2017/2018 1 Sesta parte Interrogazione di una
DettagliSQL. 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
DettagliINTRODUZIONE ALLA PROGETTAZIONE. Patrizio Dazzi a.a
INTRODUZIONE ALLA PROGETTAZIONE Patrizio Dazzi a.a. 2017-2018 COMUNICAZIONI Lezione odierna e successive Metodologia di progetto Progettazione concettuale Progettazione logica Fondamentali per il secondo
DettagliIl modello relazionale
Il modello relazionale Studenti Nome Matricola Provincia AnnoNascita Isaia 071523 PI 1982 Rossi 067459 LU 1984 Bianchi 079856 LI 1983 Bonini 075649 PI 1984 Esami Materia Candidato* Data Voto BD 071523
DettagliSQL per le applicazioni. Basi di dati. Elena Baralis. Pag Politecnico di Torino 1 D B M G2 D B M G4 D B M G5 D B M G6. SQL per le applicazioni
Linguaggio SQL: costrutti avanzati Introduzione Concetto di cursore Aggiornabilità SQL statico e dinamico Embedded SQL Call Level Interface (CLI) Stored Procedure Confronto tra le alternative DB M B G
DettagliOperatori derivati dagli insiemi
Operatori derivati dagli insiemi Unione L unione fra due relazioni r 1 e r 2 definite sullo stesso schema X si indica con r 1 r 2 ed è una relazione su X contenente le tuple appartenenti a r 1, a r 2 o
DettagliCorso di Basi di Dati
Corso di Basi di Dati L Algebra Relazionale Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/ L algebra relazionale è un linguaggio (procedurale) di interrogazione per basi di dati relazionali.
Dettagli