Le Basi di dati: progettazione concettuale...in base alle similitudini e alle proprietà comuni,...
Transcript of Le Basi di dati: progettazione concettuale...in base alle similitudini e alle proprietà comuni,...
Le Basi di dati: progettazione concettuale
SCHEMA LOGICO
progettazione
concettuale
SCHEMA CONCETTUALE
SCHEMA FISICO
progettazione
fisica
progettazione
logica
requisiti del Sistema
Informativo
Progettazione di una base di dati
Analisi dei requisiti• I requisiti devono innanzitutto essere acquisiti
• Le fonti possono essere molto diversificate tra loro:
� utenti, attraverso:
� interviste
� documentazione apposita
� documentazione esistente
� normative (leggi, regolamenti di settore)
� regolamenti interni, procedure aziendali
� realizzazioni preesistenti
� modulistica
• La raccolta dei requisiti è un’attività difficile e non standardizza-
bile; in genere procede di pari passo con la fase di analisi (la
prima analisi stimola nuove domande, ecc.)
• La progettazione concettuale consiste nell’organizzare tutti
gli elementi presenti nella documentazione sulle specifiche per
rappresentare la realtà di interesse in termini di una descrizione
formale e completa, indipendentemente dai criteri di
rappresentazione usati nei DBMS.
• Il prodotto di tale attività è lo schema concettuale , che
rappresenta il documento ufficiale di riferimento e di
comunicazione per i progettisti della successiva fase di
progettazione logica
La progettazione concettuale
Tra i possibili modelli concettuali è molto diffuso il modello
Entità/Relazion i (in inglese ER, da Entity/Relationship), introdotto nel
1976 da Peter P. Chen.
Si tratta di un modello grafico per la descrizione dei dati e delle loro
relazioni all’interno di una realtà di interesse.
È uno strumento per l’analisi delle caratteristiche di una realtà
indipendentemente dagli eventi che in essa accadono.
Il risultato di questo lavoro è rappresentato dallo schema ER o
diagramma ER .
La progettazione concettuale
Lo schema ER
Per la costruzione di uno schema ER si parte dal semplice concetto che
la realtà da rappresentare è composta da entità , ognuna delle quali è
caratterizzata da specifiche proprietà o attributi .
Le entità sono ciò che esiste all’interno della realtà che si vuole
modellare e di cui interessa rappresentare alcuni fatti (le proprietà ).
Le proprietà (o attributi ) sono i fatti che si intende rappresentare e che
interessano poiché descrivono le caratteristiche di specifiche entità.
Astrazione
Il procedimento mentale che permette di evidenziare
alcune proprietà, ritenute significative degli oggetti
osservati, escludendone altre giudicate non rilevanti,
prende il nome di astrazione .
Attraverso questo processo, quindi, il progettista
concettuale classifica le entità della realtà di interesse
in base alle similitudini e alle proprietà comuni,
definendo in questo modo, il tipo di entità.
Entità
Il tipo di entità descrive la struttura di tutte le
entità di una certa natura.
Esempio:
I singoli cantanti («Lucio Dalla», «Sting» e
così via) possono essere classificati nel tipo
entità Cantanti.
Ogni singolo esemplare che appartiene a un tipo
di entità e detto istanza .
Attributi
Le proprietà delle entità sono descritte attraverso
gli attributi. Le proprietà elementari (cioè non
strutturabili in proprietà più atomiche) delle entità
e delle associazioni vengono descritte attraverso
gli attributi semplici .
Esempio:
Sono attributi semplici: Nome, Cognome,
Età, Sesso…
Caratteristiche di un attributo
Ogni attributo è specificato da:
• un nome
• un formato , che indica il tipo di valori che può assumere
(testo, intero, data, vero/falso,…)
• una dimensione (non per data o vero/falso) che indica il
massimo numero di caratteri o cifre;
• un valore : i diversi valori assunti determinano le diverse
istanze dell’entità. L’insieme dei possibili valori assunti da
un attributo si chiama dominio ;
• una opzionalità che indica la possibilità di non essere
sempre valorizzato (attributo obbligatorio o facoltativo ).
Attributi composti o aggregati
Gli attributi composto o aggregati sono costituiti
mediante aggregazione di altri attributi che, a loro
volta, possono essere semplici o composti.
Esempio:
Sono attributi semplici: Nome, Cognome, Età,
Sesso…
È un attributo aggregato DataDiNascita perché
composto dagli attributi semplici Giorno, Mese e
Anno.
Attributi multipli
Gli attributi multipli sono inseriti in un elenco di
lunghezza variabile di attributi dello stesso tipo.
Esempio:
Per l’entità Persona, un esempio di attributo
multiplo è Hobby.
Attributi chiave
Il concetto chiave e particolarmente importante.
Si definisce chiave candidata o superchiave una
chiave che consente di distinguere un’istanza di
un’entità da un’altra in modo univoco.Esempio: per distinguere due istanze di un’entità Persona
potremmo usare
• un attributo CodiceFiscale
• gli attributi Nome, Cognome, Data
Tra le chiavi candidate, quella con il minore numero di
attributi prende il nome di chiave (o primary key).
Attributi chiave
Nella progettazione di basi di dati, ove non sia
possibile utilizzare come chiave primaria un numero
limitato di attributi, si ricorre all’aggiunta di un
nuovo attributo (come ad esempio un numero
progressivo) che identifica univocamente le varie
istanze.
Rappresentazione grafica di entità e attributi
• per le entità si utilizza un rettangolo
• per gli attributi non chiave si utilizza una linea dal
rettangolo al nome dell’attributo
• gli attributi chiave si rappresentano come gli attributi non
chiave e in più si sottolinea il nome o si cambia il colore del
cerchio
• gli attributi multipli terminano con una doppia freccia
• per gli attributi composti la linea termina con un quadrato
<NomeEntità>
<NomeAttributo1>
<NomeAttributo2>
<NomeAttributo3>
Rappresentazione grafica di entità e attributi
<NomeEntità>
<NomeAttributo>
Attributo chiave
Attributo multiplo
Entità
Attributo non chiave
<NomeAttributo>
<NomeAttributo>
<NomeAttributo>Attributo composto
Per convenzione utilizziamo
• Nomi al singolare per le entità
• Iniziali maiuscole per i nomi delle entità e degli attributi
• Iniziali maiuscole per i nomi di attributi definiti con più
parole
ESEMPIO
Persona
ComuneNascita
Hobby
Nome
Cognome
CodiceFiscale
DataNascita
Professione
Una possibile rappresentazione dell’entità Persona è
Le relazioni
Una relazione è un legame logico tra due o più entità
rilevanti nella realtà che si sta considerando.
<NomeEntità1> <NomeEntità2><NomeRelazione>
<NomeAttributo1> <NomeAttributo2>
L’istanza di una relazione è una combinazione
(aggregazione) di istanze delle entità che prendono
parte all’associazione.
ESEMPIO
La relazione possiede tra le entità Persona e
Automobile può essere rappresentata in questo
modo
Persona Automobilepossiede
DataAcquisto Notaio
Nome
Cognome
CodiceFiscale
Modello
Marca
Targa
Verdi
Bruni
Rossi
AX 123 YZ
BS 456 TC
RR 001 LN
JK 153 RF
PX 361 AB
Entità Automobile
Entità Persona
Relazione possiede
Istanza di possiede
Istanza di AutomobileIstanza di Persona
Grado di una relazione
Si definisce grado di una relazione il numero di entità
che partecipano alla relazione
Una relazione tra due entità è detta binaria .
Se le entità sono più di due, la relazione è detta
multipla .
<NomeEntità1> <NomeEntità2><NomeRelazione>
Relazione diretta e inversa
Data una relazione tra due entità, si stabilisce una
relazione diretta e una relazione inversa .
Persona Automobileguidaè guidataguida
Partecipazione di una relazione
Date due entità X e Y, la proprietà strutturale della
partecipazione riguarda il numero minimo di elementi
di Y che sono associati a ogni elemento di X. Il valore
minimo assume, solitamente, il valore 0 o 1. Lo 0
indica che la partecipazione è facoltativa , mentre il
valore 1 indica che la partecipazione è obbligatoria .
Partecipazione di una relazione
Una relazione diretta tra le entità X e Y è totale quando il
legame tra le entità deve essere sempre presente, cioè
ad ogni elemento di X deve corrispondere almeno un
elemento di Y, altrimenti si dice parziale . Lo stesso si può
dire per la relazione inversa.
Docente dirige Dipartimento
Relazione parziale: linea tratteggiata.
Un docente PUO’ dirigere un dipartimento
Relazione totale: linea continua
Un dipartimento DEVE essere diretto da
un docente
Cardinalità e molteplicità di una relazioneLa molteplicità tra le entità X e Y indica il numero
massimo di istanze dell’entità Y che possono trovarsi
in relazione con un’istanza dell’entità Y e viceversa.
La cardinalità di un’associazione fra le entità X e Y
descrive parallelamente la molteplicità dell’associazione
diretta e quella della sua inversa.
Cardinalità 1:1
La cardinalità può essere 1:1 (uno a uno) o
biunivoca quando a un’istanza di X corrisponde
una e una sola istanza di Y e viceversa
Capitale Statoappartiene
Per la relazione diretta: «una capitale appartiene a uno stato»
Per la relazione inversa: «uno stato ha una capitale»
11
1 1
1 1
Cardinalità 1:n
La cardinalità può essere 1:n (uno a molti) o
semplice quando a un’istanza di X possono
corrispondere una o più istanze di Y.
Docente Cassettodispone
Per la relazione diretta: «un docente dispone di uno o più cassetti»
Per la relazione inversa: «un cassetto è sempre intestato a un solo docente»
n1
1 n
11
Continua �
Cardinalità 1:n
Per quanto riguarda la partecipazione
Docente Cassettodispone
Per la relazione diretta: «un docente DEVE disporre di almeno
un cassetto»: associazione totale
Per la relazione inversa: «un cassetto PUO’ NON essere
assegnato ad alcun docente»: associazione parziale.
n1
Relazione TOTALE Relazione PARZIALE
Cardinalità n:n
La cardinalità può essere n:n (molti a molti) o
complessa quando a una o più istanze di X
possono corrispondere una o più istanze di Y.
Docente Classeinsegna
Per la relazione diretta: «un docente insegna in una o più classi»
Per la relazione inversa: «in una classe insegnano uno o più docenti»
nn
1 n
n 1
Continua �
Cardinalità n:n
Per quanto riguarda la partecipazione
Docente Classeinsegna
Per la relazione diretta: «un docente DEVE insegnare in
almeno una classe: associazione totale.
Per la relazione inversa: «una classe DEVE avere almeno un
docente»: associazione totale.
nn
Relazione TOTALE Relazione TOTALE