vuoi
o PayPal
tutte le volte che vuoi
Tipologie di requisiti
Requisiti informativi: caratteristiche e tipologie dei dati
Requisiti sulle operazioni: esplicitati nel carico di lavoro
Requisiti sui vincoli di integrità ed autorizzazione: proprietà da assicurare ai dati, in termini di correttezza e protezione
Requisiti sulla popolosità della base di dati: volume dei dati 5
Progettazione concettuale
A partire dal documento di specifica viene creato della base di dati, cioè uno schema concettuale, descrizione formale ed ad alto livello del suo contenuto
Lo schema concettuale è del tutto indipendente dall'implementazione della base di dati (indipendente anche dal di DBMS che sarà utilizzato - relazionale, tipo object-relational, ecc.)
Lo schema concettuale è definito tramite un opportuno modello concettuale
Durante la progettazione concettuale vengono effettuate verifiche di qualità che possono portare ad un ridisegno dello schema generato
Progettazione concettuale
L'output
di questa fase è: Lo schema concettuale della base di dati sviluppato utilizzando il modello concettuale prescelto Una documentazione a corredo dello schema, contenente: - Vincoli d'integrità non rappresentabili nello schema - Scelte progettuali - Altre informazioni che vedremo in seguito Progettazione logica Traduzione dello schema concettuale nel modello dei dati del DBMS target L'output è lo schema logico nel DDL del DBMS target Aspetti considerati durante la progettazione logica: - Integrità e consistenza - Sicurezza - Efficienza Normalizzazione Verifica di qualità dello schema logico prodotto, effettuata tramite opportuni strumenti formali Prende il nome di normalizzazione nel caso di basi di dati relazionali Tale attività può portare ad una ristrutturazione dello schema logico prodotto Progettazione fisica In questa fase vengono effettuate alcune scelte circa la memorizzazione fisica dei dati (ad esempio, indici) L'output è lo schema fisico nel DDL del DBMS targetche descrive le strutture di memorizzazione ed accesso ai dati 10…. Nel seguito, ci concentreremo sulla progettazione concettuale…. 11
Modello Entità-Relazione
Uno dei modelli più utilizzati nell'ambito della progettazione concettuale
Dotato di rappresentazione grafica: diagramma (o schema) ER
Costrutti di base: Entità Associazioni Attributi 12
Costrutti di base
Entità: collezione di oggetti della realtà che vogliamo modellare, che possiedono caratteristiche comuni (es. clienti, film, …)
Istanze di entità: specifici oggetti appartenenti ad una certa entità (es. il cliente Marco Verdi, il film La fabbrica di cioccolato, …)
Graficamente: Film Cliente 13
Costrutti di base
Associazione (o relazione): legame logico tra entità
Istanze di associazione: combinazioni di istanze delle entità che prendono parte ad una associazione
Graficamente: Film Cliente Consiglia c istanza di Cliente, f istanza di Film
(c,f) istanza di Consiglia
L'insieme delle istanze di un'associazione è un sottoinsieme del prodotto Cartesiano degli insiemi delle istanze delle entità che partecipano all'associazione. Quindi, l'insieme delle istanze di un'associazione non può contenere duplicati. Ciò ha conseguenza sulle scelte progettuali (si veda il seguito)
Grado di un'associazione
Numero di entità che partecipano ad un'associazione
Associazione unaria: grado 1 SeguitoDiFilm
Associazione binaria: grado 2 FilmCliente Consiglia
Grado di un'associazione
Associazione n-aria: grado n > 2 Film CasaProdProdottoStudio
Associazioni
Ruolo: funzione che un'istanza di entità esercita nell'ambito di un'associazione SeguitoDiFilm prequel sequel Nel caso di associazione unaria il ruolo è sempre necessario
Attributi
Proprietà posseduta da un'entità o da un'associazione Graficamente:
residenza
nome Cliente
cognome
telefono
dataN
codCli
nome, cognome, codCli, residenza, telefono, dataN sono attributi di Cliente
19Attributi
Anche le associazioni possono avere attributi
Esempio: giudizio FilmCliente Consiglia
Il giudizio non è specifico né di un cliente né di un film, ma del legame Cliente-Film che si crea quando un cliente consiglia un certo film
20Attributi
Mono-valore: possono assumere un solo valore
Multi-valore: possono assumere più di un valore
Esempio: residenza
nome
cognome Cliente
telefono
dataN: mono-valore in quanto un cliente ha una sola data di nascita
telefono: multi-valore in quanto un cliente può avere più recapiti telefonici
21Attributo composto
Possiede dei sotto-attributi
Es. residenza con sotto-attributi città, via, no e cap
Graficamente: città
via
residenza
no
cap
22