1 Prima di iniziare…. Diamo qualche definizione : Modello E/R (Entity/Relationship in italiano EntitàRelazione) : è un modello concettuale di dati e, come tale, fornisce una serie di strutture, detti costrutti, atte a descrivere la realtà di interesse in una maniera facile da comprendere e che prescinde dai criteri di organizzazione dei dati nei calcolatori. 2 Prima di iniziare…. I principali costrutti ( o elementi) di questo modello sono: 1. 2. 3. Entità Associazioni Attributi * Vedremo meglio più avanti i simboli utilizzati 3 Entità - Definizione L’entità è una classe di oggetti (concreta o astratta) che ha un significato anche quando viene considerata in modo isolato ed è di interesse per la realtà che si vuole modellare. Esempi : una persona, un modello di automobile, un movimento contabile, una prova sostenuta da uno studente. (Oss : nel modello logico l’entità corrisponde ad una tabella 4 Istanza - Definizione Istanza di una classe : è l’oggetto di una classe, unico e separato da altri oggetti. Esempio : Lo studente Paolo Rossi rappresenta un’istanza della classe entità Studente (Oss.: nel modello logico un’istanza corrisponde ad un record di una tabella) 5 Associazione, attributi - Definizione L’associazione è un legame che stabilisce un’interazione fra le entità. Gli attributi sono le proprietà delle entità e delle associazioni . (oss. : nella modellazione logica gli attributi corrispondono ai campi di una tabella) Esempio : gli attributi per l’entità Automobile sono: Modello, Produttore, Cilindrata, PrezzoListino. 6 Chiave primaria - Definizione La chiave primaria è un attributo o un insieme di attributi che identifica univocamente una specifica istanza di una entità. Esempio : L’attributo Codice Fiscale identifica univocamente una persona (ad esempio il sig. Mario Rossi). 7 Chiave primaria composta - Definizione Una chiave primaria composta è una chiave primaria che è formata da più di un attributo. Esempio : )n una base di dati di un albergo, un’istanza dell’entità Prenotazione è univocamente individuata dalla chiave primaria composta dagli attributi Cliente, data, e Camera. Una chiave primaria composta è utilizzata quando per identificare un’istanza di un’entità sono necessari più attributi. 8 Esercizio Libri-Editori – 1/6 Una biblioteca ha l’esigenza di organizzare le informazioni relative ai libri presenti nella sua struttura. Tenendo presente che : Si vogliono eseguire interrogazioni per autore Per ogni autore si vogliono memorizzare i principali dati anagrafici Si vogliono eseguire interrogazioni per editore Per ogni editore si vuole memorizzare la Sigla, il nome e la città Si vuole anche interrogare la base di dati in base all’anno di pubblicazione e alla collana editrice (con collana si intende il tema a cui appartiene quel particolare libro, ad es. collana tascabili . Ecc. ) 9 Esercizio Libri-Editori - 2/6 Si realizzi : 1. Un’analisi della realtà di riferimento utile per la progettazione della base di dati, 2. Uno schema concettuale della base di dati, 3. Uno schema logico della base di dati 4. La definizione delle relazioni della base di dati in linguaggio SQL 10 Esercizio Libri-Editori - 3/6 Analisi dei dati 1. Individuare le entità 2. Per ciascuna entità si devono individuare gli attributi 1. Analisi delle associazioni 11 Esercizio Libri-Editori - 4/6 Schema concettuale della base di dati Realizzeremo un progetto grafico, utilizzando il diagramma delle classi del linguaggio UML (analogo al modello E/R) 12 Esercizio Libri-Editori – 5/6 Schema logico della base di dati Notazione formale per indicare le tabelle da inserire nel database. Esempio: per indicare la tabella Libri useremo la notazione Libri(Codice, Titolo, Genere, Autore) N.B. vanno indicati anche i vincoli di integrità referenziale 13 Esercizio Libri-Editori – 6/6 La definizione delle relazioni della base di dati in linguaggio SQL È il codice SQL nel DMBS (ad esempio in MySQL) utilizzato per creare le tabelle 14