La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Basi di dati: il modello relazionale Presentazione 10.2 Informatica Generale (Prof. Luca A. Ludovico)

Presentazioni simili


Presentazione sul tema: "Basi di dati: il modello relazionale Presentazione 10.2 Informatica Generale (Prof. Luca A. Ludovico)"— Transcript della presentazione:

1 Basi di dati: il modello relazionale Presentazione 10.2 Informatica Generale (Prof. Luca A. Ludovico)

2 Informatica Generale (Prof. Luca A. Ludovico) Presentazione 10.2 Introduzione Proposto da E. F. Codd nel 1970 per favorire lindipendenza dei dati. Disponibile come modello logico in DBMS reali nel Si basa sul concetto matematico di relazione (con una variante). Le relazioni hanno una rappresentazione naturale per mezzo di tabelle. Modello basato su valori: anche i riferimenti fra dati in strutture (relazioni) diverse sono rappresentati per mezzo dei valori stessi.

3 Tre accezioni di relazione Relazione matematica: come nella teoria degli insiemi Relazione (dallinglese relationship) che rappresenta una classe di fatti una relazione matematica fra due entità, nel modello Entity- Relationship; talvolta tradotto con associazione o correlazione Relazione secondo il modello relazionale dei dati: tabella Informatica Generale (Prof. Luca A. Ludovico) Presentazione 10.2

4 Relazione matematica Siano dati D 1, D 2, …, D n (n insiemi anche non distinti) Il prodotto cartesiano D 1 ×D 2 ×…×D n, è linsieme di tutte le n-uple ordinate (d 1, d 2, …, d n ) tali che d 1 D 1, d 2 D 2, …, d n D n Una relazione matematica su D 1, D 2, …, D n è un sottoinsieme del prodotto cartesiano D 1 ×D 2 ×…×D n D 1, D 2, …, D n sono i domini della relazione. Una relazione su n domini ha grado (o arietà) n. Il numero di n-uple è la cardinalità della relazione. Informatica Generale (Prof. Luca A. Ludovico) Presentazione 10.2

5 Esempio di relazione matematica Siano D 1 ={a,b} e D 2 ={x,y,z} Prodotto cartesiano D 1 × D 2 Un esempio di relazione r D 1 × D 2 Informatica Generale (Prof. Luca A. Ludovico) Presentazione 10.2 ax ay az bx by bz ax az by bz

6 Proprietà di una relazione matematica Una relazione matematica è un insieme di n-uple ordinate: (d 1, d 2, …, d n ) tali che d 1 D 1, d 2 D 2, …, d n D n La relazione è un insieme; quindi: –non c'è ordinamento fra le n-uple –le n-uple sono distinte Ciascuna n-upla è ordinata; quindi l i-esimo valore proviene dall i-esimo dominio Informatica Generale (Prof. Luca A. Ludovico) Presentazione 10.2

7 Esempio di relazione matematica Partita string × string × integer × integer Ciascuno dei domini ha due ruoli distinti, distinguibili attraverso la posizione: il primo e il terzo dominio si riferiscono a nome e reti della squadra ospitante; il secondo e il quarto a nome e reti della squadra ospitata La struttura (ordine colonne) è posizionale, la valorizzazione (ordine n-uple) no Informatica Generale (Prof. Luca A. Ludovico) Presentazione 10.2 MilanGenoa21 RomaJuventus11 RomaGenoa32 JuventusMilan00

8 Relazioni nel modello relazionale Ogni relazione è sostanzialmente una tabella. A ciascun dominio associamo un nome (attributo), unico nella relazione, che descrive il ruolo del dominio. Nella rappresentazione tabellare, gli attributi sono usati come intestazioni delle colonne. Lordinamento fra gli attributi è irrilevante: la struttura è non posizionale. Informatica Generale (Prof. Luca A. Ludovico) Presentazione 10.2 CasaOspiteRetiCasaRetiOspite MilanGenoa21 RomaJuventus11 RomaGenoa32 JuventusMilan00

9 Notazioni Se t è una n-upla su un insieme di attributi X e a X, allora t[a] (oppure t.a) indica il valore di t su a. Nellesempio, se t è la prima n-upla della tabella t[Ospite] = Genoa. La stessa notazione può essere estesa anche ad insiemi di attributi. Nellesempio, se t è la prima n-upla della tabella t[Casa,RetiCasa] = Informatica Generale (Prof. Luca A. Ludovico) Presentazione 10.2

10 Tabelle e relazioni Una tabella rappresenta una relazione se –i valori di ciascuna colonna sono fra loro omogenei (appartengono allo stesso dominio) –le righe sono diverse fra loro –le intestazioni delle colonne (attributi) sono diverse tra loro Inoltre, in una tabella che rappresenta una relazione –lordinamento tra le righe è irrilevante –lordinamento tra le colonne è irrilevante Il modello relazionale è basato su valori: i riferimenti fra dati in relazioni diverse sono rappresentati per mezzo di valori dei domini che compaiono nelle n-uple Informatica Generale (Prof. Luca A. Ludovico) Presentazione 10.2

11 Modello basato su valori Informatica Generale (Prof. Luca A. Ludovico) Presentazione 10.2

12 Vantaggi del modello basato su valori Indipendenza dalle strutture fisiche, che possono cambiare anche dinamicamente. Si rappresenta solo ciò che è rilevante dal punto di vista dellapplicazione (dellutente). I dati sono portabili più facilmente da un sistema ad un altro. I valori consentono bi-direzionalità, mentre i puntatori (frecce) sono direzionali. –Nota: i puntatori possono essere usati a livello fisico. Informatica Generale (Prof. Luca A. Ludovico) Presentazione 10.2

13 Alcune definizioni Schema di relazione: un nome di relazione R con un insieme di attributi a 1,..., a n R(a 1,...,a n ) Schema di base di dati: insieme di schemi di relazione con nomi diversi: R = {R 1 (X 1 ),...,R n (X n )} (Istanza di) relazione su uno schema R(X): insieme r di n-uple su X (Istanza di) base di dati su uno schema R = {R 1 (X 1 ),...,R n (X n )}: insieme di relazioni r = {r 1,..., r n } (r i è una relazione su R i, per ogni i = 1,…,n) Informatica Generale (Prof. Luca A. Ludovico) Presentazione 10.2

14 Esercizi Scrivere il prodotto cartesiano D1 x D2 ove D1 sono i semi delle carte e D2 sono i valori di verità. D1 = {cuori, quadri, fiori, picche} –Cardinalità dellinsieme: 4 D2 = {0, 1} –Cardinalità dellinsieme: 2 cuori0 1 quadri0 1 fiori0 1 picche0 1

15 Esercizio: trova lerrore RossiGianna VerdiMarco BruniLorenzo NeriAnna BianchiGiacomo RossiCarlo NeriAnna RossiCarlo


Scaricare ppt "Basi di dati: il modello relazionale Presentazione 10.2 Informatica Generale (Prof. Luca A. Ludovico)"

Presentazioni simili


Annunci Google