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

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)
DB - Modello relazionale dei 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;
1 Progettazione Concettuale: Entity/Relationships (E/R) Esigenza di strumenti efficaci, chiari e sintetici per rappresentare i dati di interesse e le loro.
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.
Gestione Dati & Archivi
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
teoria … e pratica con Microsoft Access
Corso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati)
11/10/2001Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 3 1 Viste (relazioni derivate) Rappresentazioni diverse per gli stessi dati (schema esterno)schema.
LA PROGETTAZIONE LOGICA
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999
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
Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti.
Strategia bottom-up Nella strategia bottom-up le specifiche iniziali sono suddivise in componenti via via sempre più piccole, fino a descrivere frammenti.
Partizionamento/accorpamento di concetti
Modello E-R Generalizzazioni
Modello Relazionale Proposto agli inizi degli anni ‘70 da Codd
Corso di Informatica - Basi di Dati Introduzione alle basi di dati Gabriella Pasi
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.
Progettare un database
Basi di Dati e Sistemi Informativi
Basi di Dati e Sistemi Informativi
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
1 Basi di dati (Sistemi Informativi) Scuola di Dottorato in Scienze Veterinarie per la Salute Animale e la Sicurezza Alimentare a.a Ing. Mauro.
Corso di Laurea in Ingegneria per l’Ambiente e il Territorio Informatica per l’Ambiente e il Territorio Docente: Giandomenico Spezzano Tutor: Alfredo Cuzzocrea.
SQL (IV) Data Definition Language/ Data Manipulation Language.
Progettazione di una base di dati Progettazione logica (modello relazionale)
Il modello Entity-Relationship
Progettazione Concettuale:
Informatica Introduzione alle basi di dati Lezione 2 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
Progettazione concettuale di basi di dati: introduzione e modello ER
Database Progettazione Concettuale
Dati e DBMS DBMS relazionali SQL Progettazione di un DBMS Normalizzazione Programma del Corso di Basi di Dati.
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.
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Normalizzazione Programma del Corso.
Strategie di progetto Si possono utilizzare le strategie tipiche dello sviluppo di un processo di ingegnerizzazione (es. ingegneria del software). Strategie.
Progettazione di basi di dati: metodologie e modelli
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.
15/12/2014Atzeni-Ceri-Fraternali-Paraboschi-Torlone, Basi di dati, Capitolo 8 1 (0,1) (0,N) (1,1) (0,1) (1,1) (1,N) (0,N) (1,N) (1,1) Città Telefono Nome.
Eprogram informatica V anno.
Cloud informatica V anno.
Transcript della presentazione:

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 17/10/2002

Progettazione di basi di dati È una delle attività del processo di sviluppo dei sistemi informativi va quindi inquadrata in un contesto più generale: il ciclo di vita dei sistemi informativi: Insieme e sequenzializzazione delle attività svolte da analisti, progettisti, utenti, nello sviluppo e nell’uso dei sistemi informativi attività iterativa, quindi ciclo 17/10/2002

Studio di fattibilità Raccolta e analisi dei requisiti Progettazione Realizzazione Validazione e collaudo Funzionamento 17/10/2002

Fasi (tecniche) del ciclo di vita Studio di fattibilità: definizione costi e priorità Raccolta e analisi dei requisiti: studio delle proprietà del sistema Progettazione: di dati e funzioni Realizzazione Validazione e collaudo: sperimenazione Funzionamento: il sistema diventa operativo 17/10/2002

Ma: progettazione dei dati progettazione delle applicazioni La progettazione di un sistema informativo riguarda due aspetti: progettazione dei dati progettazione delle applicazioni Ma: i dati hanno un ruolo centrale i dati sono più stabili 17/10/2002

Progettazione dei dati Studio di fattibilità Raccolta e analisi dei requisiti Progettazione dei dati Realizzazione Validazione e collaudo Funzionamento 17/10/2002

Per garantire prodotti di buona qualità è opportuno seguire una metodologia di progetto, con: articolazione delle attività in fasi criteri di scelta modelli di rappresentazione generalità e facilità d'uso 17/10/2002

Progettazione dei dati Studio di fattibilità Raccolta e analisi dei requisiti Progettazione dei dati Realizzazione Validazione e collaudo Funzionamento 17/10/2002

