La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

1 Corso di Informatica (Basi di Dati) Lezione 4 (9 gennaio 2009) Modello Relazionale: concetto di relazione, schema e istanza Da: Atzeni, Ceri, Paraboschi,

Presentazioni simili


Presentazione sul tema: "1 Corso di Informatica (Basi di Dati) Lezione 4 (9 gennaio 2009) Modello Relazionale: concetto di relazione, schema e istanza Da: Atzeni, Ceri, Paraboschi,"— Transcript della presentazione:

1 1 Corso di Informatica (Basi di Dati) Lezione 4 (9 gennaio 2009) Modello Relazionale: concetto di relazione, schema e istanza Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof. Carlo Batini, Laurea in Informatica, AA

2 2 Un modello logico dei dati... … è un insieme di strutture utilizzabili per descrivere un insieme di dati che a loro volta descrivono una realtà di interesse. Il modello logico attualmente più diffuso per i DBMS è il Modello Relazionale proposto nel 1970 da E. F. Codd.

3 3 Un modello logico dei dati... … A questo punto si vedrà come i dati relativi ad una realtà di interesse, che è stata descritta concettualmente tramite il modello E-R, possano essere organizzati secondo il modello (logico) relazionale.

4 4 Relazione e tabella Il modello relazionale si basa sui due concetti fondamentali di: relazione, inteso come concetto proveniente dalla teoria degli insiemi tabella, concetto semplice e intuitivo che sono però facilmente riconducibili luno allaltro in quanto una relazione è rappresentabile in forma tabellare.

5 5 Una precisazione Il termine relazione viene usato in questo corso secondo tre accezioni differenti: relazione intesa come legame logico tra entità (modello E-R) relazione matematica (teoria degli insiemi) relazione nel modello relazionale (proveniente dalla teoria degli insiemi)

6 6 Relazione matematica Iniziamo con la definizione di prodotto cartesiano di due insiemi D 1 e D 2 : dati due insiemi D 1 e D 2, il prodotto cartesiano D 1 xD 2 è linsieme di tutte le coppie (v 1,v 2 ) tali che v 1 è un elemento di D 1 e v 2 è un elemento di D 2.

7 7 Relazione matematica Ad esempio se D 1 ={1,2,4} e D 2 ={a,b}, il prodotto cartesiano D 1 xD 2 è linsieme delle 3x2=6 coppie: {(1,a), (1,b), (2,a), (2,b), (4,a), (4,b)}

8 8 Relazione matematica Una relazione matematica su due insiemi D 1 e D 2 (chiamati domini della relazione) è un sottoinsieme r del prodotto cartesiano D 1 xD 2. Ad esempio dati i due insiemi D 1 ={1,2,4} e D 2 ={a,b}, una possibile relazione matematica sui domini D 1 e D 2 è r={(1,a), (1,b), (4,b)}, in cui si specifica il legame tra 1 e a, tra 1 e b, tra 4 e b.

9 9 Relazione matematica Il prodotto cartesiano e la relazione matematica degli esempi precedenti possono anche essere rappresentati in forma tabellare: 1a 1b 2a 2b 4a 4b D 1 xD 2 1a 1b 4b r

10 10 Relazione matematica In generale, dati n insiemi D 1, D 2, …, D n (anche non distinti) il prodotto cartesiano D 1 xD 2 x…xD n è linsieme di tutte le n-ple (o ennuple) (v 1,v 2,…,v n ) tali che v i è un elemento di D i per ogni i da 1 a n. Una relazione matematica sui domini D 1, D 2, …, D n è un sottoinsieme r del prodotto cartesiano D 1 xD 2 x…xD n. Il numero n è chiamato grado della relazione (e del prodotto cartesiano), il numero di n-ple che compongono la relazione r è chiamato cardinalità della relazione.

11 11 Relazione matematica Quindi: una relazione matematica è un insieme di n-ple al loro interno ordinate (v 1 appartiene a D 1, v 2 appartiene a D 2, …, v n appartiene a D n ) una relazione matematica è un insieme e pertanto: non esiste ordinamento tra le diverse n-ple le n-ple sono tutte distinte

12 12 Relazione matematica Esempio di relazione matematica rappresentata in forma tabellare: JuveLazio Milan JuveRoma Milan I domini sono 4 (grado della relazione): D 1 : insieme di tutte le stringhe (lo chiamiamo STRING) D 2 : insieme di tutte le stringhe (lo chiamiamo STRING) D 3 : insieme degli interi >= 0 (lo chiamiamo INT) D 4 : insieme degli interi >= 0 (lo chiamiamo INT)

13 13 Relazione matematica … Nellesempio precedente si ha una relazione matematica con 4 n-ple (cardinalità della relazione). Si noti però che ciascuno dei due domini STRING ha un ruolo diverso che dipende dalla sua posizione nella relazione. Il primo fa riferimento alla squadra che gioca in casa e il secondo fa riferimento alla squadra che gioca fuori casa. Allo stesso modo per i due domini INT. Il primo è il punteggio realizzato dalla squadra che gioca in casa, mentre il…

