Universita’ di Milano Bicocca Corso di Basi di Dati 1 in eLearning C Universita’ di Milano Bicocca Corso di Basi di Dati 1 in eLearning C. Batini 3.1. Il modello relazionale Introduzione
I modelli logici dei dati Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Cosa e’ un modello logico E’ un insieme di strutture di rappresentazione utilizzabili per descrivere un insieme di dati, o schema logico, che, a sua volta, descrive una realta’ di interesse Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Processo di rappresentazione Strutture di Rappresentazione Rappresentazione nel modello Schema Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Processo di rappresentazione nel modello ER Entita’ + Relationship + Generalizzazione Descrizione (o modellazione) nel modello ER Gara Auto corre Sigla Marca Pilota Numero Sede Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Processo di rappresentazione nel modello relazionale Descrizione (o modellazione) nel modello logico Relazione Gara (Numero, Sede, SiglaAutomobile, Marca, Guidatore) Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Introduzione al modello relazionale Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill Perche’ le relazioni? Il mondo e’ la totalita’ dei fatti, non delle cose (L. Wittgenstein) Cose Mario 35 anni Fatti Mario ha 35 anni Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Relazione: tre accezioni 1. Relationship, che rappresenta una classe di fatti, nel modello Entity-Relationship 2. Relazione matematica: come nella teoria degli insiemi 3. Relazione secondo il modello relazionale dei dati Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill 2. Relazione matematica Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill Relazione matematica D1, …, Dn (n insiemi anche non distinti, detti anche domini) prodotto cartesiano D1×…×Dn: l’insieme di tutte le n-uple (d1, …, dn) tali che d1D1, …, dn Dn relazione matematica su D1, …, Dn: un sottoinsieme di D1×…×Dn. D1, …, Dn sono i domini della relazione Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Relazione matematica, esempio D1={a,b} D2={x,y,z} prodotto cartesiano D1 × D2 a b x y z una relazione r D1 × D2 a b x z y Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill Domanda 3.1.1 Quante coppie contiene il prodotto cartesiano dei due domini Semi = {Cuori, Fanti, Picche, Fiori} Carte = {1,2,3,4,5,6,7,8,9,10,Jack,Donna,Re} ? Risposta 4 * 13 = 52 Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill Domanda 3.1.2 Considera i due domini formati rispettivamente dai mesi dell’anno e dall’insieme dei numeri [1, ….,31]. 1. Ha qualche significato particolare il prodotto cartesiano dei due domini? Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill Risposta No, il prodotto cartesiano non ha in genere significati specifici, essendo l’insieme di tutte le coppie ordinate. Nel caso specifico, non sarebbe l’insieme dei giorni dell’anno, perche’ alcuni giorni (es. [Febbraio, 31] non sarebbero significativi. In alcuni casi il prodotto cartesiano ha un significato, come nell’esempio delle carte; infatti, in un mazzo di carte esistono tutte le possibili coppie [Carta, Seme]. Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill Domanda 3.1.3 Considera i due domini formati rispettivamente dai mesi dell’anno e dall’insieme dei numeri [1, ….,31]. 2. Che significato ha la relazione [Gennaio,31; Febbraio, 28; Marzo,31, ……, Novembre,30; Dicembre,31]? Risposta La relazione riporta per ogni mese dell’anno il numero di giorni del mese, in un anno non bisestile. Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Relazione matematica, proprietà una relazione matematica è un insieme di n-uple al loro interno ordinate: (d1, …, dn) tali che d1D1, …, dn Dn una relazione è un insieme; quindi: non c'è ordinamento fra le diverse n-uple; le n-uple sono distinte (non ce ne possono essere due uguali) ciascuna n-upla è al suo interno ordinata: l’ i-esimo valore proviene dall’ i-esimo dominio Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Relazione matematica, esempio Partite string × string × integer × integer 3 2 1 Juve Lazio Roma Milan Ciascuno dei due domini String Integer ha due ruoli diversi, distinguibili attraverso la posizione: La struttura è posizionale Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill Domanda 3.1.4 Che informazione porta la relazione matematica? Prova a descriverla in italiano 3 2 1 Juve Lazio Roma Milan Risposta Parla di quattro partite, nella prima delle quali la Juve ha giocato in casa con la Lazio e ha vinto 3 a 1, nella seconda delle quali ecc. ecc. Noi riusciamo a distinguere tra squadre in casa e fuori casa dalla posizione nella n-pla. Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill Concetti introdotti Modello logico dei dati Struttura di rappresentazione Schema logico Relazione matematica Relationship (nel modello Entita’ Relazione) Relazione nel modello relazionale Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill