logica dei predicati



Похожие документы
(anno accademico )

Calcolo Relazionale Basi di dati e sistemi informativi 1. Calcolo Relazionale. Angelo Montanari

Algebra di Boole ed Elementi di Logica

Fondamenti di Teoria delle Basi di Dati

Il linguaggio SQL: query innestate

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

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

Algebra Relazionale e Calcolo Relazionale. L. Vigliano

Vincoli di integrità

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

x u v(p(x, fx) q(u, v)), e poi

Organizzazione degli archivi

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

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

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

ALGEBRA RELAZIONALE RIEPILOGO

Introduzione all Information Retrieval

MODELLO RELAZIONALE. Introduzione

Linguaggi per basi di dati

Alcune nozioni di base di Logica Matematica

Progettazione di Basi di Dati

Introduzione alla teoria dei database relazionali. Come progettare un database

Interrogazioni nidificate, commenti

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica.

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

Il Modello Relazionale

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

Algebra e Logica Matematica. Calcolo delle proposizioni Logica del primo ordine

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

Operazioni sui database

6.6 Il calcolo relazionale su tuple

Derivate Limiti e funzioni continue

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

f: AxB f(x)=y, f={<x,y> per ogni x in A esiste unica y in B f(x)=y} f={<1,2>, <2,3>, <3,3>} : {1,2,3} {1,2,3} f(1)=2, f(2)=3, f(3)=3

Basi di Dati e Sistemi Informativi. Algebra Relazionale

Fondamenti di Teoria delle Basi di Dati

Calcolatori: Algebra Booleana e Reti Logiche

ALGEBRA DELLE PROPOSIZIONI

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

Introduzione all Algebra Relazionale

Lezione 8. La macchina universale

Algebra booleana. Si dice enunciato una proposizione che può essere soltanto vera o falsa.

Capitolo 13. Interrogare una base di dati

SQL/OLAP. Estensioni OLAP in SQL

Elementi di Algebra Relazionale

BASE DI DATI: sicurezza. Informatica febbraio ASA

Elena Baralis 2013 Politecnico di Torino 1

ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 2

Reti Logiche. Le reti logiche sono gli elementi architettonici di base dei calcolatori, e di tutti gli apparati per elaborazioni digitali.

Ricerca Operativa e Logistica

Data Warehousing (DW)

I.I.S. Primo Levi Badia Polesine A.S

Appunti di Logica Matematica

Il Modello Relazionale

FORME NORMALI E DIPENDENZE

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

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione

CONCETTO DI LIMITE DI UNA FUNZIONE REALE

Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1

Normalizzazione. Relazionali

Introduzione ai Sistemi di Gestione di Basi di Dati XML

Predicati e Quantificatori

Intelligenza Artificiale. Lezione 23. Intelligenza Artificiale Daniele Nardi, 2003 Lezione 23 0

Linguaggi. Claudio Sacerdoti Coen 11/04/ : Semantica della logica del prim ordine. Universitá di Bologna

Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli

Lezione 2. Il modello entità relazione

Database. Si ringrazia Marco Bertini per le slides

Logica del primo ordine

Basi di Dati Multimediali. Fabio Strocco

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

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

Il Modello Relazionale

SISTEMI DI NUMERAZIONE E CODICI

Informatica Generale (Prof. Luca A. Ludovico) Presentazione 5.1 Operazioni aritmetiche nel sistema binario

Siti web centrati sui dati Architettura MVC-2: i JavaBeans

database: modello entityrelationship

Informatica Generale Andrea Corradini Sistemi di Gestione delle Basi di Dati

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

Algebra e calcolo relazionale. Ripasso. Le 7 Virtù del DBMS persistenza affidabilità volume condivisione riservatezza efficienza efficacia

SQL IL LINGUAGGIO DI INTERROGAZIONE

MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c

Semantica dei programmi. La semantica dei programmi è la caratterizzazione matematica dei possibili comportamenti di un programma.

Architettura MVC-2: i JavaBeans

