BASI DATI: algebra relazionale
|
|
|
- Adolfo Adamo
- 9 anni fa
- Просмотров:
Транскрипт
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 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 Contesto didattico Il seguente materiale didattico è
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
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
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 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 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
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
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 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 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 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 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 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 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 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
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 - 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
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 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 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 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. 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
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 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
