Gli operatori relazionali



Documenti analoghi
Data management a.a Il linguaggio SQL

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

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

Linguaggi per basi di dati

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

Introduzione all Algebra Relazionale

Data la seguente tabella :

Modello Relazionale. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto san giovanni

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

Operazioni sui database

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

4 SQL : Interrogazioni nidificate

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

Basi di Dati e Sistemi Informativi. Algebra Relazionale

ESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7

Introduzione ai database relazionali

SQL (STRUCTURED QUERY LANGUAGE)

Basi di dati 9 febbraio 2010 Compito A

ALGEBRA RELAZIONALE RIEPILOGO

2.2b: RELAZIONI E BASI DI DATI. Atzeni, cap

Il linguaggio SQL: viste e tabelle derivate

Elementi di Algebra Relazionale

Il linguaggio SQL: viste e tabelle derivate. Versione elettronica: SQLd-viste.pdf

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

Informatica per le discipline umanistiche 2 lezione 10

Esercizio data base "Biblioteca"

Basi di Dati e Sistemi Informativi. Progettazione logica: Il modello relazionale

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

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:

Istruzioni SQL 1. Query di selezione 2 Istruzione SELECT 2 Istruzione SELECT DISTINCT 2 ORDER BY 3 WHERE 3 La condizione LIKE 4 BETWEEN AND 5

Algebra Relazionale e Calcolo Relazionale. L. Vigliano

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

Le Basi di Dati. Le Basi di Dati

TEORIA sulle BASI DI DATI

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

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

Politecnico di Milano - Facoltà di Ingegneria INFORMATICA A - Corso per allievi GESTIONALI - Prof. C. SILVANO A. A. 2001/ febbraio A

BASI DI DATI - : I modelli di database

Definizione di domini

Il linguaggio SQL: query innestate

Dati relazionali e XML

Esercitazione su SQL

Modello Relazionale. Modello Relazionale. Relazioni - Prodotto Cartesiano. Relazione: tre accezioni. Es. Dati gli insiemi

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

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

Archivi e Basi di Dati

Esercizio sui data base "Gestione conti correnti"

Capitolo 13. Interrogare una base di dati

MODULO 5 DATA BASE PROGRAMMA. Progettazione rapida introduzione alla progettazione di DB

SQL seconda 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 2012/13

Basi di Dati Corso di Laura in Informatica Umanistica

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

DATABASE RELAZIONALI

Esercitazione Simulazione Compito

Vincoli di integrità

Compito Basi di Dati. Tempo concesso: 90 minuti 08 Giugno 2006 Nome: Cognome: Matricola:

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

Introduzione ai Sistemi di Gestione di Basi di Dati XML

User Tools: DataBase Manager

Sistemi per la gestione di database: MySQL ( )

Esercizio 1. Cognome e nome:... Matricola:...

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

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

Informatica Generale Andrea Corradini Sistemi di Gestione delle Basi di Dati

DBMS (Data Base Management System)

Database Lezione 1. Sommario. - Introduzione - Tabelle e chiave primaria - Query - Calcoli ed alias - Ordinamento

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

Il Modello Relazionale

Progettazione di Database. Un Esempio

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

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

IL LINGUAGGIO SQL. Caratteristiche generali. Il comando Select. Le basi di dati ed il linguaggio SQL A.Lorenzi D.Rossi - ATLAS. Pag.

Basi Di Dati, 09/12/2003

Concetti fondamentali dei database database Cos'è un database Principali database

Basi di dati. Concetti Introduttivi ESEMPIO. Fisica, Analisi, Informatica. Entità Relazioni Interrogazioni. Database 2

Il numero di studentesse

Istruzioni DML di SQL

Normalizzazione. Normalizzazione. Normalizzazione e modello ER. Esempio. Normalizzazione

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

Elena Baralis 2013 Politecnico di Torino 1

Esame Basi di Dati. 21 Gennaio 2013

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

MAX, SUM, AVG, COUNT)

COGNOME MATRICOLA. Con vincoli di integrita referenziale: INTERVENTO.CodTecnico à TECNICO.Codice INTERVENTO.MatCaldaia à CALDAIA.

MODELLO RELAZIONALE. Introduzione

OSSIF WEB. Manuale query builder

Basi di Dati e Microsoft Access

I database. Cosa sono e a cosa servono i Database

MODELLO RELAZIONALE. cesarini-bdsi mod relazionale 1 MODELLO RELAZIONALE

Passo 2: avviare Access e creare una tabella per ogni tipo di entità Costruire la tabella per l entità cliente.

Introduzione alle Basi di Dati

Fondamenti di Teoria delle Basi di Dati

SQL - Funzioni di gruppo

Prova Scritta di Basi di Dati

Modello relazionale. ing. Alfredo Cozzi 1

Capitolo 4. Soluzione: Soluzione: Create domain STRING as character varying (256) default sconosciuto not null

Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro

Database 3 affitto veicoli. Testo del quesito

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

Transcript:

Gli operatori relazionali Agiscono su una o più relazioni per ottenere una nuova relazione (servono a realizzare le interrogazioni sul database) Ci sono tre operazioni fondamentali per i database relazionali: Selezione Proiezione Congiunzione L algebra relazionale: l'operazione di SELEZIONE La selezione (select) genera una nuova relazione costituita solo dalle n-tuple della relazione di partenza che soddisfano a una determinata condizione; vengono cioè selezionate le righe con i valori degli attributi corrispondenti alla condizione prefissata. La relazione ottenuta ha: grado uguale cardinalità minore o uguale (di solito minore)