Appunti di informatica. Lezione 2 anno accademico Mario Verdicchio

LEZIONE 31. B i : R n R. R m,n, x = (x 1,..., x n ). Allora sappiamo che è definita. j=1. a i,j x j.

Le equazioni. Diapositive riassemblate e rielaborate da prof. Antonio Manca da materiali offerti dalla rete.

Il Capital asset pricing model è un modello di equilibrio dei mercati, individua una relazione tra rischio e rendimento, si fonda sulle seguenti

Osservazioni sulla continuità per le funzioni reali di variabile reale

x (x i ) (x 1, x 2, x 3 ) dx 1 + f x 2 dx 2 + f x 3 dx i x i

NORMALIZZAZIONE DI SCHEMI RELAZIONALI. Prof.ssa Rosalba Giugno

Esercitazione ER e Algebra Relazionale

4 Dispense di Matematica per il biennio dell Istituto I.S.I.S. Gaetano Filangieri di Frattamaggiore EQUAZIONI FRATTE E SISTEMI DI EQUAZIONI

SVILUPPO IN SERIE DI FOURIER. Prof. Attampato Daniele

SQL: concetti base SQL. Definizione dei dati in SQL. SQL: "storia"

Транскрипт:

Calcolo relazionale Calcolo relazionale: logica dei predicati, dove la semantica di ogni predicato esprime una condizione sui dati. E un linguaggio di query, dichiarativo: il risultato è dato da una descrizione formale del risultato, senza specificare come ottenerlo. Elementi base: costanti variabili, il cui dominio è dato da: valori sui domini degli attributi (calcolo relazionale sui domini DRC) tuple (calcolo relazionale sulle tuple TRC) operatori di confronto operatori logici quantificatori Gli elementi base sono combinati a formare espressioni del calcolo relazionale, dette formule.

Calcolo relazionale sui domini Formato query DRC: { < x 1,x 2,,x n > F } x 1,x 2,,x n VAR sono variabili. L insieme delle variabili è detto obiettivo. F FBF è una formula di logica dei predicati. Il risultato della query è dato da tutte le tuple < x 1,x 2,,x n > che rendono vera F.

Calcolo relazionale sui domini Definizione (Formule DRC) Passo base: formule atomiche < x 1,x 2,,x n > r, dove x 1,x 2,,x n VAR ed r è una relazione. x i op x j, dove x i,x j VAR ed op {<,>,<=,>=,<>,=}. x i op k, dove x i VAR, op {<,>,<=,>=,<>,=} e k è una costante. Passo induttivo: formule composte se F e G sono formule, allora lo sono anche ( F) e (F G), dove è un qualunque connettivo binario. se F è una formula, allora lo sono anche x(f) e x(f), dove x VAR occorre libera in F.

Calcolo relazionale sui domini Definizione La variabile x in x(f) o x(f) si dice legata. Una variabile che non è legata da nessun quantificatore (esistenziale o universale) si dice libera. NOTA: Le variabili x 1,x 2,,x n di una query { <x 1,x 2,,x n > F } sono le uniche variabili libere della formula F.

DRC: esempi Trovare tutti i marinai con rate maggiore di 7. {< I, N, R, A> < I, N, R, A> s R > 7} variabili libere La condizione garantisce che il dominio delle variabili libere sia limitato dal domino degli attributi dello schema di relazione della relazione s Ogni tupla nella risposta deve soddisfare questa condizione Il DRC ha la stessa espressività dell algebra relazionale.

DRC: esempi Trovare tutti i marinai con rate maggiore di 7 che hanno noleggiato la barca 313. {< I, N, R, A > < I, N, R, A > s R > 7 Sid, Bid, Date (< Sid, Bid, Date > r Sid = I Bid = 313) } condizione di join tra s e r variabili legate della sottoformula forma contratta: <Sid, Bid, Date> r (Sid = I Bid = 313)

