Scaricare la presentazione
1
Operazioni Relazionali
2
Operazioni relazionali
Le operazioni relazionali consentono di interrogare una basi di dati relazionale, per ottenere le informazioni desiderate, estraendo da una tabella una sottotabella o combinando tra loro due o più tabelle (Agiscono su una relazione per ottenere una nuova relazione). Nel tempo sono stati proposti diversi linguaggi per l’interrogazione delle basi di dati relazionali, la maggior parte di essi utilizza un approccio basato sull’algebra relazionale. In questo approccio il risultato di un’interrogazione (o query) è una relazione. Per ottenere tale relazione si formula un’interrogazione, utilizzando alcuni operatori di algebra relazionale. Tali operatori vengono composti tra loro e applicati alle relazioni della base di dati.
3
Selezione La selezione genera una nuova relazione costituita solo dalle n-uple della relazione di partenza che soddisfano una determinata condizione; vengono cioè selezionate le righe con i valori degli attributi corrispondenti alla condizione prefissata. La relazione ottenuta possiede tutte le colonne della relazione di partenza e quindi ha lo stesso grado; la cardinalità della nuova relazione può essere minore o uguale alla tabella di partenza (solitamente è minore).
4
Selezione: esempio 1 Clienti IDCliente Nome Cognome Provincia PIva 1
Mario Bianchi Mi 2 Carlo Rossi Ba 3 Paolo Neri Ca 4 Anna Verdi 5 6 Maria 7 Pa Se si vuole l'elenco dei clienti della provincia di Milano, si effettua sulla relazione Clienti una selezione per Provincia =“MI” estraendo dalla tabella tutte le righe che hanno quel valore per l'attributo provincia, ottenendo così una nuova tabella.
5
Selezione: esempio 1 Clienti IDCliente Nome Cognome Provincia PIva 1
Mario Bianchi Mi 2 Carlo Rossi Ba 3 Palo Neri Ca 4 Anna Verdi 5 6 Maria 7 Pa
6
Selezione: esempio 1 Utilizzando un linguaggio di pseudocodifica, l’operazione di selezione viene indicata nel seguente modo: σ Provincia = “Mi” Clienti IDCliente Nome Cognome Provincia PIva 1 Mario Bianchi Mi 4 Anna Verdi 6 Maria Rossi
7
Selezione: esercizio Data la seguente relazione:
Eseguire le seguenti interrogazioni: Quali sono gli impiegati che guadagnano più di 50 euro e lavorano a Milano
8
Selezione: soluzione 1
9
Selezione: soluzione 2
10
Proiezione La proiezione genera una nuova relazione estraendo dalla relazione iniziale solo alcune colonne corrispondenti agli attributi prefissati. La relazione risultante ha grado minore o uguale al grado della relazione di partenza; la cardinalità è minore o uguale a quella di partenza.
11
Proiezione: esempio Clienti IDCliente Nome Cognome Provincia PIva 1 Mario Bianchi Mi 2 Carlo Rossi Ba 3 Paolo Neri Ca 4 Anna Verdi 5 6 Maria 7 Pa Se si vuole l'elenco dei nomi e cognomi dei clienti, occorre applicare alla relazione Clienti l’operazione di proiezione secondo gli attributi Nome e Cognome
12
Proiezione: esempio Π Nome, Cognome Clienti Nome Cognome Mario Bianchi
Carlo Rossi Paolo Neri Anna Verdi Maria
13
Proiezione: esercizio
Eseguire le seguenti interrogazioni: Matricola e Cognome di tutti gli impiegati; Cognome e Filiale di tutti gli impiegati.
14
Proiezione:soluzione 1
15
Proiezione:soluzione 2
16
Combinazioni Combinando selezioni e proiezioni possiamo estrarre interessanti informazioni dalle relazioni. Esempio:
17
Giunzione La congiunzione (join) serve a combinare due relazioni aventi uno o più attributi in comune, generando una nuova relazione contenente le righe della prima e della seconda tabella, che possono essere combinate secondo i valori uguali dell’attributo comune. A B a1 b1 a2 b2 a3 b3 a4 B C b1 c1 b2 c2 b3 c3 b4 c4 A B C a1 b1 c1 a2 b2 c2 a3 b3 c3 a4 Il grado della relazione generata è uguale a N1+N2–1, dove N1 e N2 sono i gradi delle relazioni di partenza; la cardinalità non è prevedibile a priori.
18
Giunzione: esempio Impiegati.Reparto Reparti.Codice
19
Combinazioni di operazioni
Gli operatori possono essere applicati alle tabelle anche in successione, combinandoli tra loro in vario modo. Vengono così effettuate interrogazioni sulle relazioni ottenute come risultato di un’interrogazione precedente. Esempio: ( ( ) ) Impiegati.Reparto Reparti.Codice Impiegato Capo = “Bruni”
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.