Esempio Selezione di Studente per Indirizzo = "Torino" Studente Matricola Cognome Nome Indirizzo 2345 Rossi Antonio Milano 2456 Bianchi Mario Torino 5678 Rossi Luigi Milano 3341 Verdi Sara Torino 2245 Neri Antonella Torino 2333 Bruni Maria Roma 2222 Viola Valentina Perugia StudenteTorino Matricola Cognome Nome Indirizzo 2456 Bianchi Mario Torino 3341 Verdi Sara Torino 2245 Neri Antonella Torino SQL: SELECT * FROM Studente WHERE Indirizzo= Torino ;

L algebra relazionale: l'operazione di PROIEZIONE La proiezione (project) genera una nuova relazione estraendo dalla tabella iniziale due o più colonne corrispondenti agli attributi prefissati. La relazione risultante ha: grado minore o uguale cardinalità minore o uguale a quella di partenza (perché le righe uguali vengono ridotte a una).

Esempio Proiezione di Studente su Matricola e Cognome Studente Matricola Cognome Nome Indirizzo 2345 Rossi Antonio Milano 2456 Bianchi Mario Torino 5678 Rossi Luigi Milano 3341 Verdi Sara Torino 2245 Neri Antonella Torino 2333 Bruni Maria Roma 2222 Viola Valentina Perugia Matr&Cogn Matricola Cognome 2345 Rossi 2456 Bianchi 5678 Rossi 3341 Verdi 2245 Neri 2333 Bruni 2222 Viola SQL: SELECT Matricola, Cognome FROM Studente;

L algebra relazionale: l'operazione di CONGIUNZIONE La congiunzione (join) serve a combinare due relazioni aventi uno o più attributi in comune, generando una nuova relazione che contiene le righe della prima e della seconda tabella, che possono essere combinate secondo i valori uguali dell'attributo comune. La relazione risultante ha: grado uguale alla somma dei gradi delle relazioni di partenza meno uno, perché l'attributo comune compare una sola volta. cardinalità non prevedibile a priori, in quanto si ottengono solo le righe che possono essere combinate.

Esempio Studente Congiunzione di Studente su CodFac e di Facoltà su CodFac Matricola Cognome Nome Indirizzo CodFac 2345 Rossi Antonio Milano S23 2456 Bianchi Mario Torino L21 5678 Rossi Luigi Milano T45 3341 Verdi Sara Torino S23 2245 Neri Antonella Torino T45 2333 Bruni Maria Roma L21 2222 Viola Valentina Perugia L21 Facolta CodFac Descrizione Città S23 Economia Milano L21 Lingue Milano T45 Ingegneria Como Stud&Fac Matricola Cognome Nome Indirizzo CodFac Descrizione Città 2345 Rossi Antonio Milano S23 Economia Milano 2456 Bianchi Mario Torino L21 Lingue Milano 5678 Rossi Luigi Milano T45 Ingegneria Como 3341 Verdi Sara Torino S23 Economia Milano 2245 Neri Antonella Torino T45 Ingegneria Como 2333 Bruni Maria Roma L21 Lingue Milano 2222 Viola Valentina Perugia L21 Lingue Milano SQL: SELECT * FROM Studente, Facolta WHERE Studente.CodFac = Facolta.CodFac ;

Tipi di congiunzione (join) equi-join : corrispondenza di valori uguali per attributi comuni nelle due tabelle. join esterno (outer join) : restituisce le righe dell una e dell altra tabella anche se non sono presenti valori uguali per l attributo comune; di tutte queste vengono combinate solo le righe per le quali il valore dell attributo comune nella prima tabella trova un valore uguale nella colonna dell attributo comune nella seconda tabella. left join : elenca comunque tutte le righe della prima tabella congiungendo alle righe della seconda solo quelle per le quali si trovano valori corrispondenti per l attributo comune. right join : restituisce comunque tutte le righe della seconda tabella e di queste congiunge con le righe della prima tabella solo quelle per le quali si possono trovare valori corrispondenti per l attributo comune. self-join : vengono combinate righe di una tabella con le righe della stessa tabella quando sono presenti valori corrispondenti per attributi, cioè due attributi con lo stesso dominio.

Uso di più operatori Cognome, Nome e Descrizione della Facoltà per gli studenti che risiedono a Milano 1. Selezione di Studente per Indirizzo = "Milano" 2. Congiunzione della tabella ottenuta su CodFac e di Facoltà su CodFac 3. Proiezione della tabella ottenuta su Cognome, Nome, Descrizione Studente Matricola Cognome Nome Indirizzo CodFac 2345 Rossi Antonio Milano S23 2456 Bianchi Mario Torino L21 5678 Rossi Luigi Milano T45 3341 Verdi Sara Torino S23 2245 Neri Antonella Torino T45 2333 Bruni Maria Roma L21 2222 Viola Valentina Perugia L21 StudenteMilano Matricola Cognome Nome Indirizzo CodFac 2345 Rossi Antonio Milano S23 5678 Rossi Luigi Milano T45 StudenteMilano Matricola Cognome Nome Indirizzo CodFac 2345 Rossi Antonio Milano S23 5678 Rossi Luigi Milano T45 Facoltà CodFac Descrizione Città S23 Economia Milano L21 Lingue Milano T45 Ingegneria Como Stud&Descr Cognome Nome Descrizione Rossi Antonio Economia Rossi Luigi Ingegneria SQL: SELECT Studente.Cognome, Studente.nome, Facolta.Descrizione FROM Studente, Facolta WHERE ( (Studente.Indirizzo = Milano ) AND Studente.CodFac = Facolta.CodFac) ;