Basi di Dati – Il modello Entità Relazioni PDF
Document Details
Uploaded by AffordableGroup7338
Università San Raffaele
M. Zaninelli
Tags
Summary
These lecture notes describe the entity-relationship model for database design. It includes the concepts of entities, attributes, and relationships, and provides examples to illustrate the model.
Full Transcript
Prof. M. Zaninelli Basi di Dati – Il modello Entità Relazioni La struttura dell’informazione digitale Basi di Dati – Il modello Entità Relazioni...
Prof. M. Zaninelli Basi di Dati – Il modello Entità Relazioni La struttura dell’informazione digitale Basi di Dati – Il modello Entità Relazioni 1 di 45 Prof. M. Zaninelli Cos’è una Base di Dati? Basi di Dati – Il modello Entità Relazioni 2 di 45 Prof. M. Zaninelli Basi di dati Sono una delle applicazioni informatiche che hanno avuto il maggiore utilizzo in uffici, aziende, servizi (e oggi anche sul web) Avete già interagito (magari inconsapevolmente) con dei sistemi di gestione di basi di dati: all’anagrafe, in segreteria studenti, in biblioteca, … Basi di Dati – Il modello Entità Relazioni 3 di 45 Prof. M. Zaninelli Basi di dati L’obiettivo è quello di memorizzare grandi quantità di informazioni, rendendone disponibili anche le operazioni di modifica e di reperimento Una base di dati è solo software? No! Ad esempio, gli archivi bancari esistono da diversi secoli. Noi ci occuperemo di sistemi informativi informatizzati Basi di Dati – Il modello Entità Relazioni 4 di 45 Prof. M. Zaninelli Perché si utilizza una Base di dati? Basi di Dati – Il modello Entità Relazioni 5 di 45 Prof. M. Zaninelli Problema affrontato Raccogliere, organizzare, conservare e gestire dati omogenei e strutturati studente studenti Avrà un nome, un indirizzo, Ognuno avrà il proprio una matricola, ecc. nome, matricola, ecc. singolo molti Basi di Dati – Il modello Entità Relazioni 6 di 45 Prof. M. Zaninelli Problema affrontato corso Avrà un titolo, un docente, dei crediti … diventa interessante mantenere informazioni su quali studenti hanno sostenuto quali esami e con quale risultato … quindi mettere in relazione le informazioni relative agli studenti e quelle relative ai corsi Basi di Dati – Il modello Entità Relazioni 7 di 45 Prof. M. Zaninelli Problema affrontato Data una realtà da modellare (es. studenti e corsi), Capire quali informazioni sono utili (es. “matricola” è utile per rappresentare gli studenti), Capire come le informazioni utili sono correlate (es. chi ha sostenuto quale esame), Sapere chi può accedere a quali informazioni per eseguire quali azioni, Avere strumenti per lavorare sui dati (es. quanti esami ha sostenuto Rossi nel 2002? Con quale media?). Basi di Dati – Il modello Entità Relazioni 8 di 45 Prof. M. Zaninelli Come si progetta una Base di Dati? Basi di Dati – Il modello Entità Relazioni 9 di 45 Prof. M. Zaninelli Progettazione di una base di dati 1. Analisi dei requisiti individuare e studiare le funzionalità che il sistema dovrà fornire 2. Progettazione (a) concettuale (b) logica (c) fisica 3. Collaudo verifica del corretto funzionamento del sistema Basi di Dati – Il modello Entità Relazioni 10 di 45 Prof. M. Zaninelli Progettazione di una base di dati Requisiti della base di dati Progettazione concettuale Progettazione Progettazione logica Progettazione fisica Prodotto della progettazione Basi di Dati – Il modello Entità Relazioni 11 di 45 Prof. M. Zaninelli Analisi dei requisiti Raccolta e studio delle funzionalità che il sistema dovrà avere. Comporta l’interazione con gli utenti del sistema e si conclude in una descrizione informale dei suoi requisiti Descrizione informale Basi di Dati – Il modello Entità Relazioni 12 di 45 Prof. M. Zaninelli Progettazione concettuale Ha lo scopo di rappresentare la realtà di interesse in termini di una descrizione precisa e completa ma indipendente dai criteri di rappresentazione usati dal sistema informatico scelto per gestire la base di dati (rappresentazione astratta) Schema concettuale Basi di Dati – Il modello Entità Relazioni 13 di 45 Prof. M. Zaninelli Progettazione logica Ha lo scopo di rappresentare la realtà di interesse in termini di una descrizione ancora indipendente dai dettagli fisici ma concreta, in quanto presente nei sistemi di gestioni delle basi di dati. Lo schema concettuale definito nella fase precedente viene tradotto nello schema logico Schema logico Basi di Dati – Il modello Entità Relazioni 14 di 45 Prof. M. Zaninelli Progettazione fisica Lo schema logico viene completato con le specifica dei parametri fisici di memorizzazione dei dati (organizzazione dei file e degli indici). Si definisce lo schema fisico dei dati che dipende dal sistema di gestione di basi di dati scelto Schema fisico Basi di Dati – Il modello Entità Relazioni 15 di 45 Prof. M. Zaninelli Progettazione concettuale Schema concettuale Basi di Dati – Il modello Entità Relazioni 16 di 45 Prof. M. Zaninelli modello Entità-Relazioni (E-R) Consente di rappresentare la realtà di interesse tramite un insieme di costrutti, Ogni costrutto ha una rappresentazione grafica corrispondente. Ad esempio: entità relazione attributo semplice attributo composto Basi di Dati – Il modello Entità Relazioni 17 di 45 Prof. M. Zaninelli Entità Sono classi di oggetti, che hanno tutti le stesse proprietà ed esistono in modo autonomo; ogni entità è quindi un insieme di oggetti, detti anche istanze o occorrenze STUDENTI LIBRI IMPIEGATI Basi di Dati – Il modello Entità Relazioni 18 di 45 Prof. M. Zaninelli Relazioni (anche dette associazioni) Sono legami logici fra due o più entità. Anche un’associazione è un insieme, è l’insieme delle correlazioni fra i singoli elementi delle entità coinvolte e1 e2 e3 Corso1 Stud1 e4 Stud2 Corso2 Stud3 e5 Stud4 e6 Corso3 Basi di Dati – Il modello Entità Relazioni 19 di 45 Prof. M. Zaninelli Relazioni In uno schema E-R ogni relazione ha un nome che la identifica in modo univoco ed è rappresentata mediante un rombo STUDENTI ESAMI CORSI Nella scelta dei nomi per le relazioni è preferibile usare sostantivi anzichè verbi per evitare di dare un “verso” alla relazione. Ad esempio ESAMI invece di HA SOSTENUTO Basi di Dati – Il modello Entità Relazioni 20 di 45 Prof. M. Zaninelli Esempio Entità: PERSONE Istanze: Marco, Paolo, Liliana, Giorgia, … Entità: CITTÀ Istanze: Milano, Torino, Genova, Salerno, ESAMI: relazione (anche detta associazione) fra le entità STUDENTI e CORSI PRESTITI: relazione fra le entità UTENTI e LIBRI DIREZIONE: relazione fra le entità IMPIEGATI e REPARTI Basi di Dati – Il modello Entità Relazioni 21 di 45 Prof. M. Zaninelli Attributi Descrivono le proprietà elementari di Entità e Relazioni. Ogni attributo assume dei valori all’interno di un insieme di valori ammissibili detto dominio Nome Giorno Data Mese Cognome Anno Attributi semplici Attributi composti Basi di Dati – Il modello Entità Relazioni 22 di 45 Prof. M. Zaninelli Esempio Via PERSONA Indirizzo Numero civico CAP Nome Cognome Data nascita Basi di Dati – Il modello Entità Relazioni 23 di 45 Prof. M. Zaninelli Esempio Voto Data STUDENTI ESAMI CORSI Nome Cognome Nascita Nome_corso Crediti Docente Anche le relazioni possono avere degli attributi che vengono rappresentati come nel caso delle entità, ma associati ai rombi che le descrivono Basi di Dati – Il modello Entità Relazioni 24 di 45 Prof. M. Zaninelli Cardinalità delle relazioni Per ogni entità che partecipa a una relazione è possibile indicare il num. min e max di legami che le sue istanze possono avere con istanze delle altre entità partecipanti alla medesima relazione (0,1) (0,5) LIBRI PRESTITI PERSONE Un libro può essere in prestito (1) oppure non essere in prestito (0) Una persona può non avere libri in prestito (0) o averne al massimo 5 Basi di Dati – Il modello Entità Relazioni 25 di 45 Prof. M. Zaninelli Cardinalità delle relazioni Se la cardinalità minima è 0 si dice che la partecipazione dell’entità relativa è opzionale, se la cardinalità minima è maggiore o uguale a 1, la partecipazione è obbligatoria (1,1) (0,3) REPARTI GESTIONE PERSONE Ogni reparto è gestito da una (1) e una sola (1) persona Alcune persone non gestiscono alcun reparto (0) ma una persona può gestirne fino a tre (3) Basi di Dati – Il modello Entità Relazioni 26 di 45 Prof. M. Zaninelli Cardinalità delle relazioni Nella maggior parte dei casi si usano solo tre valori: zero, uno, e il simbolo N (ovvero >=1) Se la cardinalità massima è 1 la partecipazione all’entità può essere vista come una funzione che associa ad una occorrenza di una entità una sola occorrenza dell’altra entità Se la cardinalità massima è N esiste una associazione con un numero arbitrario di occorrenze dell’altra entità Basi di Dati – Il modello Entità Relazioni 27 di 45 Prof. M. Zaninelli Tipi di relazioni Osservando le cardinalità massime si ottiene la classificazione seguente 1 1 1:1 1:N 1 N (uno a molti) N:M N M (molti a molti) Basi di Dati – Il modello Entità Relazioni 28 di 45 Prof. M. Zaninelli Esempio 1 1 PASSEGGERI POSTO ASSEGNATO POSTI A ogni passeggero è assegnato al più un posto e a ogni posto è assegnato al più un passeggero N M PASSEGGERI POSTO ASSEGNATO VOLI Ogni passeggero può avere assegnati posti su più voli, ogni volo porta diversi passeggeri Basi di Dati – Il modello Entità Relazioni 29 di 45 Prof. M. Zaninelli Esercizio N 1 PERSONE NUM ASSEGNATO NUM_TELEFONO Ogni persona può avere associati più numeri di telefono, ogni numero di telefono può essere associato al più ad una persona Che tipo di relazione si può stabilire tra 1. CALCOLATORI e INDIRIZZI IP 2. STUDENTI ed ESAMI 3. ATLETI e GARE Basi di Dati – Il modello Entità Relazioni 30 di 45 Prof. M. Zaninelli Associazioni a molte entità Le associazioni possono collegare più di due entità, per esempio il concetto di pubblicazione, intesa come libro scritto da un certo scrittore per una certa casa editrice, potrebbe essere rappresentato come LIBRI SCRITTORI PUBBLICAZIONI CASE EDITRICI Basi di Dati – Il modello Entità Relazioni 31 di 45 Prof. M. Zaninelli Identificatori (chiavi) Ogni entità è un insieme di oggetti aventi le stesse proprietà. È necessario poter identificare in modo univoco ciascuna istanza di un’entità Identificatore interno: sottoinsieme di attributi che costituiscono una chiave per l’entità Identificatore esterno: quando non è sufficiente utilizzare un sottoinsieme di attributi ma l’entità partecipa a una relazione con cardinalità (1,1), i suoi elementi possono essere identificati tramite tale relazione Basi di Dati – Il modello Entità Relazioni 32 di 45 Prof. M. Zaninelli Esempio: identificatore interno Titolo LIBRI Autore ISBN (identificatore interno) Nome STUDENTI Cognome … Matricola (identificatore interno) Altri esempi? Basi di Dati – Il modello Entità Relazioni 33 di 45 Prof. M. Zaninelli Esempio: identificatore esterno Matricola STUDENTI ISCRIZIONE UNIVERSITÀ (1,1) (1,N) Indirizzo Cognome Nome Indirizzo Città Nome Quando gli attributi interni non sono sufficienti si possono considerare attributi di più entità. Basi di Dati – Il modello Entità Relazioni 34 di 45 Prof. M. Zaninelli Esempio: identificatore esterno Ad esempio, nel caso precedente che considera tutti gli studenti universitari iscritti a tutte le università italiane, non c’è garanzia che i numeri di matricola siano univoci Per identificare in modo univoco uno studente servirà quindi, oltre al suo numero di matricola, anche il nome dell’università cui è iscritto Quindi un identificatore corretto per l’entità STUDENTE è dato dal suo attributo Matricola e dall’entità UNIVERSITÀ, in particolare dall’attributo Nome di UNIVERSITÀ, che è un identificatore esterno Naturalmente questo funziona perché ad ogni studente è associata una e una sola università Basi di Dati – Il modello Entità Relazioni 35 di 45 Prof. M. Zaninelli Generalizzazioni Rappresentano legami logici tra una entità E detta padre e più entità E1, E2, …, En, dette entità figlie. L’entità E è più generale e comprende le entità figlie … è una struttura gerarchica, ad albero. Questo tipo di struttura è fondamentale nell’informatica … si pensi ad esempio al File System Basi di Dati – Il modello Entità Relazioni 36 di 45 Prof. M. Zaninelli Generalizzazioni Codice fiscale Nome PERSONE Indirizzo Attributi comuni Nascita STUDENTI IMPIEGATI Sotto categorie Matricola Stipendio Reparto Livello Basi di Dati – Il modello Entità Relazioni 37 di 45 Prof. M. Zaninelli Esercizi: In particolare, aggiungere: generalizzazioni, chiavi e cardinalità delle relazioni. Esercizi tratti da: Basi di Dati di Atzeni, Ceri, Paraboschi, Torlone, casa editrice McGraw-Hill Basi di Dati – Il modello Entità Relazioni 38 di 45 Prof. M. Zaninelli Soluzioni esercizio 5.3 n°1: Basi di Dati – Il modello Entità Relazioni 39 di 45 Prof. M. Zaninelli Soluzioni esercizio 5.3 n°2: Basi di Dati – Il modello Entità Relazioni 40 di 45 Prof. M. Zaninelli Soluzioni esercizio 5.3 n°3: Basi di Dati – Il modello Entità Relazioni 41 di 45 Prof. M. Zaninelli Soluzioni esercizio 5.4 n°1: Basi di Dati – Il modello Entità Relazioni 42 di 45 Prof. M. Zaninelli Soluzioni esercizio 5.4 n°2: Basi di Dati – Il modello Entità Relazioni 43 di 45 Prof. M. Zaninelli Soluzioni esercizio 5.4 n°3: Basi di Dati – Il modello Entità Relazioni 44 di 45 Prof. M. Zaninelli Termini della Licenza This work is licensed under the Creative Commons Attribution- ShareAlike License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/1.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. Original Work by: G. Mecca - [email protected] - Basi di Dati Basi di Dati – Il modello Entità Relazioni 45 di 45