“CHE COSA”: analisi “COME”: progettazione concettuale Requisiti della base di dati “CHE COSA”: analisi Schema concettuale Progettazione logica Progettazione fisica Schema logico “COME”: progettazione Schema fisico 17/10/2002

I prodotti della varie fasi sono schemi di alcuni modelli di dati: Schema concettuale Schema logico Schema fisico 17/10/2002

Modello dei dati insieme di costrutti utilizzati per organizzare i dati di interesse e descriverne la dinamica componente fondamentale: meccanismi di strutturazione (o costruttori di tipo) come nei linguaggi di programmazione esistono meccanismi che permettono di definire nuovi tipi, così ogni modello dei dati prevede alcuni costruttori ad esempio, il modello relazionale prevede il costruttore relazione, che permette di definire insiemi di record omogenei 17/10/2002

Schemi e istanze In ogni base di dati esistono: lo schema, sostanzialmente invariante nel tempo, che ne descrive la struttura (aspetto intensionale) nel modello relazionale, le intestazioni delle tabelle l’istanza, i valori attuali, che possono cambiare anche molto rapidamente (aspetto estensionale) nel modello relazionale, il “corpo” di ciascuna tabella 17/10/2002

Due tipi (principali) di modelli modelli logici: utilizzati nei DBMS esistenti per l’organizzazione dei dati utilizzati dai programmi indipendenti dalle strutture fisiche esempi: relazionale, reticolare, gerarchico, a oggetti modelli concettuali: permettono di rappresentare i dati in modo indipendente da ogni sistema cercano di descrivere i concetti del mondo reale sono utilizzati nelle fasi preliminari di progettazione il più noto è il modello Entity-Relationship 17/10/2002

Modelli concettuali, perché? Proviamo a modellare una applicazione definendo direttamente lo schema logico della base di dati: da dove cominciamo? rischiamo di perderci subito nei dettagli dobbiamo pensare subito a come correlare le varie tabelle (chiavi etc.) i modelli logici sono rigidi 17/10/2002

Modelli concettuali, perché? servono per ragionare sulla realtà di interesse, indipendentemente dagli aspetti realizzativi permettono di rappresentare le classi di dati di interesse e le loro correlazioni prevedono efficaci rappresentazioni grafiche (utili anche per documentazione e comunicazione) 17/10/2002

Architettura (semplificata) di un DBMS utente Schema logico Schema interno BD 17/10/2002

Progettazione logica Progettazione fisica concettuale Progettazione logica Progettazione fisica 17/10/2002

Modello Entity-Relationship (Entità-Relazione) Il più diffuso modello concettuale Ne esistono molte versioni, (più o meno) diverse l’una dall’altra 17/10/2002

I costrutti del modello E-R Entità Relationship Attributo Identificatore Generalizzazione …. 17/10/2002

Entità Classe di oggetti (fatti, persone, cose) della applicazione di interesse con proprietà comuni e con esistenza “autonoma” Esempi: impiegato, città, conto corrente, ordine, fattura 17/10/2002

Relationship Legame logico fra due o più entità, rilevante nell’applicazione di interesse Esempi: Residenza (fra persona e città) Esame (fra studente e corso) 17/10/2002

Uno schema E-R, graficamente Esame Studente Corso 17/10/2002

Entità Classe di oggetti (fatti, persone, cose) della applicazione di interesse con proprietà comuni e con esistenza “autonoma” Esempi: impiegato, città, conto corrente, ordine, fattura 17/10/2002

