La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003.

Presentazioni simili


Presentazione sul tema: "Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003."— Transcript della presentazione:

1 Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

2 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 2 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 nelluso dei sistemi informativi attività iterativa, quindi ciclo

3 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 3 Studio di fattibilità Raccolta e analisi dei requisiti Progettazione Realizzazione Validazione e collaudo Funzionamento

4 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 4 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

5 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 5 i dati hanno un ruolo centrale i dati sono più stabili La progettazione di un sistema informativo riguarda due aspetti: progettazione dei dati progettazione delle applicazioni Ma:

6 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 6 Studio di fattibilità Raccolta e analisi dei requisiti Progettazione dei dati Realizzazione Validazione e collaudo Funzionamento

7 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 7 … QUINDI 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

8 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 8 Studio di fattibilità Raccolta e analisi dei requisiti Progettazione dei dati Realizzazione Validazione e collaudo Funzionamento

9 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 9 Progettazione fisica Schema concettuale Requisiti della base di dati Progettazione concettuale Progettazione logica Schema logico Schema fisico CHE COSA: analisi COME: progettazione

10 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 10 Schema concettuale Schema logico Schema fisico I prodotti della varie fasi sono schemi di alcuni modelli di dati:

11 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 11 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

12 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 12 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 listanza, i valori attuali, che possono cambiare anche molto rapidamente (aspetto estensionale) nel modello relazionale, il corpo di ciascuna tabella

13 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 13 Due tipi (principali) di modelli modelli logici: utilizzati nei DBMS esistenti per lorganizzazione 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

14 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 14 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

15 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 15 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)

16 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 16 BD Schema logico Schema interno utente Architettura (semplificata) di un DBMS

17 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 17 Progettazione concettuale Progettazione logica Progettazione fisica

18 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 18 Modello Entity-Relationship (Entità-Relazione) Il più diffuso modello concettuale Ne esistono molte versioni, (più o meno) diverse luna dallaltra

19 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 19 I costrutti del modello E-R Entità Relationship Attributo Identificatore Generalizzazione ….

20 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 20 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

21 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 21 Relationship Legame logico fra due o più entità, rilevante nellapplicazione di interesse Esempi: Residenza (fra persona e città) Esame (fra studente e corso)

22 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 22 Uno schema E-R, graficamente Esame StudenteCorso

23 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 23 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

24 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 24 Entità: schema e istanza Entità: 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)

25 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 25 Rappresentazione grafica di entità ImpiegatoDipartimento CittàVendita

26 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 26 Entità, commenti Ogni entità ha un nome che la identifica univocamente nello schema: nomi espressivi opportune convenzioni singolare

27 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 27 Relationship Legame logico fra due o più entità, rilevante nellapplicazione di interesse Esempi: Residenza (fra persona e città) Esame (fra studente e corso) Chiamata anche: relazione, correlazione, associazione

28 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 28 Rappresentazione grafica di relationship Esame StudenteCorso Residenza ImpiegatoCittà

29 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 29 Relationship, commenti Ogni relationship ha un nome che la identifica univocamente nello schema: nomi espressivi opportune convenzioni singolare sostantivi invece che verbi (se possibile)

30 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 30 Esempi di occorrenze S1 S2 S4 S3 Studente C1 C2 C3 Corso E1 E2 E3 E4

31 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 31 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

32 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 32 Relationship corrette? Esame StudenteCorso Visita PazienteMedico

33 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 33 Due relationship sulle stesse entità Residenza ImpiegatoCittà Sede di lavoro

34 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 34 Relationship n-aria FornitoreProdotto Dipartimento Fornitura

35 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 35 Relationship ricorsiva: coinvolge due volte la stessa entità Persona Conoscenza

36 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 36 Relationship ricorsiva con ruoli Successione Sovrano Successore Predecessore

37 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 37 Confronto Tennista Superficie Relationship ternaria ricorsiva MigliorePeggiore

38 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 38 Attributo Proprietà elementare di unentità o di una relationship, di interesse ai fini dellapplicazione Associa ad ogni occorrenza di entità o relationship un valore appartenente a un insieme detto dominio dellattributo

39 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 39 Attributi, rappresentazione grafica Esame StudenteCorso CognomeNome Matricola Data Titolo Codice Voto

40 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 40 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

41 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 41 Rappresentazione grafica Impiegato Cognome Età Via Indirizzo Numero CAP

42 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 42 Composizione Partecipazione Progetto NomeBudget Impiegato Codice Cognome Telefono Dipartimento Nome Afferenza Data Direzione Città Indirizzo Sede Via CAP

43 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 43 Altri costrutti del modello E-R Cardinalità di relationship di attributo Identificatore interno esterno Generalizzazione

44 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 44 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

45 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 45 Esempio di cardinalit à Assegnamento ImpiegatoIncarico (1,5) (0,50)

46 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 46 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

