Progettazione concettuale di basi di dati: introduzione e modello ER

Slides:



Advertisements
Presentazioni simili
La progettazione concettuale
Advertisements

Informatica II – Basi di Dati (08/09) – Parte 1
Corso di Laurea in Biotecnologie Informatica (Basi di Dati)
IL MODELLO ENTITÀ-RELAZIONE Gli altri costruttori
PROGETTAZIONE DI BASE DI DATI Metodologie e modelli.
IL MODELLO ENTITA’ - RELAZIONE I costruttori di base
LA PROGETTAZIONE LOGICA Seconda parte
LA PROGETTAZIONE CONCETTUALE Seconda parte
Progettazione concettuale
Progettazione concettuale
DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un’ organizzazione, in modo: Semplice;
Una Introduzione alle Basi di Dati
1 Sistemi per il recupero delle informazioni PARTE - III COME SI MODELLA.
1 Progettazione Concettuale: Entity/Relationships (E/R) Esigenza di strumenti efficaci, chiari e sintetici per rappresentare i dati di interesse e le loro.
Progettazione Concettuale: Il modello Entità-Relazioni
4 – Progettazione – Introduzione e Modello E-R
5 – Progettazione Concettuale
Basi di Dati prof. A. Longheu 4 – Progettazione – Introduzione e Modello E-R Cap. 5 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.
Relazioni Relazione: Associazione o legame logico esistente tra due o più entità Socio Prenota Campo.
Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
L’uso dei database in azienda
ENTITÀ - RELAZIONE MODELLO ENTITÀ E ATTRIBUTI DOMINI RELAZIONI
Corso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati)
LA PROGETTAZIONE LOGICA
Metodologie e Modelli di Progetto
Basi di dati 2002 EER Vogliamo aumentare lespressività degli Entity Model EER: Entity Model Esteso.
Modello E-R Generalizzazioni
Progettazione di una base di dati
Strategia bottom-up Nella strategia bottom-up le specifiche iniziali sono suddivise in componenti via via sempre più piccole, fino a descrivere frammenti.
Modello E-R Generalizzazioni
Basi di dati Claudia Raibulet
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
LA PROGETTAZIONE DELLE BASI DI DATI
Il modello ER Proposto da Peter Chen nel 1976 rappresenta uno standard per la progettazione concettuale (in particolare per le basi di dati) Ha una rappresentazione.
LA PROGETTAZIONE DELLE BASI DI DATI
Corso di Laurea in Informatica
Progettare un database
Basi di Dati e Sistemi Informativi
Basi di Dati e Sistemi Informativi
DB- Sistemi Informativi
1 Basi di dati (Sistemi Informativi) Scuola di Dottorato in Scienze Veterinarie per la Salute Animale e la Sicurezza Alimentare a.a Ing. Mauro.
Modellazione dei Dati Fabio Scanu a.s. 2012/2013.
Progettazione concettuale 1 persona Ente lavora in impiegatodatore.
Progettazione di una base di dati Progettazione logica (modello relazionale)
Progettazione Concettuale:
Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E-R in modo corretto.
Diagramma delle Classi
Database Progettazione Concettuale
Progettazione di basi di dati Giorgio Ghelli Perché progettare Le basi di dati nascono normalmente senza progettazione, buttando tutti i dati in una.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999
Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill.
Progettazione di una base di dati Ciclo di vita di un sistema informativo Studio di fattibilità definisce le varie alternative possibili, i relativi costi.
Basi di dati e Relazioni Uno schema di relazione R(X) è costituito da un simbolo (nome della relazione) R e da una serie di attributi X={A 1, A 2, …, A.
Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E-R in modo corretto.
Progettazione di una base di dati relazionale Vincoli.
Strategie di progetto Si possono utilizzare le strategie tipiche dello sviluppo di un processo di ingegnerizzazione (es. ingegneria del software). Strategie.
Progettazione di una base di dati relazionale Terza forma normale.
Sistemi di Elaborazione delle Informazioni
PROGETTAZIONE DI BASE DI DATI Metodologie e modelli.
Metodologie e modelli per il progetto. 2 Introduzione alla progettazione Il problema: progettare una base di base di dati a partire dai suoi requisiti.
1 Esami Esame scritto: Tra 21 e 25 domande: 20 domande chiuse (20 punti),  5 domande aperte (10 punti) 1½ ore Esame orale/applicativo: Esercizi usando.
Eprogram informatica V anno.
Cloud informatica V anno.
NORMALIZZAZIONE ESERCIZI. INTRODUZIONE La modellazione E-R ci ha consentito di descrivere schemi relazionali Lo strumento base per la modellizzazione.
ICT e Sistemi informativi Aziendali Materiale di supporto alla didattica.
Prima esercitazione di Basi di Dati Barcelli, Bardine, Loconsole, Manganelli e MIgliorini.
Progettazione concettuale Castagnozzi Savino Ciaramello Massimo Emiliano Galeazzi Federico Guerriero Lorenzo Macauda Giorgio.
Il modello relazionale. Modello Relazionale 2 Dal modello concettuale a quello logico Una volta stabilita la rappresentazione concettuale della realtà.
Transcript della presentazione:

Progettazione concettuale di basi di dati: introduzione e modello ER http://www.slideshare.net/mbrambil http://home.dei.polimi.it/mbrambil http://twitter.com/MarcoBrambi Progettazione concettuale di basi di dati: introduzione e modello ER Marco Brambilla

Sommario della lezione Introduzione Astrazione e modelli Il modello Entità-Relazione Entità Associazioni( Relazioni!) Attributi Gerarchie Strategie di progetto Top down Bottom up Limiti e trasformazione verso il progetto logico

Il contesto: progettazione sw Raccolta requisiti Specifica requisiti non funzionali Modellazione concettuale Analisi funzionale Progettazione SW applicativo Progettazione logica Progettazione fisica

Fasi della progettazione la progettazione concettuale (CIM) tradurre il risultato dell’analisi dei requisiti in un modello espresso tramite uno SCHEMA CONCETTUALE indipendente dalla struttura dei dati la progettazione logica (PIM) tradurre lo SCHEMA CONCETTUALE in uno SCHEMA LOGICO dipende dal tipo di struttura dei dati scelto tra: Gerarchico, Reticolare, Relazionale, ad oggetti, XML, ... la progettazione fisica (PSM) progetto che ottenga prestazioni ottimali tramite scelta e dimensionamento di strutture fisiche di accesso. Dipende dal sistema (DBMS) in uso * CIM = computation independent model PIM = platform independent model PSM = platform specific model

Ingredienti dei modelli concettuali MODELLO: rappresentazione semplificata o parziale della realtà atta a uno specifico scopo Esempio? Mai realtà completa CONCETTO/ ISTANZA: dicotomia tra la classe e l’oggetto concreto ASTRAZIONE: capacità di evidenziare caratteristiche comuni ad insiemi di oggetti Tre astrazioni base per la rappresentazione della conoscenza: Classificazione: classi e test di appartenenza delle istanze Aggregazione: composizione di oggetti complessi Generalizzazione/specializzazione: raffinamento di classi in sottoclassi Esempio... dall’asilo

Il modello ER modello Entity-Relationship (ER) [P.P.Chen 1976] standard industriale de facto di buona parte delle metodologie e degli strumenti per il progetto concettuale di basi di dati Attenzione! Relationship = Associazione Da non confondere con relazioni del modello RELAZIONALE Pero’ poi la si chiama anche informalmente “relazione”

Caso di studio Gestione delle prenotazioni dei posti di un laboratorio didattico di una università. Ogni studente è caratterizzato dalla propria matricola, nome, cognome, data e luogo di nascita, residenza, recapito telefonico. Gli studenti frequentano alcuni laboratori didattici. I laboratori didattici contengono un insieme di posti di lavoro ed un insieme di risorse. Ad ogni posto di lavoro sono assegnate alcune risorse (unità di calcolo, stampanti, applicazioni). Alcune delle risorse sono rese disponibili a tutti gli studenti senza controlli, altre vengono assegnate agli studenti che frequentano determinati laboratori, previa autorizzazione. Lo studente può utilizzare un posto di lavoro solo se effettua una prenotazione. Si deve tenere traccia di tutte le prenotazioni e di tutte le volte che lo studente utilizza un posto di lavoro. Ogni laboratorio ha un solo responsabile, il quale si può occupare di un solo laboratorio.

Entità nome dell’entità esempio: studente Rappresenta una classe di oggetti (es., automobili, impiegati, studenti) o di fatti (es., conti correnti, corsi universitari) Non un insieme ma una categoria /prototipo Usa nomi singolari per le entità Devono essere oggetti rilevanti per la applicazione Ogni entità è caratterizzata da un nome e da attributi Notazione: nome dell’entità esempio: studente

Associazione (o Relazione) Rappresenta un collegamento semantico tra entità di interesse per l’applicazione Ogni istanza di una associazione è una ennupla tra istanze di entità (es., legame tra un automobile e il suo proprietario) Ogni associazione è caratterizzata da un nome Usa nomi indipendenti dalla direzione di lettura dell’associazione (es. verbi all’infinito o nomi) Notazione: Nome esempio: studente esame Sostenere

Rappresentazione grafica delle istanze: relazione matematica! Dominio Codominio Immagine Studente Esame

Attributi codice cognome voto Rappresentano caratteristiche delle entità e delle associazioni di interesse per l’applicazione Ogni attributo è caratterizzata da un nome (e da un tipo/dominio) Notazione: codice cognome voto

Come progettare? Se il concetto è significativo per il contesto applicativo  entità Se il concetto è una proprietà/caratteristica di un concetto descrivibile tramite un dato elementare:  attributo Se il concetto definisce un legame tra entità:  associazione

Corrispondenza tra concetti ed elementi ER La corrispondenza tra oggetti e fatti del mondo reale e entità, associazioni e attributi non è assoluta ma dipende dal contesto: Esempio: Colore = attributo o entità? il trattore BOF34675 è di colore rosso il colore rosso ha lunghezza d’onda = ~700 nm

Esempio: gestione viaggi autobus guidatore guidare autobus servizio percorso

Esempio: università dipartimento docente corso studente afferenza insegnamento frequenza studente corso

Ruoli e Cardinalità Ruolo: verso di percorrenza di una associazione Autobus  presta servizio su  Percorso Percorso  servito da  Autobus Cardinalità: vincolo sul numero di istanze di associazione cui ciascuna istanza di entità deve partecipare. È una coppia (MIN-CARD, MAX-CARD). Valori significativi: MIN-CARD = 0 (opzionale) = 1 (obbligatoria) MAX-CARD = 1 (uno) = N (molti) In base alla sola cardinalità massima si hanno associazioni uno-uno, uno-molti, molti-molti

Associazione 1:1 con opzionalità (0,1) (1,1) reparto direzione direttore un reparto puo’ essere diretto da uno solo direttore (0,1) un direttore deve dirigere uno ed un solo reparto (1,1)

Associazione 1:1 con opzionalità Reparto Direttore

Auto-associazioni associazioni aventi come partecipanti istanze provenienti dalla stessa entità (chiamate anche “ad anello”): (0,n) controllore impiegato controllo controllato (0,1)

Associazioni ternarie guidatore autobus guida (0,n) Pensaci N volte prima di introdurre una associazione di grado N Attenzione alle cardinalità percorso

Associazioni ternarie Guidatore Autobus Percorso

Cardinalità degli attributi una prima classificazione: attributo scalare (semplice, ad un solo valore) es.: matricola, cognome, voto attributo multiplo (sono ammessi n valori) (1,n) es.: qualifica, titolo, specialità il simbolo (n,m) esprime la cardinalità dell’attributo. attributo opzionale (è ammessa la “non esistenza del valore”) (0,n) (0,1) es.: tel., qualifica, targa

Attributi composti attributo composto attributo multiplo composto es.: data (gg,mm,aaaa), indirizzo (via, numero civico, città, provincia, cap) (1,1) attributo multiplo composto (1,n) es.: telefono (stato, città, numero)

Identificatore mat. c.f. c.inv. Un identificatore caratterizza in modo univoco ciascuna istanza di entità simbolo non è modificabile (in generale…) c.f. mat. c.inv. dipendente macchina libro

Identificatori composti L’identificatore di un’entità può essere composto targa AUTO n. telaio nome albergo località modello n. produzione nome società stabilimento località

Attributi – esempio completo c.f. D I P E N D E N T E cognome nome data_nascita data_assunzione (0,1) n_tel. livello (1,2) recapito (1,n) qualifica stipendio indirizzo

Entità deboli Le entità deboli possono esistere se e solo se sono presenti entità “forti” da cui queste dipendono Non hanno identificatore proprio In caso di eliminazione dell’istanza “forte” di riferimento le istanze deboli collegate devono essere eliminate le entità con identificatore esterno sono deboli poiché a tutti i livelli la cancellazione di una entità provoca la cancellazione delle entità deboli collegate Es. eliminazione di vettura

Simboli usati matr matr dipendente dipendente (0,n) (0,n) Ass. Ass. (1,1) (1,1) CF CF parente parente

Gerarchie di generalizzazione Ereditarietà Una gerarchia di generalizzazione è un legame logico tra un’entità padre E ed alcune entità figlie E1 E2 .. En dove: E è la generalizzazione di E1 E2 .. En E1 E2 .. En sono specializzazioni di E tale per cui: ogni istanza di Ek è anche istanza di E una istanza di E può essere una istanza di Ek Le entità figlio ereditano le proprietà (attributi, relazioni, identificatori) dell’entità padre

Proprietà delle gerarchie: t vs. p , e vs. o t sta per totale: ogni istanza dell’entità padre deve far parte di una delle entità figlie p sta per parziale: le istanze dell’entità padre possono far parte di una delle entità figlie e sta per esclusiva: ogni istanza dell’entità padre non può far parte di più di una delle entità figlie o sta per overlpping: ogni istanza dell’entità padre può far parte di più entità figlie

Esempio: personale d’azienda c_f personale cognome indirizzo p_iva stipendio dipendente consulente sindacato compenso (1,1) (0,n) (1,1) Contr. Dip. impiegato (0,n) dirigente mansione classe

Qualità di schemi concettuali Completezza Correttezza Leggibilità (concettuale e grafica) Minimalità Auto-Esplicatività

Leggibilità concettuale Doc Lez I Ric I Eser I Ins Mod I Doc Ric Lez Eser

Leggibilità grafica DA A D AB CD C B BC A B AB DA BC D C CD

Caso di studio - soluzione

Grazie per l’attenzione! http://www.slideshare.net/mbrambil http://home.dei.polimi.it/mbrambil http://twitter.com/MarcoBrambi Grazie per l’attenzione! Ulteriori esempi e spiegazioni su: Braga Brambilla Campi - Eserciziario di basi di dati – Edizioni Esculapio, Progetto Leonardo.Euro 12,00. http://www.editrice-esculapio.it/shop/product/129/Braga-Brambilla- Campi-Eserciziario-di-basi-di-dati.asp Mi trovi su LinkedIn, Twitter, Facebook, e sulla mia home page: http://home.dei.polimi.it/mbrambil