Entità: schema e istanza classe di oggetti, persone, … "omogenei" Occorrenza (o istanza) di entità: elemento della classe (l'oggetto, la persona, …, non i dati) nello schema concettuale rappresentiamo le entità, non le singole istanze (“astrazione”) 17/10/2002

Rappresentazione grafica di entità Impiegato Dipartimento Città Vendita 17/10/2002

Entità, commenti Ogni entità ha un nome che la identifica univocamente nello schema: nomi espressivi opportune convenzioni singolare 17/10/2002

Relationship Legame logico fra due o più entità, rilevante nell’applicazione di interesse Esempi: Residenza (fra persona e città) Esame (fra studente e corso) Chiamata anche: relazione, correlazione, associazione 17/10/2002

Rappresentazione grafica di relationship Esame Studente Corso Residenza Impiegato Città 17/10/2002

Relationship, commenti Ogni relationship ha un nome che la identifica univocamente nello schema: nomi espressivi opportune convenzioni singolare sostantivi invece che verbi (se possibile) 17/10/2002

Esempi di occorrenze S1 C1 S2 C2 S3 S4 C3 Corso Studente E1 E2 E3 E4 17/10/2002

Relationship, occorrenze Una occorrenza di una relationship binaria è coppia di occorrenze di entità, una per ciascuna entità coinvolta Una occorrenza di una relationship n-aria è una n-upla di occorrenze di entità, una per ciascuna entità coinvolta Nell'ambito di una relationship non ci possono essere occorrenze (coppie, ennuple) ripetute 17/10/2002

Relationship corrette? Esame Studente Corso Visita Paziente Medico 17/10/2002

Due relationship sulle stesse entità Sede di lavoro Residenza Impiegato Città 17/10/2002

Relationship n-aria Fornitura Fornitore Prodotto Dipartimento 17/10/2002

Relationship ricorsiva: coinvolge “due volte” la stessa entità Persona Conoscenza 17/10/2002

Relationship ricorsiva con “ruoli” Successione Sovrano Successore Predecessore 17/10/2002

Relationship ternaria ricorsiva Confronto Tennista Superficie Migliore Peggiore 17/10/2002

Attributo Proprietà elementare di un’entità o di una relationship, di interesse ai fini dell’applicazione Associa ad ogni occorrenza di entità o relationship un valore appartenente a un insieme detto dominio dell’attributo 17/10/2002

Attributi, rappresentazione grafica Data Voto Cognome Nome Matricola Titolo Codice Esame Studente Corso 17/10/2002

Attributi composti Raggruppano attributi di una medesima entità o relationship che presentano affinità nel loro significato o uso Esempio: Via, Numero civico e CAP formano un Indirizzo 17/10/2002

Rappresentazione grafica Cognome Età Impiegato Via Indirizzo Numero CAP 17/10/2002

Impiegato Dipartimento Indirizzo Sede Progetto Codice Cognome Direzione Telefono Dipartimento Nome Afferenza Data Partecipazione Composizione Città Indirizzo Sede Via CAP Progetto Nome Budget 17/10/2002

Altri costrutti del modello E-R Cardinalità di relationship di attributo Identificatore interno esterno Generalizzazione 17/10/2002

Cardinalità di relationship Coppia di valori associati a ogni entità che partecipa a una relationship specificano il numero minimo e massimo di occorrenze delle relationship cui ciascuna occorrenza di una entità può partecipare 17/10/2002

Esempio di cardinalità (1,5) (0,50) Assegnamento Impiegato Incarico 17/10/2002

per semplicità usiamo solo tre simboli: 0 e 1 per la cardinalità minima: 0 = “partecipazione opzionale” 1 = “partecipazione obbligatoria” 1 e “N” per la massima: “N” non pone alcun limite 17/10/2002

Occorrenze di Residenza Città Studente 17/10/2002

Cardinalità di Residenza Studente Città (1,1) (0,N) 17/10/2002

Tipi di relationship Con riferimento alle cardinalità massime, abbiamo relationship: uno a uno uno a molti molti a molti 17/10/2002

Relationship “molti a molti” Esame Studente Corso (0,N) Scalata Montagna Alpinista (0,N) (1,N) Abilitazione Macchinista Locomotore (1,N) 17/10/2002

Due avvertenze Attenzione al "verso" nelle relationship uno a molti le relationship obbligatorie-obbligatorie sono molto rare 17/10/2002

Relationship “uno a molti” Impiego Persona Azienda (0,1) (0,N) Ubicazione Cinema Località (1,1) (0,N) Ubicazione Comune Provincia (1,1) (1,N) 17/10/2002

Relationship “uno a uno” Titolarità Professore Cattedra (0,1) Titolarità Professore di ruolo Cattedra (1,1) (0,1) Titolarità Professore di ruolo Cattedra coperta (1,1) 17/10/2002

Cardinalità di attributi E’ possibile associare delle cardinalità anche agli attributi, con due scopi: indicare opzionalità ("informazione incompleta") indicare attributi multivalore 17/10/2002

Rappresentazione grafica Impiegato Telefono Nome Numero patente (0,N) (0,1) 17/10/2002

Identificatore di una entità “strumento” per l’identificazione univoca delle occorrenze di un’entità costituito da: attributi dell’entità identificatore interno (attributi +) entità esterne attraverso relationship identificatore esterno 17/10/2002

Identificatori interni Targa Automobile Modello Persona Data Nascita Cognome Nome Indirizzo 17/10/2002

Identificatore esterno Cognome Matricola Nome (1,1) (0,N) Iscrizione Studente Università Anno di corso Indirizzo 17/10/2002

Alcune osservazioni ogni entità deve possedere almeno un identificatore, ma può averne in generale più di uno una identificazione esterna è possibile solo attraverso una relationship a cui l’entità da identificare partecipa con cardinalità (1,1) perché non parliamo degli identificatori delle relationship? 17/10/2002

Indirizzo Dipartimento Sede Impiegato Progetto Città Indirizzo Telefono Dipartimento Composizione Sede Direzione Afferenza Impiegato Progetto Partecipazione Nome Cognome Budget Data Via CAP Codice (1,1) (0,1) (1,N) (0,N) (0,1) (0,N) (1,N) (1,1) (1,N) (0,1) 17/10/2002

Generalizzazione mette in relazione una o più entità E1, E2, ..., En con una entità E, che le comprende come casi particolari E è generalizzazione di E1, E2, ..., En E1, E2, ..., En sono specializzazioni (o sottotipi) di E 17/10/2002

Rappresentazione grafica Dipendente Impiegato Funzionario Dirigente 17/10/2002

Proprietà delle generalizzazioni Se E (genitore) è generalizzazione di E1, E2, ..., En (figlie): ogni proprietà di E è significativa per E1, E2, ..., En ogni occorrenza di E1, E2, ..., En è occorrenza anche di E 17/10/2002

Città Codice fiscale Persona Lavoratore Studente Stipendio Nascita Codice fiscale (1,1) Persona Nome Lavoratore Studente Stipendio Età 17/10/2002

Ereditarietà tutte le proprietà (attributi, relationship, altre generalizzazioni) dell’entità genitore vengono ereditate dalle entità figlie e non rappresentate esplicitamente 17/10/2002

Tipi di generalizzazioni totale se ogni occorrenza dell'entità genitore è occorrenza di almeno una delle entità figlie, altrimenti è parziale esclusiva se ogni occorrenza dell'entità genitore è occorrenza di al più una delle entità figlie, altrimenti è sovrapposta consideriamo (senza perdita di generalità) solo generalizzazioni esclusive e distinguiamo fra totali e parziali 17/10/2002

Persona Disoccupato Lavoratore 17/10/2002

Persona Uomo Donna Uomo Donna 17/10/2002

Altre proprietà possono esistere gerarchie a più livelli e multiple generalizzazioni allo stesso livello un'entità può essere inclusa in più gerarchie, come genitore e/o come figlia se una generalizzazione ha solo un’entità figlia si parla di sottoinsieme alcune configurazioni non hanno senso il genitore di una generalizzazione totale può non avere identificatore, purché … 17/10/2002

Esercizio Le persone hanno CF, cognome ed età; gli uomini anche la posizione militare; gli impiegati hanno lo stipendio e possono essere segretari, direttori o progettisti (un progettista può essere anche responsabile di progetto); gli studenti (che non possono essere impiegati) un numero di matricola; esistono persone che non sono né impiegati né studenti (ma i dettagli non ci interessano) 17/10/2002

CF Persona Età Cognome Uomo Donna Militare Impiegato Studente Stipendio Matr. Segretario Direttore Progettista Responsabile 17/10/2002

Documentazione associata agli schemi concettuali dizionario dei dati entità relationship vincoli non esprimibili 17/10/2002

Indirizzo Dipartimento Sede Impiegato Progetto Città Indirizzo Telefono Dipartimento Composizione Sede Direzione Afferenza Impiegato Progetto Partecipazione Nome Cognome Budget Data Via CAP Codice (1,1) (0,1) (1,N) (0,N) (0,1) (0,N) (1,N) (1,1) (1,N) (0,1) 17/10/2002

Dizionario dei dati (entità) 17/10/2002

Dizionario dei dati (relationship) 17/10/2002

Vincoli non esprimibili 17/10/2002