BASI DATI: algebra relazionale



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

Basi di dati. Gabriella Trucco

BASI DATI: modello relazionale

BASI DATI: modello relazionale

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

Sistemi di Elaborazione delle Informazioni

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

SQL QUERY: Le interrogazioni del database

Introduzione all algebra relazionale. Prof. Giovanni Giuffrida

Informatica Grafica. Basi di dati parte 2

Structured Query Language

Scopo Laboratorio di Informatica

Scopo. Informatica. Sistema informativo. Sistema informatico

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

Modulo 2 Data Base 3

Vincoli di Integrità Referenziale

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;

Esercizi di Informatica Documentale

Lezione 6. Algebra e Calcolo Relazionale

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

Basi di dati (database)

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

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

Parte III. L algebra relazionale

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

Esame di Basi di Dati

Equivalenza di Espressioni Algebriche

Operatori aggregati. Un operatore aggregato è una funzione che si applica ad un insieme di tuple di una tabella

Corso di Informatica Medica

(Lezione SQL 3) Barbara Di Camillo Dipartimento di Ingegneria dell Informazione. Università degli Studi di Padova

Corso di Basi di Dati

Algebra relazionale: operazioni

Informatica B. Introduzione alle Basi di Dati e ai DBMS

Parte III L algebra relazionale

Basi di dati. Linguaggi di interrogazione

Basi di dati - Laboratorio

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

Esercizi di Informatica Documentale

QL (Query Language) Alice Pavarani

ALGEBRA RELAZIONALE. DB -Algebra Relazionale 1

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

Corso sul linguaggio SQL

INTRODUZIONE AI DBMS. Inoltre i fogli elettronici. Mentre sono poco adatti per operazioni di. Prof. Alberto Postiglione

INTRODUZIONE AI DBMS

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

INTRODUZIONE AL 2 TEST IN ITINERE. a.a

Linguaggi per basi di dati e SQL

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

Basi di Dati: Corso di laboratorio

Linguaggi di interrogazione. linguaggi interrogazione 1

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

Interpretazione delle query nidificate

Interrogazioni nidificate

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

ALGEBRA'RELAZIONALE'

Basi di dati I 22 settembre 2014 Tempo a disposizione: un ora e trenta minuti.

Corso di Basi di Dati

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

Operatori derivati dagli insiemi

Informatica B. Introduzione alle Basi di Dati e ai DBMS

MODULO 2. Query normali e parametriche Query di:

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

Left Join, Right Join, Full Join

Algebra relazionale e interrogazioni

ALGEBRA RELAZIONALE. L algebra relazionale

Introduzione alle basi di dati

Fondamenti di Teoria delle Basi di Dati

Bibliografia. INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. Definizione di DB e di DBMS

Esercitazioni Basi di dati e web Dario Facchinetti

Introduzione alle basi di dati

Elena Baralis 2007 Politecnico di Torino 1

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

Elena Baralis 2013 Politecnico di Torino 1

Mattia Fazzi: 02/04/2019

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

Basi di Dati: Corso di laboratorio

Le Basi di Dati. Sommario. Sistema Informatico. Sistema Informativo. Fondamenti di Informatica Anno Accademico 2010/2011

Le Basi di Dati. Fondamenti di Informatica Anno Accademico 2010/2011. Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia

Informatica di Base 1 Linea 1

Algebra Relazionale. Interrogazione Basi di Dati. Algebra relazionale. Algebra relazionale. Unione. Algebra relazionale

Linguaggi per Basi di Dati - 1. Algebra Relazionale. Algebra Relazionale. Linguaggi per Basi di Dati - 2. Operatori Insiemistici.

Algebra relazionale. Algebra relazionale. Operatori dell algebra relazionale. Operatori dell algebra relazionale. Algebra relazionale.

Algebra Relazionale. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

FONDAMENTI DI INFORMATICA 1

SQL: le funzioni di aggregazione

Corso sul linguaggio SQL

Il linguaggio SQL. TUTORATO DIFONDAMENTI DIINFORMATICA

INFORMATICA GENERALE Prof. Alberto Postiglione Scienze della Comunicazione Università degli Studi di Salerno GESTIONE DEI DATI

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

Algebra Relazionale.

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

APPUNTI DI DATABASE - 25/10/2018

Prova Scritta di Basi di Dati

Caratteristiche dei linguaggi per Database

SQL - Sottointerrogazioni correlate

Aggiornamenti e Interrogazioni

IL LINGUAGGIO SQL LE BASI

Transcript:

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). In altri termini, l'algebra relazionale è la formalizzazione matematica del modo in cui è possibile estrarre da un database le informazioni di interesse. 1. Operazione di selezione σ(condizione sul valore della tupla) 2. Operazione di proiezione π(sottoinsieme di attributi della tupla) 3. Operazioni insiemistiche (unione, intersezione, differenza) 4. Operazione di join 2

L'operatore di selezione (1) Selezione σ L'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: σ condizione (relazione) Una operazione di selezione, quindi, restituisce una relazione con il medesimo schema, ma con le sole tuple che soddisfano la condizione 3

L'operatore di selezione (2) Ad esempio, consideriamo di voler selezionare il questionario dello studente di matricola '120142 σ matricola= 120141 (questionari_studenti) 4

