Unità A2. Progettazione concettuale. Obiettivi. Astrazione. Astrazione per aggregazione

Documenti analoghi
Le Basi di dati: progettazione concettuale

Le basi di dati. Lez. 2: Progettazione di un DB. Laboratorio di informatica gestionale

Generalizzazione. Docente : Alfredo Cuzzocrea Tel. : Informatica

IL MODELLO ENTITÀ- RELAZIONE. Gli altri costruttori

Informatica Industriale Modello funzionale: Informazione Modello Entità-Relazione

Progettazione di Basi di Dati

Programmazione con Java

I database. Introduzione alla teoria delle basi di dati

Il Modello Concettuale Enità-Relazione (ER)

Modello Entità-Relazione

LE BASI DI DATI. Seconda parte La progettazione di database Relazionali SCHEMA LOGICO e SCHEMA FISICO Costruzione delle tabelle

Il modello Entità/Relazioni (ER)

diagrammi entità-relazioni

Gerarchia di Generalizzazione. Esempio. Rappresentazione grafica. Cap. 4 - Modello E/R avanzato: Gerarchie di Generalizzazione/ specializzazione

Basi di dati. Progettazione di basi di dati: Metodologie e modelli

INTRODUZIONE ALLA PROGETTAZIONE. Patrizio Dazzi a.a

Progettare una base di dati. Progettare una base di dati

Progettazione concettuale usando il modello Entità-Relazione (ER)

Elena Baralis, Claudio Demartini

Il modello concettuale dei dati

Progettazione logica Fase 2: Traduzione nel modello relazionale. adattato da Atzeni et al., Basi di dati, McGrawHill

Il modello Entity-Relationship: elementi avanzati

LE BASI DI DATI. Seconda parte La progettazione di database Relazionali SCHEMA LOGICO Regole di derivazione

Il modello Entity-Relationship: elementi avanzati

Basi di Dati. Il Modello Entità-Relazione. Il Modello Entità-Relazione

Modello Entità - Relazione. Basi di dati. Elena Baralis 2007 Politecnico di Torino D B M G D B M G2 D B M G4 D B M G6. Progettazione di basi di dati

D B M G D B M G 2. Sistemi informativi. Progettazione di basi di dati

Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni

Corso di Laurea in Informatica Basi di Dati a.a

SISTEMI INFORMATIVI E DATABASE

Progettazione logica relazionale (1/2) Progettazione logica. Progettazione logica relazionale (2/2) Introduzione. Progettazione logica

Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia. Università degli Studi di Salerno

LA PROGETTAZIONE CONCETTUALE

Modello Entità-Relazione (E-R)

Ciclo di vita di un sistema informativo

MODELLI DEI DATI. Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia

IL MODELLO ENTITY RELATIONSHIP. il modello ER 1

Basi di Dati e Sistemi Informativi. Progettazione Concettuale: Il modello Entità-Relazioni

Conversione Modello ER in Modello Relazionale. A.Bardine - Conversione Modello ER in Modello Relazionale

SISTEMI INFORMATIVI TERRITORIALI DATABASES -LEZIONE 3

Il modello Relazionale.

Metodologie e Modelli di Progetto

Progettazione di basi di dati

Corso di Basi di Dati

Esercitazione di Basi di Dati

CAPITOLO IV. DATABASE: definizione e progettazione. Definizioni

Progettazione di basi di dati

Strategie top-down. Primitive di trasformazione top-down. Primitive di trasformazione top-down

LE BASI DI DATI. Seconda parte La progettazione di database Relazionali SCHEMA LOGICO - Ristrutturazione dello schema concettuale

Corso di Informatica

RELAZIONI E BASI DI DATI

Introduzione alle basi di dati e ai DBMS

LE BASI DI DATI. Prima parte Premesse introduttive I MODELLI DEI DATI

Progettazione di basi di dati

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw -Hill, Progettazione logica. Dati di ingresso e uscita

La progettazione concettuale: il modello ER. 17/12/2007 Unità di Apprendimento A2 1

Le basi di dati. Lez. 3: Il Modello Relazionale

SISTEMI INFORMATIVI GEOGRAFICI (GIS)

Esercitazione: Dalle Specifiche alla Modellazione ER. Roberto Basili a.a. 2011/2012

Laboratorio di Basi di Dati

Progettazione concettuale. Facoltà di Scienze Matematiche, Fisiche e Naturali. Progettazione concettuale. Acquisizione e analisi dei requisiti

ESERCITAZIONE ER-1. a.a Basi di Dati e di Conoscenza. Basi di dati

Corso di Laurea in Informatica Basi di Dati a.a

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Progettazione concettuale

Basi di dati (nuovo ordinamento) 16 giugno 2008 Compito A

Modelli e Metodi per la Simulazione (MMS)

14. LA PROGETTAZIONE CONCETTUALE: IL DIAGRAMMA ER

Funzioni funzione univocità relazione univoca variabile dipendente variabile indipendente primo insieme secondo insieme

