Basi di Dati prof. A. Longheu 4 – Progettazione – Introduzione e Modello E-R Cap. 5 “Basi di dati” Atzeni – Ceri – Paraboschi - Torlone Progettazione La progettazione di un DB attraverso 3 passi: • Progettazione concettuale • Progettazione logica • Progettazione fisica avviene 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 (a,A) Attributo composto (b,B) Cardinalita' di relazione (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. 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 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