Basi di dati. Gabriella Trucco

Documenti analoghi
BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

BASI DATI: algebra relazionale

Sistemi di Elaborazione delle Informazioni

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

Informatica B. Introduzione alle Basi di Dati e ai DBMS

Informatica Grafica. Basi di dati parte 2

Vincoli di Integrità Referenziale

Structured Query Language

BASI DATI: modello relazionale

SQL. Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative

Interpretazione delle query nidificate

INTRODUZIONE AL 2 TEST IN ITINERE. a.a

SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA. 3. Panoramica su SQL Prof. Mauro Giacomini

Left Join, Right Join, Full Join

Informatica B. Introduzione alle Basi di Dati e ai DBMS

Algebra relazionale e interrogazioni

Esercizi di Informatica Documentale

Parte III. L algebra relazionale

Introduzione all algebra relazionale. Prof. Giovanni Giuffrida

Corso sul linguaggio SQL

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

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

ALGEBRA RELAZIONALE. DB -Algebra Relazionale 1

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

Il formato di base di un interrogazione in SQL è: SELECT R i1.c 1, R i2.c 2,..., R in.c n FROM R 1, R 2,..., R k WHERE F;

FONDAMENTI DI INFORMATICA 1

SQL QUERY: Le interrogazioni del database

PRODOTTO CARTESIANO Caso Generale

Sommario FONDAMENTI DI INFORMATICA 1. Sistemi informatici e sistemi informativi. Informazioni e dati BASI DI DATI

Corso sul linguaggio SQL

Il linguaggio SQL. TUTORATO DIFONDAMENTI DIINFORMATICA

Capitolo 9. Sistemi di basi di dati Pearson Addison-Wesley. All rights reserved

SQL - Sottointerrogazioni correlate

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

Scopo Laboratorio di Informatica

Introduzione alle basi di dati

Prova Scritta di Basi di Dati

Scopo. Informatica. Sistema informativo. Sistema informatico

Corso di Basi di Dati

Mattia Fazzi: 02/04/2019

Esercizi di Informatica Documentale

Corso di Informatica Linguaggio SQL prima parte

Introduzione alle basi di dati

PROGETTAZIONE DI DATABASE

Parte III L algebra relazionale

Esame di Basi di Dati

Operatori derivati dagli insiemi

IL LINGUAGGIO SQL LE BASI