47 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 47 Occorrenze di Residenza S1 S2 S4 S3 Studente C1 C2 C3 Città R3 R4 R2 R1 C4

48 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 48 Cardinalit à di Residenza Residenza StudenteCittà (1,1) (0,N)

49 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 49 Tipi di relationship Con riferimento alle cardinalità massime, abbiamo relationship: uno a uno uno a molti molti a molti

50 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 50 Relationship molti a molti Esame StudenteCorso (0,N) Scalata MontagnaAlpinista (0,N) (1,N) Abilitazione MacchinistaLocomotore (1,N)

51 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 51 Due avvertenze Attenzione al "verso" nelle relationship uno a molti le relationship obbligatorie-obbligatorie sono molto rare

52 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 52 Relationship uno a molti Impiego PersonaAzienda (0,1) (0,N) Ubicazione CinemaLocalità (1,1) (0,N) Ubicazione ComuneProvincia (1,1) (1,N)

53 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 53 Relationship uno a uno Titolarità ProfessoreCattedra (0,1) Titolarità Professore di ruolo Cattedra (1,1) (0,1) Titolarità Professore di ruolo Cattedra coperta (1,1)

54 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 54 Cardinalità di attributi E possibile associare delle cardinalità anche agli attributi, con due scopi: indicare opzionalità ("informazione incompleta") indicare attributi multivalore

55 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 55 Rappresentazione grafica Impiegato Telefono Nome Numero patente (0,N) (0,1)

56 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 56 Identificatore di una entità strumento per lidentificazione univoca delle occorrenze di unentità costituito da: attributi dellentità identificatore interno (attributi +) entità esterne attraverso relationship identificatore esterno

57 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 57 Identificatori interni Persona Data Nascita Cognome Nome Automobile Targa Modello Indirizzo

58 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 58 Identificatore esterno Iscrizione StudenteUniversità CognomeMatricola Anno di corso Nome Indirizzo (1,1)(0,N)

59 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 59 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 lentità da identificare partecipa con cardinalità (1,1) perché non parliamo degli identificatori delle relationship?

60 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 60 (1,1) (0,1) (0,N) (0,1) (1,1) (1,N) (0,N) (1,N) Città Indirizzo Telefono Dipartimento Composizione Sede Direzione Afferenza Impiegato Progetto Partecipazione Nome Cognome Budget Data Via CAP Codice

61 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 61 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

62 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 62 Rappresentazione grafica Dipendente ImpiegatoFunzionario Dirigente

63 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 63 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

64 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 64 Persona Codice fiscale Nome Età Città Nascita (0,N) (1,1) Lavoratore Studente Stipendio

65 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 65 Ereditarietà tutte le proprietà (attributi, relationship, altre generalizzazioni) dellentità genitore vengono ereditate dalle entità figlie e non rappresentate esplicitamente

66 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 66 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

67 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 67 Disoccupato Lavoratore Persona

68 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 68 Persona Uomo Donna Uomo Donna

69 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 69 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 unentità figlia si parla di sottoinsieme alcune configurazioni non hanno senso il genitore di una generalizzazione totale può non avere identificatore, purché …

70 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 70 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)

71 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 71 Segretario Direttore Progettista Responsabile Persona CF Cognome Età UomoDonna Militare Impiegato Studente Stipendio Matr.

72 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 72 Documentazione associata agli schemi concettuali dizionario dei dati entità relationship vincoli non esprimibili

73 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 73 (1,1) (0,1) (0,N) (0,1) (1,1) (1,N) (0,N) (1,N) Città Indirizzo Telefono Dipartimento Composizione Sede Direzione Afferenza Impiegato Progetto Partecipazione Nome Cognome Budget Data Via CAP Codice

74 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 74 Dizionario dei dati (entità)

75 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 75 Dizionario dei dati (relationship)

76 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 76 Vincoli non esprimibili

77 20/11/2003Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 77 Esercizio Definire uno schema E-R per una biblioteca, con le seguenti specifiche: oggetto dei prestiti sono esemplari (detti anche copie) di singoli volumi, identificati attraverso un numero di inventario; ogni volume è relativo ad una specifica edizione (che può essere articolata in più volumi, anche in modo diverso dalle altre edizioni) di un'opera un volume può essere presente in più copie una edizione è caratterizzata dall'opera, dall'editore, dalla collana e dall'anno riassumendo ed esemplificando, è possibile prendere in prestito la seconda copia del terzo volume de I Miserabili, edizione Mondadori, collana Oscar, del 1975 ogni collana ha un nome e un codice ogni editore ha un nome e un codice ogni opera ha un titolo, un autore e un anno di prima pubblicazione per ogni prestito in corso (quelli conclusi non interessano), sono rilevanti la data prevista di restituzione e l'utente (che può avere più volumi in prestito contemporaneamente), con codice identificativo, nome, cognome e recapito telefonico


Scaricare ppt "Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003."

Presentazioni simili


Annunci Google