Basi di Dati prof. A. Longheu 4 – Progettazione – Introduzione e Modello E-R Cap. 5 “Basi di dati” Atzeni – Ceri – Paraboschi - Torlone Ciclo di vita dei Sistemi Informativi La Progettazione del Db è una delle fasi di creazione di un sistema informativo, la cui progettazione è il ciclo di vita dei sistemi informativi, che ha 6 Fasi: 1. 2. 3. 4. 5. 6. Studio di fattibilità: scelta delle alternative possibili e stabilimento delle priorità di realizzazione delle componenti del sistema Raccolta ed analisi requisiti, ossia interagendo con gli utenti si devono definire dati ed operazioni su di essi, e quindi i requisiti hw/sw Progettazione: progettazione del db e progettazione delle applicazioni Implementazione: creazione del prototipo, sia per db che applicazioni Validazione e collaudo, ossia verifica della correttezza (informatica) e della coerenza con i requisiti del cliente, e test di tutte le condizioni di lavoro Funzionamento a regime, ossia manutenzione ed estensione Le fasi possono ricominciare, da cui il ciclo (raffinamenti successivi). Progettazione La progettazione di un DB consta di tre passi: • Progettazione concettuale • Progettazione logica • Progettazione fisica Progettazione Concettuale Serve a tradurre la descrizione informale della realta’ ,descritta nei requisiti del DB tipicamente sottoforma di documenti e moduli di vario genere, in uno schema formale e completo (usando ad esempio i diagrammi entita’relazione) ma indipendente dai criteri di rappresentazione del DBMS usato: il prodotto si chiama schema concettuale. Progettazione Logica • Consiste nella traduzione dello schema concettuale in termini di un determinato modello logico (ad esempio il modello relazionale) di dati usato dal DBMS che si intende utilizzare.Il risultato e’ lo schema logico. • Include anche l’ottimizzazione della rappresentazione in funzione delle operazioni eseguite (es. normalizzazione) Progettazione Fisica • Si completa lo schema logico con la specifica dei parametri fisici di memorizzazione dei dati. Si produce lo schema fisico che fa riferimento ad un certo modello fisico dei dati che dipende dal DBMS scelto. Il modello Entita’-Relazione • Il modello Entita’-Relazione (E-R) e’ un modello concettuale di dati che contiene alcuni costrutti atti a descrivere la realta’ in maniera semplice, indipendente dalla organizzazione dei dati nel computer. • I costrutti sono: Entita’, Relazione, Attributo, Cardinalita’, Identificatore, Generalizzazione, Sottoinsieme. Costrutti dei diagrammi E-R Attributo semplice Entita' Relazione (b,B) (a,A) Cardinalita' di relazione Attributo composto (m , M) Cardinalita' di attributo Sottoinsieme Generalizzazione Altri costrutti dei diagrammi E-R Identificatore Interno ed Esterno Entità STUDENTE CORSO PROFESSORE • Entita’ sono classi di oggetti (cose,persone) che hanno proprieta’ comuni ai fini dell’applicazione di interesse che si intende modellare. • Un’occorrenza (o istanza) di un’entita’ e’ un oggetto della classe (concetto diverso dalle t-uple nel modello relazionale qui non ci sono attributi) Relazioni STUDENTE CORSO ESAMI • Le Relazioni (o Associazioni) rappresentano legami logici fra due o piu’ entita’ della nostra applicazione. • Naturalmente possono esserci piu’ relazioni fra le stesse entita’, relazioni ricorsive Attributi Matricola Nome Voto Data Nome Telef Anno Corso Esame Studente Via Numero Indiriz CAP • Descrivono proprieta’ di entita’ o relazioni. Associa ad ogni occorrenza di un’entita’ (o di una relazione) un elemento del dominio dell’attributo. Cardinalita’ delle Relazioni IMPIEGATO (1,5) ASSEGNA (0,50) INCARICO • Ci da’ il numero minimo e massimo di istanze di relazione per ogni istanza di un entita’ cui quella relazione si riferisce • Ad esempio sopra si afferma che ad ogni impiegato si possono assegnare da 1 a 5 incarichi ed ogni incarico puo’ essere assegnato ad al piu’ 50 impiegati • In base alla cardinalità esistono relazioni uno a uno (1-1), uno a molti (1-N) e molti a molti (M-N). Cardinalita’ di Attributo (0 , N) Targa Auto PERSONA Nome (0 , 1) 1) Numero Patente • Specifica il numero minimo e massimo di valori di un attributo per un data occorrenza di un entita’ o relazione. Ad esempio nella figura si esprime che ogni persona ha al piu’ una patente ma puo’ avere piu’ di un’auto. (N indica un intero > 1) Identificatori interni delle entita’ Nome TARGA PERSONA AUTOMOBILE Modello Colore Cognome Data di nascita Indirizzo • Specificano quei concetti (attributi e/o entita’) che servono ad identificare univocamente le occorrenze di un’entita’. Generalmente sono uno o piu’ attributi della stessa entita’ (chiave interna) Identificatori esterni delle entita’ Nome Matricola (1,N) (1,1) Anno Nome STUDENTE ISCRIZIONE UNIVERSITA' Citta' Indirizz o • Un identificatore esterno (foreign key) per un entita’ e’ un identificatore che include un’altra entita’ legata alla prima da una relazione uno a molti . Cosi’ ogni studente e’ identificato dalla matricola e dall’Universita’ a cui e’ iscritto Generalizzazioni Part. IVA Nome Professionista Specializzazione AVVOCATO INGEGNERE MEDICO Un’entita’ (padre) si dice generalizzazione di altre se queste sono casi particolari della prima • Cosi’ Professionista e’ una generalizzazione di Avvocato,Ingegnere e Medico • La generalizzazione è totale se ogni occorrenza della classe padre è occorrenza di almeno una delle figlie (persona-> uomo, donna è totale) • La generalizzazione è esclusiva se ogni occorrenza della classe padre è occorrenza al più di una sola delle figlie (persona->studente, lavoratore è sovrapposta) • Documentazione di schemi E-R • E’ sempre bene corredare un diagramma E-R con una documentazione spesso non esprimibile nel diagramma. Due sono gli elementi di questa documentazione: • Un dizionario delle entita’ e relazioni con relativi attributi. • Un elenco di vincoli d’integrita’ dei dati non esprimibili nel diagramma. • Un elenco di derivazioni, ossia di concetti che possono essere calcolati da altri (ad esempio, i campi costo intero, costo scontato e sconto sono legati fra loro). • Vincoli di integrità e derivazioni sono note con il nome di business rules ESEMPIO ESEMPIO ESEMPIO