IL MODELLO ENTITA - RELAZIONE

Cap. 3 - Il modello ER

Unità di apprendimento 6. Dal problema al programma

La progettazione logica Traduzione dal modello Entità-Associazione al modello relazionale Anno accademico 2008/2009

Introduzione alla programmazione

Progettazione di basi di dati

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Progettazione logica. Dati di ingresso e uscita

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw -Hill, Progettazione concettuale

Insegnamento di Basi di Dati

Problema. MS Access. Progettazione di un archivio. Soluzione: archivi

Progettazione di Basi di Dati. Dr. C. d'amat

DataBase Management System - DBMS

Laboratorio di Basi di Dati prova totale 20 febbraio 2013

Sistemi di Elaborazione delle Informazioni (C.I. 15) Basi di dati Introduzione teorica

MODELLO e RAPPRESENTAZIONE

Esercizi svolti sul modello ER con regole di lettura. Esercizio 1

Basi di Dati. Concetti e Principi Generali. Maria Mirto

BASI DI DATI. Titolo Prof. Cognome Nome Indirizzo Numero Telefono

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/

U.D. 4 : Il modello logico Prof. Di Capua G.

vero: metodi di sequenziali, linee di (lettura del disegno) 5. Utilizzare software di base di lavorazione per la

Le basi di dati. Base di dati = dati + DBMS.

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, La normalizzazione

Raccolta e analisi dei requisiti

Numero di contratto di noleggio CodiceInterno Chiave primaria CodiceInternazionale Codice identificativo internazionale

UNITÀ DIDATTICA N. 1 IL NUMERO

Introduzione alla OOP Object Oriented Programming

I livelli dei linguaggi. Introduzione alla OOP Object Oriented Programming. La programmazione procedurale separa il calcolo dalla memoria

PROGETTAZIONE CONCETTUALE

Forme normali. Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill. La normalizzazione. Normalizzazione. Una relazione con anomalie.

Un esempio di progettazione concettuale

Database. Cos è un database? Intro Tipi di entità Mapping ER/EER à Relazionale

Transcript:

Obiettivi Unità A2 Progettazione concettuale Imparare ad astrarre i dati per definire entità. Saper distinguere tra astrazione per classificazione, per aggregazione e per generalizzazione. Saper distinguere aggregazioni lasche e strette. Saper distinguere tra generalizzazioni totale/parziale o esclusiva/sovrapposta. Imparare a disegnare diagrammi E/R, inclusi gli attributi, le chiavi, e le associazioni. Imparare a disegnare le associazioni 1:1, 1:N e N:M. Imparare a disegnare le associazioni parziali. Imparare a leggere i diagrammi utilizzando le regole di lettura. Imparare a disegnare le gerarchie di entità utilizzando le associazioni per generalizzazione e per aggregazione. Saper definire e leggere i vincoli di integrità. Imparare a organizzare una base dati con archivi tradizionali. Progettazione concettuale Astrazione Riorganizzare tutti gli elementi per definire un modello astratto della base di dati. Il modello è un documento ufficiale di riferimento per i committenti di comunicazione verso i progettisti della fase successiva di progettazione logica. Procedimento mentale che permette di evidenziare alcune proprietà (significative) escluderne altre (non rilevanti) Astrazione per classificazione aggregazione generalizzazione Astrazione per classificazione Astrazione per aggregazione Vengono individuate proprietà comuni in un insieme di oggetti, esistenti nella realtà. Il risultato è una classe di oggetti; ciascun oggetto è detto istanza o esemplare. A partire da una o più classi si genera una nuova classe. Le classi di partenza diventano componenti o proprietà della nuova classe. Differenze: Classificazione: si parte da un elenco di oggetti Aggregazione: si parte da un elenco di classi In entrambi i casi si arriva a produrre una nuova classe. 1

Aggregazione lasca/stretta Aggregazione per generalizzazione Lasca: gli elementi costitutivi e l entità principale hanno vita propria ed esistono individualmente. Esempio: gli elementi di un computer come il processore, la memoria e il disco fisso possono esistere indipendentemente dalla loro presenza all interno di un computer. In questo caso la relazione tra questi elementi è lasca. Stretta: gli oggetti costitutivi non hanno vita propria, ma solo come elementi dell entità contenitore. Esempio: l entità Persona e l entità CartaDiIdentità. Una carta di identità svincolata da una persona fisica non ha senso, quindi l aggregazione tra questi due elementi è di tipo stretto. Una classe è definita come unione di un insieme di classi. Le generalizzazioni possono essere di due tipi: Totale/Parziale. Quando ogni occorrenza dell entità padre è un occorrenza di almeno una delle entità figlie, la generalizzazione è considerata totale, altrimenti è parziale. Esclusiva/Sovrapposta. Quando ogni occorrenza dell entità padre è al massimo un occorrenza di una delle entità figlie, altrimenti è sovrapposta. Generalizzazione: un esempio Diagrammi E/R Persone generalizzazione uomini donne Diagrammi Entità Associazioni (Entity Relationship). 1976 Peter P. Chen. Modello grafico per descrizione dei dati e delle loro relazioni. Modello concettuale indipendente dalla realizzazione. Entità ProprietàAttributi elementari semplici delle entità Le entità corrispondono a classi di oggetti del mondo reale e vengono rappresentate graficamente con un riquadro che contiene il nome. <nome entità> Proprietà elementari delle entità: Nome Formato (tipo di dato) Dimensione Valore Opzionalità Obbligatorio Facoltativo 2

