Il modello relazionale
Modello Relazionale 2 Dal modello concettuale a quello logico Una volta stabilita la rappresentazione concettuale della realtà che si sta ana- lizzando (tramite il modello ER) Occorre trasformarla in modello logico, cioè nel modo in cui sono effettivamente organizzati gli archivi elettronici.
Modello Relazionale 3 Vari modelli Non esiste un modo unico per rappre- sentare la realtà nel modello logico, di- pende dalla realtà che stiamo conside- rando. –Modello gerarchico; –Modello reticolare; –Modello relazionale; –Modello orientato agli oggetti.
Modello Relazionale 4 Modello relazionale È quello che ha attualmente viene considerato il più semplice ed efficace. Rappresenta il DB come un insieme di tabelle. Si basa sul rigore del linguaggio matema- tico (concetto di INSIEME): –Conosciuto a livello universale; –Eliminazione ambiguità nella terminologia e simbologia
Modello Relazionale 5 Progettazione logica Schema concettuale: Modello E/R Schema logico: Insieme di tabelle
Modello Relazionale 6 Relazione matematica Dal punto di vista matematico, Dati n insiemi A 1, A 2, A 3,..., A n ( anche non distinti) si dice relazione un sottoinsieme dell'insieme di tutte le n-uple a 1, a 2, a 3, …, a n che si possono costruire prendendo nell'ordine un elemento a 1 dal primo insieme A 1, a 2 dal secondo insieme A 2, e così via. Ex: coordinate cartesiane (x, y)
Modello Relazionale 7 Termini specifici nIl numero n (n ≥ 1) si chiama grado della relazione, A igli insiemi A i si chiamano domini della relazione, ciascuno di essi si rifà a un dato elementare (caratt, intero, reale, booleano, …). Possono esistere due domini dello stesso tipo che hanno nome diverso (ex: peso e altezza) tupleil numero delle n-uple (indicate anche con il termine tuple) si chiama cardinalità della relazione.
Modello Relazionale 8 Modello relazionale
Modello Relazionale 9 Tabelle La relazione viene comunemente rappresentata con una tabella, avente tante colonne quanti sono i domini (grado della relazione) e tante righe quante sono le n-uple (cardinalità della relazione). I nomi dei domini sono i nomi delle colonne, i valori che compaiono in una colonna sono omogenei tra loro, cioè appartengono a uno stesso dominio. La relazione è quindi una collezione di n-uple, ciascuna delle quali contiene i valori di un numero prefissato di colonne.La relazione è quindi una collezione di n-uple, ciascuna delle quali contiene i valori di un numero prefissato di colonne.
Modello Relazionale 10 Relazioni e informatica 1 un'entitàLa relazione rappresenta un'entità, un'istanza dell'entitàogni n-upla rappresenta un'istanza dell'entità, gli attributile colonne contengono gli attributi dell'entità, valori che possono essere assuntiil dominio è l'insieme dei valori che possono essere assunti da un attributo.
Modello Relazionale 11 Relazioni e informatica 2 La chiave della relazione è un attributo o una combinazione di attributi che identificano univocamente le n-uple all'interno della relazione, cioè ogni riga della tabella possiede valori diversi per l'attributo (o gli attributi) chiave.
Modello Relazionale 12 Schema di una relazione Si scrive indicando il nome della relazione (in maiuscolo) seguita da una parentesi tonda in cui si scrive la lista dei suoi attributi.
Modello Relazionale 13 Esempio 1: archivio Film Esempio 1: archivio Film Film (IdFilm, Titolo, Soggetto, Data_edizione) IDFilmTitoloSoggettoData edizione 00001Natale in crocieraCommedia L’allenatore nel palloneComico Notte prima degli esami Commedia2005
Modello Relazionale 14 Esempio 1: archivio Film Esempio 1: archivio Film Film (IdFilm, Titolo, Soggetto, Data_edizione) IDFilmTitoloSoggettoData edizione 00001Natale in crocieraCommedia L’allenatore nel palloneComico Notte prima degli esami Commedia2005 DOMINI
Modello Relazionale 15 Esempio 1: archivio Film IDFilmTitoloSoggettoData edizione 00001Natale in crocieraCommedia L’allenatore nel palloneComico Notte prima degli esami Commedia2005 Grado = 4
Modello Relazionale 16 Esempio 1: archivio Film IDFilmTitoloSoggettoData edizione 00001Natale in crocieraCommedia L’allenatore nel palloneComico Notte prima degli esami Commedia2005 Istanza della relazione (tupla)
Modello Relazionale 17 Esempio 1: archivio Film IDFilmTitoloSoggettoData edizione 00001Natale in crocieraCommedia L’allenatore nel palloneComico Notte prima degli esami Commedia2005 Cardinalità = 3
Modello Relazionale 18 Esempio 1: archivio Film IDFilmTitoloSoggettoData edizione 00001Natale in crocieraCommedia L’allenatore nel palloneComico Notte prima degli esami Commedia2005 Attributo Valore dell’Attributo
Modello Relazionale 19 Esempio 2: archivio Cliente Esempio 2: archivio Cliente Cliente (IdCliente, Cognome, Nome, data Nascita, telefono) IDClienteCognomeNomeData Nascita Telefono 15678RossiMario14/10/ BianchiLuigi23/05/ NapoliRossana16/02/
Modello Relazionale 20 Record e tuple Una tabella assomiglia ad un archivio (file accesso diretto), formato da record, che corrispondono alle righe della tabella; a sua volta il record è formato dai campi che sono gli attributi della relazione. Nella terminologia corrente dei database relazionali, si usano spesso anche i termini record e campo; il termine tabella viene inoltre usato come sinonimo di relazione.
Modello Relazionale 21 Database relazionali Il modello relazionale di un database è un insieme di tabelle sulle quali si possono effettuare operazioni, e tra le quali possono essere stabilite associazioni.
Modello Relazionale 22 Schema di una base di dati È l’insieme di tutti gli schemi di relazione. Esempio: cinetecaEsempio: cineteca FILM(IdFilm,Titolo,Soggetto,Data_edizio) REGISTA (IdRegista, Cognome, Nome, Nazione, Residenza) ATTORE (IdAttore, Cognome, Nome, Nazione, Residenza) BRANO (IdBrano, Titolo, Autore, CasaDiscografica)
Modello Relazionale 23 Occorrenza di una base di dati È l’insieme delle istanze degli schemi di relazione.
Modello Relazionale 24 Caratteristiche modello relazionale 1.Tutte le righe della tabella contengono lo stesso numero di colonne (attributi); 2.Gli attributi rappresentano informazioni elementari (o atomiche), non scomponibili ulteriormente; 3.I valori assunti da un campo sono valori omogenei tra loro, cioè sono dello stesso tipo;
Modello Relazionale 25 Caratteristiche modello relazionale 4.in una relazione, ogni riga è diversa da tutte le altre, cioè non ci possono essere due righe con gli stessi valori dei campi: questo significa che esiste un attributo o una combinazione di più attributi che identificano univocamente la n-upla, e che assumono perciò la funzione di chiave primaria della relazione. 5.le n-uple compaiono nella tabella secondo un ordine non prefissato.
Modello Relazionale 26 Chiave di una relazione La chiave (formata da uno o più attributi) identifica la n-upla all'interno della tabella: ogni dato elementare contenuto nel modello relazionale deve essere accessibile attraverso la combinazione di nome della tabella, nome e valore della chiave, nome della colonna contenente il dato. INTEGRITÀ SULL'ENTITÀIl modello relazionale fissa una regola di integrità sui dati, detta INTEGRITÀ SULL'ENTITÀ (entity integrity), secondo la quale nessuna componente della chiave primaria può avere valore nullo.
Modello Relazionale 27 Dal modello E/R a quello relazionale 1 entità 1.ogni entità diventa una relazione (tabella); attributo di un'entità 2.ogni attributo di un'entità diventa un attributo della relazione, cioè il nome di una colonna della tabella; 3.ogni attributo della relazione eredita le caratteristiche dell'attributo dell'entità da cui deriva;
Modello Relazionale 28 Dal modello E/R a quello relazionale 2 4.l'identificatore univoco 4.l'identificatore univoco di un'entità diventa la chiave primaria della relazione derivata; 5.l'associazione uno o uno 5.l'associazione uno o uno diventa un'unica relazione che contiene gli attributi della prima e della seconda entità; 6.l'identificatore univoco dell'entità di partenza uno o molti FOREIGN KEY 6.l'identificatore univoco dell'entità di partenza nell'associazione uno o molti diventa chiave esterna (FOREIGN KEY) dell'entità di arrivo associata, cioè i suoi attributi identificatori univoci diventano attributi della seconda relazione.
Modello Relazionale 29 Dal modello E/R a quello relazionale 3 molti a molti 7.l'associazione con grado molti a molti diventa una nuova relazione (in aggiunta alle relazioni derivate dalle entità) composta dagli identificatori univoci delle due entità e dagli eventuali attributi dell'associazione.
Modello Relazionale 30 Esempio: Cineteca (4 tabelle)
Modello Relazionale 31 Esempio: Cineteca (4 tabelle) Tra film e regista, Tra film e attore, Tra film e brano Ci sono associazioni uno a molti. Raffiniamo lo schema precedente introducendo tre nuove entità: Film_registafilm_attorefilm_branoFilm_regista; film_attore; film_brano
Modello Relazionale 32 Esempio: Cineteca (6 tabelle)
Modello Relazionale 33 Esempio: Cineteca in parte diventa…
Modello Relazionale 34 Per voi Lascio alla vostra fantasia creare le tabelle (e inserire in esse i dati) relativi al precedente modello E/R. VINCOLIVINCOLI