5° Anno TEORIA 3. Un modello logico: il modello relazionale

15. Il modello relazionale Vers.2.2 – Dicembre 2019 15. IL MODELLO RELAZIONALE Il diagramma ER, come abbiamo già visto, è un modello concettuale (ossia adatto a descrivere la realtà di interesse) indipendentemente da come saranno poi implementati i dati e le associazioni relative. Abbiamo visto che per raggiungere l’obiettivo di progettare e realizzare una base di dati che soddisfi le esigenze dell’utente, è possibile seguire strade diverse in base al modello che si intende adottare. Il modello che abbiamo scelto di illustrare dettagliatamente è quello puro relazionale. Abbiamo già detto inoltre che dopo la progettazione concettuale il passo successivo nella progettazione di una base di dati è la progettazione logica passo durante il quale si trasforma lo schema concettuale (nel nostro caso il diagramma ER) in una rappresentazione più efficiente rispetto al DBMS scelto detta schema logico (nel nostro caso schema logico-relazionale). La progettazione logica relazionale consiste quindi nell’effettuare il “mapping” (ossia la conversione, la traduzione) di tutti gli oggetti rappresentati in un diagramma ER in un insieme di relazioni (rappresentate come tabelle logiche) che prendono il nome di schema logico relazionale (in quanto ottenute in accordo dell’omonimo approccio). 1) Le relazioni Il modello relazionale dei dati, introdotto fin dal 1970 da E.F. Codd, prevede l’utilizzo del concetto matematico di relazione tra insiemi per strutturare i dati. DEF: Una relazione R su una sequenza di insiemi D 1 , D 2 , … D n (non necessariamente distinti) è un sottoinsieme finito del prodotto cartesiano D 1 x D 2 x ….. x D n che può essere indicato, secondo la teoria degli insiemi, con la scritta: R  D 1 x D 2 x ….. x D n dove: - n (con n > 1) è detto grado della relazione ed è indicato con la scritta Grado (R); - gli insiemi D 1 , D 2 , … D n sono detti domini della relazione ed ognuno di essi può essere di un tipo di dato elementare (ad esempio carattere, stringa, intero, reale, booleano, data). Ad ogni dominio è associato un nome detto attributo che lo identifica univocamente all’interno della relazione. DEF: Chiameremo schema di una relazione R il nome della relazione e la lista dei suoi attributi racchiusi tra parentesi tonde e separate da virgole che rappresenteremo con la seguente sintassi (: , : , … , : ) dove: - , , … , sono i tipi elementari degli attributi (spesso in questa fase omessi per semplicità) come ad esempio carattere, stringa, intero, reale, booleano, data; N.B. Per convenzione scriveremo sia i nomi delle relazioni sia i nome degli attributi con la sola iniziale in maiuscolo. Lo schema di una relazione indica il significato intensionale di quest’ultima. Esempio: consideriamo il seguente schema della relazione Persona utilizzato per rappresentare le caratteristiche di un essere umano: Persona (CodFisc: Stringa(16), Cognome: Stringa(30), Nome: Stringa(20), Età: Intero, Sesso: Carattere) Spesso per brevità di esposizione scriveremo: Persona (CodFisc, Cognome, Nome, Età, Sesso) Autore: Rio Chierego (email: riochierego@libero.it - sito web: www.riochierego.it) Pag. 1