Attributi composti Attributi multipli Gli attributi composti o aggregati sono costituiti dall aggregazione di altri attributi. Esempio: Dati anagrafici Indirizzo Elenco di lunghezza variabili di attributi dello stesso tipo. Esempio: Sport praticati Voti ottenuti Chiave Un esempio di entità con attributi Insieme di attributi che identificano in modo univoco un entità: Possono esistere più chiavi. Esiste sempre almeno una chiave (al limite costituita da tutti gli attributi). È opportuno scegliere come chiave un sottoinsieme il più ridotto possibile degli attributi. Possono esistere chiavi artificiali. Associazione L associazione (relationship) è un legame fra due entità. Un associazione fra due entità ha due versi. Normalmente si utilizzano sostantivi per le entità e verbi per le associazioni. Rappresentazione di associazioni binarie Professore Codice Cognome Nome è docente di Materia insegna ha per docente Studente Libretto Cognome Classe 3

Più associazioni fra due entità Associazioni multiple risiede Aula Nome N.ro posti Persona Città Docente Classe Cod. Fiscale Cognome Nome è nata Nome Provincia Codice Cognome Nome fa lezione Nome N.ro stud. Data Giorno Ora Associazioni sulla stessa entità Associazioni 1:1 Persona è genitore di è_genitore Le associazioni di questo tipo si utilizzano quando una istanza dell entità A corrisponde a una sola istanza dell entità B e viceversa. è figlio di Associazioni 1:N Associazioni N:M Questa associazione, chiamata uno a molti o anche associazione semplice, mette in relazione una istanza A a una o più istanze di B e ogni istanza di B corrisponde a una sola istanza di A. Questa associazione, chiamata molti a molti o anche associazione complessa, mette in relazione una o più istanze di A a una o più istanze di B e viceversa. 4

Rappresentazioni alternative Associazione totale o parziale <Entità debole> Entità debole cioè senza attributi chiave <Entità A> <associazione> <Entità B> 1 N L associazione: Si dice totale se ogni elemento fa parte dell associazione Parziale se alcuni elementi non ne fanno parte <Entità A> <associazione> <Entità B> totale parziale Le regole di lettura Importanza delle regole di lettura Gerarchie ISA Vincoli d integrità Astrazioni per generalizzazione Gerarchie ISA (is a) (è un) Asserzioni che devono essere soddisfatte. Vincoli impliciti (imposti dalla struttura dei dati): Univocità di chiave primaria Vincoli sulla totalità delle associazioni Vincoli espliciti: V1:0<Età<120 V2:anno(Dipendente.DataAssunzione- Dipendente.DataNascita)>16 5

Un esempio Sintesi (1) L astrazione è un processo di selezione delle caratteristiche salienti di un concetto. Questo processo produce un astrazione che contiene solo le informazioni significative per il contesto entro il quale si sta operando. Nel contesto della progettazione delle basi dati assumono particolare importanza tre diverse tipologie di astrazione: per classificazione, per aggregazione e per generalizzazione. Un modo molto efficace per rappresentare dati e le loro associazioni è utilizzare una rappresentazione grafica: il Modello E/R. Le entità corrispondono a classi di oggetti del mondo reale e sono rappresentate graficamente con un riquadro che contiene il nome dell entità. Un attributo definisce un elemento di informazione presente in una entità. Una chiave ha lo scopo di identificare univocamente una istanza. Sintesi (2) Un associazione è un legame tra due o più entità caratterizzata da due versi e viene rappresentata da un rombo. Le associazioni 1:1 si utilizzano quando una istanza dell entità A corrisponde a una sola istanza dell entità B e viceversa. L associazione 1:N mette in relazione un istanza A a una o più istanze di B e ogni istanza di B corrisponde a una sola istanza di A. L associazione N:M mette in relazione una o più istanze di A a una o più istanze di B e viceversa. Un associazione totale indica che il legame deve essere sempre presente, quella parziale indica che la presenza dell entità collegata non è obbligatoria. Le regole di lettura del diagramma (in linguaggio naturale) sono importanti per controllare la validità della modellazione effettuata. L associazione per generalizzazione del modello E/R permette di rappresentare le astrazioni per generalizzazione (associazione ISA). All interno della base di dati solitamente vengono definite un insieme di regole che devono essere soddisfatte da tutti i dati presenti: i vincoli di integrità. 6