14 14 Relazione matematica … secondo è il punteggio realizzato dalla squadra che gioca fuori casa. La struttura di una relazione matematica è dunque posizionale. Nelle Basi di Dati relazionali si vogliono organizzare i dati in relazioni che però non abbiano una struttura posizionale. Cosa si può fare? Si può associare a ciascun dominio della relazione matematica un attributo (un nome) che specifica il ruolo che il dominio ricopre.

15 15 Relazione matematica … Ad esempio nella relazione matematica dellesempio sulle squadre si può associare: SquadraCasa al primo dominio STRING SquadraOspite al secondo dominio STRING RetiCasa al primo dominio INT RetiOspite al secondo dominio INT e nella rappresentazione tabellare si aggiungono gli attributi come intestazione delle colonne.

16 16 Relazione matematica Esempio di relazione matematica rappresentata in forma tabellare con attributi dei domini: JuveLazio Milan JuveRoma Milan SquadraCasa SquadraOspiteRetiCasaRetiOspite

17 17 Relazione matematica Si ottiene dunque una struttura relazionale non posizionale. Modificando quindi lordine delle colonne il significato dellinformazione contenuta non cambia LazioJuve MilanLazio RomaJuve MilanRoma SquadraOspite SquadraCasaRetiOspiteRetiCasa

18 18 Relazione del modello relazionale Una relazione (o tabella) nel modello relazionale è una relazione matematica in cui: i valori di ogni colonna (corrispondente a un attributo) sono fra loro omogenei (appartengono allo stesso dominio) le righe (n-ple o tuple) sono diverse tra loro le intestazioni delle colonne (attributi) sono diverse tra loro

19 19 Relazione del modello relazionale... lordinamento tra le righe è irrilevante lordinamento tra le colonne è irrilevante Una Base di Dati relazionale è costituita da più relazioni (tabelle) le cui tuple (n-ple o righe) contengono valori comuni al fine di stabilire corrispondenze.

20 20 Esempio di Base di Dati relazionale Si consideri ad esempio una Base di Dati che organizza i dati relativi ad ununiversità descritta dal seguente semplice modello E-R: Esame StudenteCorso (0,N) MatricolaCognome Nome Data di nascita CodiceTitolo Docente Voto

21 21 Esempio di Base di Dati relazionale …Essa prevede: una relazione (o tabella) che organizza i dati relativi allentità Studente avente attributi Matricola, Cognome, Nome, DataNascita una relazione (o tabella) che organizza i dati relativi allentità Corso avente attributi Codice, Titolo, Docente una relazione (o tabella) che organizza i dati relativi alla relationship Esame...

22 22 Esempio di Base di Dati relazionale …avente attributi CodiceCorso, Voto, MatricolaStudente Si noti che nella relazione (o tabella) che si riferisce alla relationship Esame, gli attributi CodiceCorso e MatricolaStudente permettono di tradurre il legame logico esistente tra le due entità Studente e Corso.

23 23 Esempio di Base di Dati relazionale Esempio di tabella relativa allentità Studente Rossi Neri Verdi Rossi Maria Anna Fabio Luca 25/11/ /04/ /02/ /10/1971 Matricola CognomeNomeDataNascita Studenti

24 24 Esempio di Base di Dati relazionale Esempio di tabella relativa allentità Corso 01Analisi 03Chimica 04Chimica Giani Melli Belli Codice TitoloDocente Corsi

25 25 Esempio di Base di Dati relazionale Esempio di tabella relativa alla relationship Esame MatricolaStudente VotoCodiceCorso Esami

26 26 Esempio di Base di Dati relazionale Rossi Neri Verdi Rossi Maria Anna Fabio Luca 25/11/ /04/ /02/ /10/1971 MatricolaCognomeNomeDataNascita 01Analisi 03Chimica 04Chimica Giani Melli Belli CodiceTitoloDocente MatricolaStudenteVotoCodiceCorso Studenti Esami Corsi

27 27 Definizioni relative al modello relazionale Uno schema di relazione è un nome R con un insieme di attributi X={A 1,A 2, …,A n }: R(X)= R(A 1,A 2,…,A n ) Ad esempio lo schema della relazione (o tabella) che organizza i dati degli studenti nellesempio precedente è: Studenti(Matricola,Cognome,Nome,DataNascita) se si decide di nominare tale tabella Studenti. A ciascun attributo A i è associato un dominio.

28 28 Definizioni relative al modello relazionale Lo schema della tabella Studenti è evidenziato in rosso Rossi Neri Verdi Rossi Maria Anna Fabio Luca 25/11/ /04/ /02/ /10/1971 Matricola CognomeNomeDataNascita Studenti