L'operatore di selezione (3) Ad esempio, consideriamo di voler selezionare i questionari delle ragazze σ sesso= f (questionari_studenti) 5

L'operatore di selezione (4) Ad esempio, consideriamo di voler selezionare i questionari delle ragazze con meno di 30 anni σ sesso= f AND eta<30 (questionari_studenti) 6

L'operatore di proiezione (1) Proiezione π L'operazione di proiezione π seleziona dalla relazione solo le colonne specificate Una operazione di proiezione si specifica tramite la seguente espressione: π proiezione (relazione) Una operazione di proiezione, quindi, restituisce una relazione con differente schema, ma con le stesse tuple della relazione originaria 7

L'operatore di proiezione (2) Ad esempio, consideriamo l'operazione seguente (i.e. restituisci le colonne «matricola» e «r1») π matricola,r1 (questionari_studenti) 8

Sequenze di operatori Ad esempio, consideriamo l'operazione seguente (i.e. restituisci le colonne matricola e r1 dalle tuple in cui il sesso è f ) π matricola,r1 (σ sesso= f (questionari_studenti)) 9

Operazione di join (1) Join L'operazione di join viene 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: 10

Operazione join (2) Ad esempio, consideriamo l'operazione seguente (i.e. restituisci tutte le informazioni circa i pazienti e le rispettive sedi elettorali) 11

Natural join (1) L'operatore di join e 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 12

Natural join (2) Siccome pazienti.numero sede elettorale è chiave esterna per sedi elettorali.numero, allora 13

Come si compone una query Una query in algebra relazionale si può sempre scrivere come: π attributi (σ criterio (r 1 r 2 r n )) 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 14

Esempi di query in algebra relazionale (1) 1. Una sola tabella è coinvolta nella query: pazienti 2. Il criterio di selezione indica i soli maschi: sesso='m' 3. Voglio tutti gli attributi: nessun π 15

Esempi di query in algebra relazionale (2) 1. Una sola tabella è coinvolta nella query: pazienti 2. Il criterio di selezione indica una età < di 30: eta < 30 3. Voglio il solo sesso come attributo: sesso 16

Esempi di query in algebra relazionale (3) 1. Due tabelle sono coinvolte nella query: pazienti, sedi elettorali 2. Il criterio di selezione indica il sesso femminile: sesso='f' 3. Voglio il solo sesso come attributo: eta, distanza 17

Esempi di query in algebra relazionale (4) Età e distanza dall'azienda chimica di tutti i pazienti di sesso feminile 18

Esempi di query in algebra relazionale (4) 19

Esempi di query in algebra relazionale (4) 20

Esempi di query in algebra relazionale (4) 21

Esempi di query in algebra relazionale (5) 1. Tre tabelle sono coinvolte nella query: pazienti,soffre, patologie (N.B. anche le tabelle intermedie devono essere considerate) 2. Il criterio di selezione non è specificato: nessun π 3. Voglio l'età, il sesso e il DRG come attributi: eta, sesso, DRG 22

Esempi di query in algebra relazionale (6) Eta, sesso e DRG di tutti i pazienti 23

Esempi di query in algebra relazionale (6) 24

Esempi di query in algebra relazionale (6) 25

Esempi di query in algebra relazionale (6) 26

SQL 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 27

SELECT Il comando SQL per estrarre dati da un DB la SELECT La SELECT 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, etc. 28

SELECT La forma di una SELECT 29

L'SQL e l'algebra relazionale Data una query scritta in algebra relazionale, è possibile scrivere la corrispondente query in SQL seguendo il seguente schema: 1. Gli attributi del π 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 Le condizioni di natural join sono l'equivalenza della chiave primaria con la chiave esterna della tabella collegata dal join 30

Pazienti maschi 31

Il sesso dei pazienti di età inferiore ai 30 anni 32

Paziente e distanza 33 Quando esistono delle omonimie, è necessario specificare da quale relazione preleviamo gli attributi

Paziente e DRG 34

Conteggio di tuple 35

Valori medi 36

Raggruppamento 37

Ultima query 38

Esercizio Si progetti una base di dati che contenga le informazioni necessarie per la gestione dell agenda degli appuntamenti di un medico di base. Il sistema a cui si sta pensando deve consentire al medico di: gestire gli appuntamenti dal lunedì al venerdì, a partire dalle ore 8:00 alle ore 19:00. (fissare gli appuntamenti, visionare gli appuntamenti, rimuovere un appuntamento); ogni appuntamento dura 1 ora. gestire le informazioni ricevute dal telefono durante la conversazione telefonica gestire le informazioni relative alle prescrizioni terapeutiche annotare i dati dei pazienti all interno dell agenda, per poter gestire gli appuntamenti di una intera settimana. Per ogni paziente si dovranno memorizzare il nome, cognome,l anno di nascita; Il sistema dovrà fornire al medico: 1. la lista dei pazienti visitati nel mese precedente 2. la lista degli appuntamenti presi per il mese corrente 3. per ogni paziente la lista di tutti gli appuntamenti presi e delle visite eseguite 4. la lista dei farmaci prescritti 5. selezionato il paziente Pippo, la lista dei Codici Impegnativa emessi per la prescrizione dei farmaci in terapia. 39