DRC: esempi Trovare tutti i marinai con rate maggiore di 7 che hanno noleggiato una barca rossa. {< I, N, R, A > < I, N, R, A > s R > 7 < Sid, Bid, Rate > r (Sid = I < B, Bn, Bc > b (B = Bid Bc = red ))} Trovare i marinai che hanno noleggiato tutte le barche. {< I, N, R, A > < I, N, R, A > s < B, Bn, Bc > b ( < Sid, Bid, Date > r (Sid = I Bid = B))} < B, Bn, Bc > b (F) forma contratta di: B, Bn, Bc ( (< B, Bn, Bc > b) F) oppure B, Bn, Bc ( (< B, Bn, Bc > b) F)

DRC: esempi Trovare i marinai che hanno noleggiato tutte le barche rosse. {< I, N, R, A > < I, N, R, A > s < B, Bn, Bc > b (Bc <> red < Sid, Bid, Date > r (Sid = I Bid = B))} {< I, N, R, A > < I, N, R, A > s < B, Bn, Bc > b (Bc = red ( < Sid, Bid, Date > r (Sid = I Bid = B)))} Trovare i nomi delle barche noleggiate solo da marinai esperti (rate > 7). {< B > Bid,Bc (< Bid, B, Bc > b < Sid, Bid, D > r (Bid <> Bid < S, N, R, A > s (S = Sid R > 7)))} {< B > Bid,Bc (< Bid, B, Bc > b ( < Sid, Bid, D > r (Bid = Bid < S, N, R, A > s (S = Sid R <= 7))))}

DRC: esercizi 1. Trovare i marinai più esperti. 2. Trovare i marinai meno esperti tra quelli che hanno noleggiato Alinghi. 3. Trovare il colore delle barche che non sono mai state noleggiate. 4. Trovare il nome delle barche che sono state noleggiate da marinai anziani (età > 65). 5. Trovare il nome delle barche che sono state noleggiate da marinai anziani (età > 65) e mai da marinai di età inferiore a 45 anni. 6. Trovare i noleggi di barche rosse effettuati il maggio scorso.

Calcolo relazionale sulle tuple In DRC esiste una variabile per ogni dominio: molto dispendioso in termini di lunghezza espressiva e di complessità. In TRC si considera una variabile non come dominio ma come insieme di tuple. Formato query TRC: { var.(lista attributi) var(r) [, var (s), ] F } lista degli obiettivi associazione tra le variabili libere (che occorrono nella lista degli obiettivi o nella formula) e nomi di relazioni formula atomica o composta var,var VAR Il risultato della query è dato da tutte le tuple var che rendono vera la formula F. Il TRC è meno espressivo del DRC (ad esempio, in TRC l unione non è esprimibile), a fronte di un formalismo più semplice

TRC: esempi Trovare i marinai di rate maggiore di 7. {v.* v(s) v.srate > 7} * sta per tutti gli attributi v è una variabile il cui dominio di valori è dato dalle tuple della relazione s Trovare i nomi dei marinai di rate maggiore di 7 che hanno noleggiato una barca rossa. {v.(sname) v(s) v.srate > 7 u(r)( w(b)(v.sid = u.sid u.bid = w.bid w.bcolor = red ))}

TRC: esempi Trovare i marinai che oggi hanno noleggiato una barca. {v.* v(s), w(r) v.sid = w.sid w.rdate = } Trovare i marinai che hanno noleggiato tutte le barche. {v.* v(s) w(b)( u(r)(u.bid = w.bid u.sid = v.sid))} Trovare le barche rosse che sono state noleggiate da Popeye. {v.* v(b), w(r), u(s) v.bcolor = red w.bid = v.bid w.sid = u.sid u.sname = Popeye }

TRC: esercizi 1. Trovare i marinai più esperti. 2. Trovare i marinai che oggi hanno noleggiato una barca che è già stata noleggiata da un marinaio di rate 10. 3. Trovare il colore delle barche che non sono mai state noleggiate. 4. Trovare le barche noleggiate da marinai inesperti (rate < 6).