29 29 Definizioni relative al modello relazionale Uno schema di base di dati è un insieme di schemi di relazione: { R(X 1 ),R(X 2 ),…,R(X m )} Ad esempio lo schema della base di dati nellesempio precedente è: {Studenti(Matricola,Cognome,Nome,DataNascita ),Corsi(Codice,Titolo,Docente),Esami(MatricolaS tudente,Voto,CodiceCorso)} se si decide di nominare le tabelle con i nomi Studenti, Corsi ed Esami.

30 30 Definizioni relative al modello relazionale Rossi Neri Verdi Rossi Maria Anna Fabio Luca 25/11/ /04/ /02/ /10/1971 MatricolaCognomeNomeDataNascita 01Analisi 03Chimica 04Chimica Giani Melli Belli CodiceTitoloDocente MatricolaStudenteVotoCodiceCorso Lo schema della Base di Dati precedente è evidenziato in rosso

31 31 Definizioni relative al modello relazionale Una ennupla (o n-pla, o tupla) su un insieme X di n attributi è una funzione t che associa a ciascun attributo A in X un valore appartenente al dominio di A. Data una ennupla t sullinsieme X di attributi e un attributo A di X, si indichi con t[A] il valore che lattributo A assume in t. Data una ennupla t sullinsieme X di attributi e un sottoinsieme Y di X, si indichi con t[Y] linsieme che gli attributi di Y assumono in t.

32 32 Definizioni relative al modello relazionale Ad esempio se X={Codice,Titolo,Docente} è linsieme degli attributi della tabella Corsi, indicando con t la ennupla (01,Analisi,Giani) su X, si ha t[Codice] è 01 e t[Codice,Docente] è (01, Giani).

33 33 Definizioni relative al modello relazionale Esempio di ennupla per la tabella Corsi 01Analisi 03Chimica 04Chimica Giani Melli Belli Codice TitoloDocente ennupla Corsi

34 34 Definizioni relative al modello relazionale Unistanza di relazione su di uno schema R(X) è un insieme di ennuple su X Ad esempio unistanza della relazione Studenti che organizza i dati degli studenti nellesempio precedente è evidenziata in rosso Rossi Neri Verdi Rossi Maria Anna Fabio Luca 25/11/ /04/ /02/ /10/1971 Matricola CognomeNomeDataNascita Studenti

35 35 Definizioni relative al modello relazionale Unistanza di Base di Dati su di uno schema {R(X 1 ),R(X 2 ),…,R(X m )} è un insieme di istanze di relazione r 1, r 2, …, r m, dove r i (per i da 1 a m) è unistanza di relazione sullo schema R(X i )

36 36 Definizioni relative al modello relazionale Rossi Neri Verdi Rossi Maria Anna Fabio Luca 25/11/ /04/ /02/ /10/1971 MatricolaCognomeNomeDataNascita 01Analisi 03Chimica 04Chimica Giani Melli Belli CodiceTitoloDocente MatricolaStudenteVotoCodiceCorso Listanza della Base di Dati precedente è evidenziato in rosso

37 37 Definizioni relative al modello relazionale In sintesi: lo schema (di una relazione o di una Base di Dati) è la parte che non varia nel tempo (a meno che lo schema stesso non venga ridefinito…) listanza (di una relazione o di una Base di Dati) è la parte che varia nel tempo in quanto le Basi di Dati vengono aggiornate costantemente

38 38 Nota Bene! La stessa realtà può essere rappresentata mediante schemi relazionali differenti. Ad esempio i dati relativi allentità Studente e alla relationship Esame dellesempio precedente possono essere organizzati in ununica tabella Studenti2 avente schema: Studenti2(Matricola,Cognome,Nome,DataNa scita,CodiceCorso,Voto) eliminando quindi la tabella Esami dello schema precedente

39 39 Nota Bene! La nuova Base di Dati diventa quindi: Rossi Neri Verdi Rossi Maria Anna Fabio Luca 25/11/ /04/ /02/ /10/1971 MatricolaCognomeNomeDataNascita 01Analisi 03Chimica 04Chimica Giani Melli Belli CodiceTitoloDocente CodiceCorsoVoto RossiMaria25/11/ Studenti2 Corsi

40 40 Nota Bene! Quali sono però gli svantaggi di questo secondo schema? ci possono essere dati ripetuti (si vedano le ennuple riguardanti la studentessa Maria Rossi che ha sostenuto due esami) ci possono essere ennuple in cui i valori per alcuni attributi sono nulli (si vedano le ennuple relative a studenti che non hanno sostenuto esami)


Scaricare ppt "1 Corso di Informatica (Basi di Dati) Lezione 4 (9 gennaio 2009) Modello Relazionale: concetto di relazione, schema e istanza Da: Atzeni, Ceri, Paraboschi,"

Presentazioni simili


Annunci Google