Algebra Relazionale 3 Università degli Studi del Sannio

Slides:



Advertisements
Presentazioni simili
Informatica II – Basi di Dati (08/09) – Parte 1
Advertisements

Il raffinamento dello schema e la normalizzazione nei database relazionali Eugenio Di Sciascio.
Definitezza Vogliamo poter richiedere la “definitezza” delle funzioni
Calcolo Relazionale.
DB - Modello relazionale dei dati
MATEMATICA PER L’ECONOMIA
Algebra e calcolo relazionale (parte 2)
Sommario Nelle lezioni precedenti abbiamo introdotto tutti gli elementi che formano un particolare tipo di linguaggio logico, denominato linguaggio predicativo.
Algebra parziale con predicati
Specifiche Algebriche Modello Iniziale Versione 1.0 Gianna Reggio
Intelligenza Artificiale
INSIEMI INSIEME= gruppo di oggetti di tipo qualsiasi detti elementi dell’insieme. Un insieme è definito quando viene dato un criterio non ambiguo che.
Relazione tra due insiemi:
Linguaggi di Programmazione (AA 2002/2003)
Il modello relazionale: strutture e vincoli
Definizione e caratteristiche
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
Il ragionamento classico
Intelligenza Artificiale 1 Gestione della conoscenza lezione 8
Sistemi basati su conoscenza Conoscenza e ragionamento Prof. M.T. PAZIENZA a.a
Processi Aleatori : Introduzione – Parte I
8. Reti di Code Nella maggior parte dei processi produttivi risulta troppo restrittivo considerare una sola risorsa. Esempio: linea tandem arrivi 1 v.
Corso di Informatica (Programmazione)
Corso di Informatica (Basi di Dati)
Laboratorio di Basi di Dati Introduzione ad Access 2ª Parte.
11/10/2001Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 3 1 Viste (relazioni derivate) Rappresentazioni diverse per gli stessi dati (schema esterno)schema.
Metodologie e Modelli di Progetto
Semantica di Tarski.
Notazioni Asintotiche e Ordini di Grandezza delle funzioni
Corso di Matematica Discreta I Anno
Corso di Matematica Discreta cont. 2
Intelligenza Artificiale
Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Conoscenza e ragionamento Logica dei predicati del primo ordine.
Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Logica dei predicati del primo ordine.
Relazioni Relazione : concetto mutuato dalla definizione di relazione matematica della teoria degli insiemi, come sottoinsieme del prodotto cartesiano.
Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti.
Intelligenza Artificiale - AA 2001/2002 Logica formale (Parte 2) - 1 Intelligenza Artificiale Breve introduzione alla logica classica (Parte 2) Marco Piastra.
Intelligenza Artificiale
Logica Matematica Seconda lezione.
Riassunto delle puntate precedenti:
Relazioni binarie.
Prof. Cerulli – Dott.ssa Gentili
Il modello ER Proposto da Peter Chen nel 1976 rappresenta uno standard per la progettazione concettuale (in particolare per le basi di dati) Ha una rappresentazione.
MODELLO LOGICO DEI DATI
Si ringraziano per il loro contributo gli alunni della
INFORMATICA MATTEO CRISTANI. INDICE CICLO DELLE LEZIONI LEZ. 1 INTRODUZIONE AL CORSO LEZ. 2 I CALCOLATORI ELETTRONICI LEZ. 3 ELEMENTI DI TEORIA DELL INFORMAZIONE.
Introduzione a Oracle 9i
Funzioni Dati due insiemi non vuoti A e B,
Sistemi di Elaborazione delle Informazioni Mod.I.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
Informatica II – Basi di Dati (07/08) – Parte 2 Gianluca Torta Dipartimento di Informatica dell’Università di Torino
A cura della Dott.ssa Claudia De Napoli
La logica è lo studio del ragionamento.
Algebra di Boole.
Il Linguaggio SQL. Le interrogazioni in SQL (continua…) La parte di SQL dedicata alla formulazione di interrogazioni fa parte del DML. SQL esprime le.
Basi di dati e Relazioni Uno schema di relazione R(X) è costituito da un simbolo (nome della relazione) R e da una serie di attributi X={A 1, A 2, …, A.
Query languages per Basi di Dati Relazionali  Algebra Relazionale:  basato sulla teoria degli insiemi  procedurale  usato per l’implementazione di.
public class volume { public static void main (String[] args) { final double bott_vol =2.0; final double latt_vol = 0.355; int bott_num = 4; int latt_num.
Progettazione di una base di dati relazionale Vincoli.
AOT Lab Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Intelligenza Artificiale Rappresentazione della Conoscenza e Ragionamento.
Progettazione di una base di dati relazionale Terza forma normale.
Cloud informatica V anno.
NORMALIZZAZIONE ESERCIZI. INTRODUZIONE La modellazione E-R ci ha consentito di descrivere schemi relazionali Lo strumento base per la modellizzazione.
Normalizzazione. Introduzione Nell’organizzazione tradizionale degli archivi, si verificano alcuni problemi, quali: Ridondanza dei dati (gli stessi dati.
Il Modello Relazionale. I modelli logici dei dati Tradizionalmente, esistono tre modelli logici: –gerarchico –reticolare –relazionale I modelli gerarchico.
TEORIA ELEMENTARE DEGLI INSIEMI
Elementi di Logica Teoria degli insiemi Proff. A. Albanese – E. Mangino Dipartimento di Matematica e Fisica “E. De Giorgi” - Università del Salento Precorso.
Basi di dati - 09Marco Maggini1 Forme normali forme normali  Le forme normali verificano la qualità di uno schema di una base di dati relazionale  Presenza.
INSIEMI E LOGICA PARTE QUARTA.
Transcript della presentazione:

Algebra Relazionale 3 Università degli Studi del Sannio Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Corso di Basi di Dati Anno Accademico 2011/2012 docente: ing. Corrado Aaron Visaggio email: visaggio@unisannio.it ricevimento: mercoledi 11.00-13.00. Corrado Aaron Visaggio

Corrado Aaron Visaggio

Corrado Aaron Visaggio Relazione Inversa Assegnati due insiemi A e B diremo: relazione (binaria), su A e B: un sottoinsieme del prodotto cartesiano AB, cioè R  AB (notazioni alternative (a,b)R oppure a R b con aA bB) gli insiemi A e B sono i domini della relazione. Data una relazione R  AB diremo relazione inversa di R: la relazione R-1  (b,a) : (a,b)  R Corrado Aaron Visaggio

Relazione raggiungibile Data una relazione R  AB, altre proprietà sono le seguenti: R simmetrica   (a,b)  R  (b,a)  R R è transitiva   (a,b), (b,c)  R  (a,c)  R bB è raggiungibile, secondo R, da aA: se esistono in B n elementi tali che (a,b1)R, (b1,b2)R, (b2,b3)R, …. (bn,b)R chiusura transitiva di R: l’insieme R+   (a,b) : b è raggiungibile da a} la chiusura transitiva di R è una relazione transitiva, mentre non è detto che R lo sia. ad esempio se A è l’insieme dei padri e B quello dei figli, la relazione R   (a,b) : a è padre di b è non transitiva mentre R+   (a,b) : b è discendente di a lo è. Corrado Aaron Visaggio

Corrado Aaron Visaggio Chiave / Superchiave chiave di R: un sottoinsieme S degli attributi dello schema di R che goda delle proprietà di: univocità: nessuna istanza di R può possedere due tuple che abbiano gli stessi valori in tutti gli attributi di S ; minimalità: non esiste un sottoinsieme degli attributi di S che goda della proprietà di univocità. superchiave di R: un insieme di attributi S che goda della proprietà di univocità ma non di quella di minimalità Corrado Aaron Visaggio

Corrado Aaron Visaggio Chiave Primaria Poiché in una relazione non ci possono essere due tuple uguali, ogni relazione ha come chiave l’insieme di tutti i suoi attributi. chiave candidata: una qualsiasi delle chiavi della relazione chiave prima: la chiave che viene adottata per l’accesso a tuple della relazione. Nella pratica una tupla di una relazione può avere, per uno o più attributi, un valore non specificato () allora: chiave primaria: una chiave i cui attributi non posseggano in nessuna istanza della relazione ed in nessuna tupla di tale istanza un valore . attributo primo: attributo che fa parte di almeno una chiave primaria. Corrado Aaron Visaggio

Dipendenza Funzionale... Una chiave prima deve essere anche primaria. Un attributo Y dipende funzionalmente da un attributo X:se Y=F(X) ovvero se non esistono istanze della relazione nelle quali si abbia che due tuple che presentano lo stesso valore per X non abbiano anche uguale valore in Y. Diremo, equivalentemente, che X determina funzionalmente Y ed useremo la notazione XY. La definizione si estende, in maniera analoga, alla dipendenza funzionale da un insieme di attributi. Corrado Aaron Visaggio

...Dipendenza Funzionale La dipendenza funzionale XY si dice completa: se Y non dipende funzionalmente da un sottoinsieme proprio di X; transitiva: se esiste un attributo Z diverso da Y e da X per cui si abbia XZ and ZY. Detto F un insieme di dipendenze funzionali dello schema di R, si dice F implica logicamente XY (F  XY): se ogni istanza di R che soddisfa le dipendenze in F soddisfa anche XY; chiusura transitiva F+ di F: è l’insieme delle dipendenze implicate da F. Corrado Aaron Visaggio

Seconda e Terza Forma Normale relazione in 2ª f.n.: se è in 1ª f.n. e se tutti i suoi attributi non primi dipendono funzionalmente e completamente dalla chiave; BDR in 2ª f.n.: se lo è ogni sua relazione; relazione in 3ª f.n.: se è in 2ª f.n. e se ogni suo attributo non primo non dipende transitivamente dalla chiave; BDR in 3ª f.n.: se lo è ogni sua relazione. Corrado Aaron Visaggio

Corrado Aaron Visaggio Calcolo Relazionale Il Calcolo Relazionale fa riferimento ad una famiglia di linguaggi di interrogazione dichiarativi, basati sul calcolo dei predicati del primo ordine. Nella logica matematica il linguaggio del primo ordine è un linguaggio formalizzato che serve per gestire enunciati e ragionamenti che coinvolgono i connettivi logici, le proprietà e i quantificatori "per ogni ..." () ed "esiste..." (). L'espressione "del primo ordine" indica che c'è un insieme di riferimento e i quantificatori possono riguardare solo gli elementi di tale insieme e non i sottinsiemi. Ad esempio si può dire "per tutti gli x elementi dell'insieme vale P(x)" ma non si può dire "per tutti i sottoinsiemi A vale P(A)"; quando si permette che i quantificatori possono spaziare anche tra tutti i possibili sottoinsiemi dell'insieme di riferimento si parla di teoria del secondo ordine. Corrado Aaron Visaggio

L’algebra Relazionale L’algebra relazionale è un linguaggio procedurale in quanto le sue espressioni specificano attraverso le singole applicazioni degli operatori la costruzione del risultato. Si presenterà qui il calcolo relazionale sui domini, con le seguenti differenze: i simboli di predicato corrispondono alle relazioni i simboli di funzione non compaiono. Nel calcolo dei predicati interessano formule aperte (con variabili libere) e formule chiuse (con variabili vincolate). Nel calcolo relazionale interessano prevalentemente le formule aperte. Corrado Aaron Visaggio

Linguaggio del primo ordine Un linguaggio del primo ordine è caratterizzato da: un alfabeto di simboli un insieme di termini (che dovrebbero denotare gli "oggetti" dell'insieme che si sta considerando) un insieme di formule ben formate (fbf) cioè un insieme di stringhe composte di simboli dell'alfabeto che vengono considerate sintatticamente corrette L'insieme dei termini è costituito da tutte quelle stringhe dell'alfabeto che denotano degli oggetti specifici: una costante individuale è un termine una variabile è un termine se t1,...,tn sono n termini e f è un simbolo per funzione n-aria allora f(t1,...,tn) è un termine nient'altro è un termine Corrado Aaron Visaggio

Corrado Aaron Visaggio L’Alfabeto simboli per variabili (infiniti): x1,x2,x3,... simboli per costanti individuali (eventualmente nessuno): a1,a2,... simboli per predicati (o relazioni), a ciascuno dei quali è associato il suo numero di argomenti: P1,Q1,P2,Q2,... simboli per funzioni, a ciascuno dei quali è associato un numero corrispondente al numero di argomenti: f1,g1,f2,g2,... simboli di punteggiatura: "(", ")" e la virgola "," simboli per connettivi logici: negazione, implicazione, se e solo se, e, oppure simboli per quantificatori: quantificatore universale, quantificatore esistenziale Corrado Aaron Visaggio

Calcolo relazionale sui domini... Le espressioni del calcolo relazionale sui domini hanno la seguente formula: {A1 : x1,…, Ak: xk | f } dove A1,…, Ak sono attributi distinti (target list) x1,…, xk sono variabili (e rendono vera la formula) f è una formula tale che: Vi sono formule atomiche di due tipi: R(A1 : x1,…, Ap: xp ), dove R(A1 ,…, Ap ) è uno schema di relazione e x1,…, xp sono variabili xy xc (=,, , , <, >) con x e y variabili e c costante Corrado Aaron Visaggio

...Calcolo relazionale sui domini Se f1 f2 sono formule, lo sono anche f1  f2 f1 f2 f2 ; Se f è una formula ed x una variabile, allora anche  x(f) x(f) sono formule. Una formula R(A1 : x1,…, Ap: xp ), dove R(A1 ,…, Ap ) è vera sui valori di x1,…, xp che formano una tupla di R; una formula atomica xy xc è vera sui valori a1,a2 se i confronti a1a2 e a2c sono soddisfatti. Per congiunzione, disgiunzione e negazione valgono le usuali definizioni.  x(f) è vera se esiste almeno un valore a di x che renda vera f. x(f) è vera se per ogni valore a di x f è vera. Corrado Aaron Visaggio

Corrado Aaron Visaggio Un Esempio Interrogazione: trovare il titolo dei film, il cognome e nome del regista, il cui film è stato prodotto dopo il 1960. π Titolo, Cognome Regista, Nome Regista (σ Anno >1960(FILM)) {Titolo: t, Cognome Regista: c, Nome Regista: n | FILM (Titolo: t, Cognome Regista: c, Nome Regista: n, Anno : a)  a >1960} tcna costituisca una tupla di FILM il valore di a sia maggiore di 1960 Corrado Aaron Visaggio

Limiti del calcolo relazionale Il calcolo ammette espressioni che hanno poco senso! {A1 : x1, A2: x2 |R(A1 : x1)  x2 = x2 } Le espressioni dipendenti dal dominio non hanno utilità pratica: i linguaggi di interrogazione devono essere indipendenti dal dominio. L’algebra relazionale è indipendente dal dominio perché costruisce il risultato a partire dalla relazione, a differenza del calcolo relazionale. Il calcolo relazionale presenta troppe variabili, una per ogni attributo coinvolto nell’interrogazione. Si introduce il calcolo su tuple con dichiarazioni di range, ove le variabli indicano tuple invece di attributi. Corrado Aaron Visaggio

Corrado Aaron Visaggio Relazione d’ordine: per ogni a a ≤ a (riflessività) se a ≤ b e b ≤ a, allora a = b (antisimmetria) se a ≤ b e b ≤ c allora a ≤ c (transitività) a ≤ b oppure b ≤ a (totalità) Corrado Aaron Visaggio

Corrado Aaron Visaggio Charles Babbage Matematico, nato a Londra nel 1792(o 91?). All’età di 24 anni fu eletto membro della Royal Society Studiava astronomia e elettro-magnetismo. Inventa la differential engine, che consente di fare operazioni complesse utilizzando solo addizioni. La macchina calcolava la serie n2 + n + 41. I numeri sono: 41, 43, 47, 53, 61, ... Le differenze dei termini sono 2, 4, 6, 8, … e le seconde differenze sono 2, 2, 2, ..... Voleva calcolare i logaritmi in modo “meccanico” (non automatico) Muore nel 1871. Corrado Aaron Visaggio