Basi di Dati
prof. A. Longheu
4 – Progettazione – Introduzione e Modello E-R
Cap. 5 “Basi di dati” Atzeni – Ceri – Paraboschi - Torlone
Ciclo di vita dei Sistemi Informativi
La Progettazione del Db è una delle fasi di creazione di un sistema
informativo, la cui progettazione è il ciclo di vita dei sistemi informativi,
che ha 6 Fasi:
1.
2.
3.
4.
5.
6.
Studio di fattibilità: scelta delle alternative possibili e stabilimento
delle priorità di realizzazione delle componenti del sistema
Raccolta ed analisi requisiti, ossia interagendo con gli utenti si devono
definire dati ed operazioni su di essi, e quindi i requisiti hw/sw
Progettazione: progettazione del db e progettazione delle
applicazioni
Implementazione: creazione del prototipo, sia per db che applicazioni
Validazione e collaudo, ossia verifica della correttezza (informatica) e
della coerenza con i requisiti del cliente, e test di tutte le condizioni di
lavoro
Funzionamento a regime, ossia manutenzione ed estensione
Le fasi possono ricominciare, da cui il ciclo (raffinamenti successivi).
Progettazione
La progettazione di un DB consta di tre
passi:
• Progettazione concettuale
• Progettazione logica
• Progettazione fisica
Progettazione Concettuale
Serve a tradurre la descrizione informale della
realta’ ,descritta nei requisiti del DB tipicamente
sottoforma di documenti e moduli di vario
genere, in uno schema formale e completo
(usando ad esempio i diagrammi entita’relazione) ma indipendente dai criteri di
rappresentazione del DBMS usato: il prodotto si
chiama schema concettuale.
Progettazione Logica
• Consiste nella traduzione dello schema
concettuale in termini di un determinato
modello logico (ad esempio il modello
relazionale) di dati usato dal DBMS che si
intende utilizzare.Il risultato e’ lo schema
logico.
• Include
anche
l’ottimizzazione
della
rappresentazione in funzione delle operazioni
eseguite (es. normalizzazione)
Progettazione Fisica
• Si completa lo schema logico con la
specifica dei parametri fisici di
memorizzazione dei dati. Si produce lo
schema fisico che fa riferimento ad un
certo modello fisico dei dati che
dipende dal DBMS scelto.
Il modello Entita’-Relazione
• Il modello Entita’-Relazione (E-R) e’ un modello
concettuale di dati che contiene alcuni costrutti atti
a descrivere la realta’ in maniera semplice,
indipendente dalla organizzazione dei dati nel
computer.
• I costrutti sono: Entita’, Relazione, Attributo,
Cardinalita’, Identificatore, Generalizzazione,
Sottoinsieme.
Costrutti dei diagrammi E-R
Attributo semplice
Entita'
Relazione
(b,B)
(a,A)
Cardinalita' di relazione
Attributo composto
(m , M)
Cardinalita' di attributo
Sottoinsieme
Generalizzazione
Altri costrutti dei diagrammi E-R
Identificatore Interno ed Esterno
Entità
STUDENTE
CORSO
PROFESSORE
• Entita’ sono classi di oggetti (cose,persone) che
hanno proprieta’ comuni ai fini dell’applicazione di
interesse che si intende modellare.
• Un’occorrenza (o istanza) di un’entita’ e’ un
oggetto della classe (concetto diverso dalle t-uple nel
modello relazionale qui non ci sono attributi)
Relazioni
STUDENTE
CORSO
ESAMI
• Le
Relazioni
(o
Associazioni)
rappresentano legami logici fra due o piu’
entita’ della nostra applicazione.
• Naturalmente possono esserci piu’ relazioni
fra le stesse entita’, relazioni ricorsive
Attributi
Matricola
Nome
Voto
Data
Nome
Telef
Anno
Corso
Esame
Studente
Via
Numero
Indiriz
CAP
• Descrivono proprieta’ di entita’ o relazioni.
Associa ad ogni occorrenza di un’entita’ (o di
una relazione) un elemento del dominio
dell’attributo.
Cardinalita’ delle Relazioni
IMPIEGATO
(1,5)
ASSEGNA
(0,50)
INCARICO
• Ci da’ il numero minimo e massimo di istanze di
relazione per ogni istanza di un entita’ cui quella
relazione si riferisce
• Ad esempio sopra si afferma che ad ogni impiegato si
possono assegnare da 1 a 5 incarichi ed ogni incarico
puo’ essere assegnato ad al piu’ 50 impiegati
• In base alla cardinalità esistono relazioni uno a uno
(1-1), uno a molti (1-N) e molti a molti (M-N).
Cardinalita’ di Attributo
(0 , N)
Targa Auto
PERSONA
Nome
(0 , 1)
1)
Numero Patente
• Specifica il numero minimo e massimo di valori di un
attributo per un data occorrenza di un entita’ o
relazione. Ad esempio nella figura si esprime che ogni
persona ha al piu’ una patente ma puo’ avere piu’ di
un’auto. (N indica un intero > 1)
Identificatori interni delle entita’
Nome
TARGA
PERSONA
AUTOMOBILE
Modello
Colore
Cognome
Data di nascita
Indirizzo
• Specificano quei concetti (attributi e/o entita’) che
servono ad identificare univocamente le occorrenze di
un’entita’. Generalmente sono uno o piu’ attributi
della stessa entita’ (chiave interna)
Identificatori esterni delle entita’
Nome
Matricola
(1,N)
(1,1)
Anno
Nome
STUDENTE
ISCRIZIONE
UNIVERSITA'
Citta'
Indirizz
o
• Un identificatore esterno (foreign key) per un
entita’ e’ un identificatore che include un’altra entita’
legata alla prima da una relazione uno a molti . Cosi’
ogni studente e’ identificato dalla matricola e
dall’Universita’ a cui e’ iscritto
Generalizzazioni
Part. IVA
Nome
Professionista
Specializzazione
AVVOCATO
INGEGNERE
MEDICO
Un’entita’ (padre) si dice generalizzazione di altre se queste sono casi
particolari della prima
• Cosi’ Professionista e’ una generalizzazione di Avvocato,Ingegnere e
Medico
• La generalizzazione è totale se ogni occorrenza della classe padre è
occorrenza di almeno una delle figlie (persona-> uomo, donna è totale)
• La generalizzazione è esclusiva se ogni occorrenza della classe padre è
occorrenza al più di una sola delle figlie (persona->studente, lavoratore
è sovrapposta)
•
Documentazione di schemi E-R
• E’ sempre bene corredare un diagramma
E-R con una
documentazione spesso non esprimibile nel diagramma. Due
sono gli elementi di questa documentazione:
• Un dizionario delle entita’ e relazioni con relativi attributi.
• Un elenco di vincoli d’integrita’ dei dati non esprimibili nel
diagramma.
• Un elenco di derivazioni, ossia di concetti che possono essere
calcolati da altri (ad esempio, i campi costo intero, costo
scontato e sconto sono legati fra loro).
• Vincoli di integrità e derivazioni sono note con il nome di
business rules
ESEMPIO
ESEMPIO
ESEMPIO
Scarica

Progettazione Database - Introduzione e modello E-R