insert into Dipartimento(NomeDip, Città) values('produzione','torino') insert into ProdottiMilanesi (select codice, descrizione from Prodotto

Inserimento. Cancellazione. Modifica. INSERT INTO Persone VALUES ('Mario',25,52) INSERT INTO Persone(Nome, Eta, Reddito) VALUES('Pino',25,52)

IL MODELLO RELAZIONALE

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

Informatica 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

Modello relazionale e algebra relazionale

Operazioni. Lezione 8. Operazioni Relazionali. Operazioni insiemistiche Intersezione: Operazioni insiemistiche Unione:

Informatica di Base 1 Linea 1

Modulo 2 Data Base 3

LABORATORIO di INFORMATICA

Introduzione al Modello Relazionale

Basi di dati (database)

Interrogare una base di dati: Algebra relazionale e SQL. Gaetano Anastasi Davide Barcelli Massimo Emiliano Ciaramello Giacoma Monreale

DataBase Management System - DBMS

Join (naturale) Join. Join. Join

Dati una relazione r(x) e un sottoinsieme Y di X, la proiezione di r su Y si indica con

Algebra Relazionale.

Basi di dati e Relazioni

SQL DDL. Create database. Alter database. Drop database

Corso di Basi di Dati A.A. 2015/2016

Lezioni di Laboratorio sui Data Base

Fondamenti di Informatica A. A / 1 9

Scopo Informatica. Sistema informativo. Sistema informatico. Gestione dell informazione per le lauree triennali

Linguaggi di interrogazione. linguaggi interrogazione 1

Basi di dati - Laboratorio

E possibile ordinare le righe del risultato di una interrogazione attraverso la clausola order by, a chiusura di una interrogazione.

PIL Percorsi di Inserimento Lavorativo

Informatica. per laurea triennale di area non informatica. 1 Le basi di dati

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

Lezione 6. Algebra e Calcolo Relazionale

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

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

Prefazione. Parte Prima Basi di dati relazionali: modello e linguaggi 15

D B M G. Sistemi informativi. Modello relazionale e algebra relazionale. Modello relazionale. Algebra relazionale

Basi di dati I 6 settembre 2018 Tempo a disposizione: un ora e 45 minuti.

Lezione 5. Il Modello dei Dati Relazionale Vincoli sui Database Relazionali

Sommario. Introduzione... 13

DBMS (Data Base Management System)

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"

Informatica documentale Laurea in Scienze della Comunicazione Prova scritta del 25 giugno Cognome e nome: Matricola:

Principi di Progettazione del Software a.a Il linguaggio SQL. Il Linguaggio SQL

Il Modello Relazionale e le operazioni

Lezione 3. Il modello relazionale

D B M G 2. Linguaggio SQL: fondamenti. Istruzioni di aggiornamento. Introduzione Istruzione INSERT Istruzione DELETE Istruzione UPDATE

Università degli Studi di Enna Kore Facoltà di Ingegneria ed Architettura

Database parte 2. Database azienda

QL (Query Language) Alice Pavarani

Instanze inconsistenti. Informatica II Basi di Dati (07/08) Parte 2. Instanze inconsistenti. Vincoli di integrità

CALCOLO DEL COSTO DI JOIN. costo di join 1

Transcript:

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 in cui è possibile estrarre da un database le informazioni di interesse. Operazioni Selezione (d) Proiezione (p) Join ( ) e natural join (*)

Operatore di selezione Usato per selezionare da una relazione un sottoinsieme di tuple che soddisfano un certo criterio Una operazione di selezione si specifica tramite la seguente espressione: d condizione (relazione) Una operazione di selezione restituisce una relazione con il medesimo schema, ma con le sole tuple che soddisfano la condizione

Esempio Selezioniamo il questionario dello studente di matricola '120142'

Esempio Selezioniamo i questionari delle ragazze

Esempio Selezioniamo i questionari delle ragazze con meno di 32 anni

Operatore di proiezione Seleziona dalla relazione solo le colonne specificate Una operazione di proiezione si specifica tramite la seguente espressione: p attributi (relazione) Una operazione di proiezione restituisce una relazione con differente schema, ma con le stesse tuple della relazione originaria

Esempio Consideriamo l'operazione: restituisci le colonne matricola ed r1

Sequenze di operatori Consideriamo l'operazione: restituisci le colonne matricola ed r1 dalle tuple in cui il sesso è 'f

Operatore di join Usata per combinare tuple provenienti da più relazioni in uniche tuple, secondo un determinato criterio Una operazione di join si specifica tramite la seguente espressione:

Esempio Consideriamo l'operazione: restituisci tutte le informazioni circa i pazienti e le rispettive sedi elettorali

Natural join L'operatore di join è fondamentale perché permette di reperire informazioni che sono contenute in relazioni tra loro collegate tramite chiavi esterne In tal caso, è possibile ricorrere al natural join Il natural join è essenzialmente il join su tabelle collegate secondo quanto espresso dal vincolo di integrità referenziale

Integrità referenziale Date due relazioni R1 e R2 ed un insieme di attributi FK di R1 e PK di R2, l insieme di attributi FK di uno schema R1 è una chiave esterna di R1 se il valore di FK presente in una tupla t1 di R1 corrisponde al valore della chiave primaria PK di una tupla t2 di R2, cioè t1[fk] = t2[pk], oppure assume valore nullo

Integrità referenziale

Natural join

Esempio Siccome pazienti.numero_sede_elettorale è chiave esterna per sedi_elettorali.numero, allora

Composizione di una query Una query in algebra relazionale si può sempre scrivere come: p attributi (d criterio (r1 * r2*.* rn)) Per comporre una query in algebra relazionale 1. Identificare le tabelle che contengono i dati oggetto della query, e metterle nei natural join 2. Identificare la parte della query che rappresenta il criterio di selezione delle righe 3. Identificare la parte della query che specifica quali attributi vogliamo ottenere in uscita tramite proiezione

Esempio 1

Esempio 2

Esempio 3

Esempio 4 Età e distanza dall'azienda chimica di tutti i pazienti di sesso femminile

Esempio 4

Esempio 4

Esempio 4

Esempio 5

Esempio 5

Esempio 5

Esempio 5

Esempio 5

SQL Structured Query Language Linguaggio standard usato da ogni DBMS per l'interrogazione dei dati Può creare/distruggere database creare/alterare/distruggere tabelle inserire/rimuovere dati interrogare la base di dati

Selezione Il comando SQL per estrarre dati da un DB è SELECT La query di selezione si compone di (almeno) tre parti Gli attributi da restituire Le tabelle da cui estrarre i dati Il criterio di selezione... più eventuali indicazioni circa l'ordinamento, ecc.

Selezione

SQL e algebra relazionale Data una query scritta in algebra relazionale, è possibile scrivere la corrispondente query in SQL seguendo il seguente schema: 1. Gli attributi del p diventano gli attributi della parte SELECT 2. Le tabelle messe in * si elencano nella lista delle tabelle della parte FROM 3. Il criterio di selezione e le condizioni di natural join diventano il criterio della parte WHERE

Esempio 1

Esempio 2

Esempio 3

Esempio 4

Esempio 5