BASI DATI: algebra relazionale

Размер: px
Начинать показ со страницы:

Download "BASI DATI: algebra relazionale"

Транскрипт

1 BASI DATI: algebra relazionale BIOINGEGNERIA ED INFORMATICA MEDICA 1

2 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

3 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

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

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

6 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

7 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

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

9 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

10 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

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

12 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

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

14 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

15 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

16 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 < Voglio il solo sesso come attributo: sesso 16

17 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

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

19 Esempi di query in algebra relazionale (4) 19

20 Esempi di query in algebra relazionale (4) 20

21 Esempi di query in algebra relazionale (4) 21

22 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

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

24 Esempi di query in algebra relazionale (6) 24

25 Esempi di query in algebra relazionale (6) 25

26 Esempi di query in algebra relazionale (6) 26

27 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

28 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

29 SELECT La forma di una SELECT 29

30 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

31 Pazienti maschi 31

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

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

34 Paziente e DRG 34

35 Conteggio di tuple 35

36 Valori medi 36

37 Raggruppamento 37

38 Ultima query 38

39 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

BASI DATI: modello relazionale

BASI DATI: modello relazionale BASI DATI: modello relazionale BIOINGEGNERIA ED INFORMATICA MEDICA 1 Il modello relazionale Il modello relazionale fu introdotto da Codd (1970) e si basa su una semplice ed uniforme struttura dati chiamata

Подробнее

Interrogare 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 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 è

Подробнее

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

Tipi 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

Подробнее

SQL QUERY: Le interrogazioni del database

SQL 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

Подробнее

Structured Query Language

Structured 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

Подробнее

Lezione 6. Algebra e Calcolo Relazionale

Lezione 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

Подробнее

Equivalenza di Espressioni Algebriche

Equivalenza 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

Подробнее

Algebra relazionale: operazioni

Algebra 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

Подробнее

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

Query. Query (Interrogazioni) SQL SQL. Significato dell interrogazione. Sintassi Informatica della Facoltà di Lingue e Letterature dell Università degli Studi di Torino. Qualsiasi altro Query (Interrogazioni) SQL Materiale aggiuntivo per il corso di laurea in Lingue e Culture per il

Подробнее

QL (Query Language) Alice Pavarani

QL (Query Language) Alice Pavarani QL (Query Language) Alice Pavarani QL Query Language Linguaggio di interrogazione dei dati, permette di: Interrogare la base di dati per estrarre informazioni Elaborare i dati Il risultato di un interrogazione

Подробнее

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

SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA. 3. Panoramica su SQL Prof. Mauro Giacomini SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA 3. Panoramica su SQL Prof. Mauro Giacomini Sommario Introduzione Istruzione SELECT Tipi di Join Subquery Comandi DML Creazione delle tabelle Introduzione

Подробнее

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 3 Raffaella Gentilini 1 / 52 Sommario 1 Il DML di SQL: Interrogazione di una BD 2 / 52 Data Manipulation Language (DML) Istruzioni del DML Le istruzioni del DML

Подробнее

Interrogazioni nidificate

Interrogazioni nidificate Interrogazioni nidificate Nella clausola where si possono utilizzare valori prodotti da altre istruzioni select utilizzando any (qualsiasi) o all (tutti) insieme agli operatori di confronto Trovare nome,

Подробнее

MODULO 2. Query normali e parametriche Query di:

MODULO 2. Query normali e parametriche Query di: MODULO 2 TITOLO DBMS e SQL In questo Modulo si affronta lo studio dei DBMS Access e MySQL. In particolare per Access, si descrive come progettare, impostare e modificare gli strumenti di lavoro (tabelle,

Подробнее

Left Join, Right Join, Full Join

Left Join, Right Join, Full Join Left Join, Right Join, Full Join Consideriamo il solito schema di database dell'ultima verifica. Ipotizziamo inoltre che tra le due relazioni sia impostato un vincolo di Integrità Referenziale. Modello

Подробнее

ALGEBRA RELAZIONALE. L algebra relazionale

ALGEBRA 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

Подробнее

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

Bibliografia. INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. Definizione di DB e di DBMS INFORMATICA GENERALE DBMS: Introduzione alla gestione dei dati Bibliografia 4 ott 2011 Dia 2 Curtin, Foley, Sen, Morin Vecchie edizioni: 8.4, 8.5, 8.6, 8.7, 8.8 Edizione dalla IV in poi: 6.5, 21.1, 19.4,

Подробнее

Esercitazioni Basi di dati e web Dario Facchinetti

Esercitazioni Basi di dati e web Dario Facchinetti Esercitazioni Basi di dati e web Dario Facchinetti - 2019 [email protected] https://cs.unibg.it/dariofad/esercitazioni/bdweb2019.htm Organizzazione 3 incontri 3h 26/03 - introduzione, algebra

Подробнее

Elena Baralis 2007 Politecnico di Torino 1

Elena Baralis 2007 Politecnico di Torino 1 Introduzione Istruzione INSERT Istruzione DELETE Istruzione UPDATE Linguaggio SQL: fondamenti 2 (1/3) Inserimento di tuple Cancellazione di tuple Modifica di tuple 4 (2/3) INSERT inserimento di nuove tuple

Подробнее

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 4 Raffaella Gentilini 1 / 46 Sommario 1 Join di Tabelle Join Naturale Theta Join Join Esterno 2 3 Funzioni d aggregazione La Clausola GROUP BY La Clausola HAVING

Подробнее

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

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

Подробнее

SQL: le funzioni di aggregazione

SQL: le funzioni di aggregazione SQL: le funzioni di aggregazione funzioni predefinite che agiscono sui valori contenuti in insiemi di righe della tabella: Conteggi Somme Medie Massimi, minimi Funzione Count La funzione COUNT conta il

Подробнее

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

Le basi di dati. Base di dati = dati + DBMS. Le basi di dati. Lo scopo di una base di dati è la gestione dell informazione (in genere una grande quantità di informazione). L informazione è difficile da definire, dal momento che i database vengono

Подробнее

Caratteristiche dei linguaggi per Database

Caratteristiche dei linguaggi per Database IL LINGUAGGIO Caratteristiche dei linguaggi per Database I linguaggi per basi di dati relazionali possiedono i comandi per: definizione del data base; manipolazione dei dati; associazione tra tabelle diverse;

Подробнее

SQL - Sottointerrogazioni correlate

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

Подробнее