Cloud informatica
V anno
La progettazione concettuale
Il modello ER
La progettazione concettuale
La progettazione concettuale consiste nel riorganizzare tutti gli elementi
presenti nella documentazione sulle specifiche per rappresentare la
realtà di interesse in termini di una descrizione formale e completa,
indipendente dai criteri di rappresentazione usati nei DBMS.
Da questa fase si ricava lo schema concettuale: documento ufficiale per
procedere con la progettazione logica.
In questa fase si cerca di attribuire una certa struttura ai dati.
Il modello concettuale ER
Il modello Entità/Associazioni (in inglese modello ER) è un modello
grafico per la descrizione dei dati e delle loro relazioni all’interno della
realtà presa in esame.
Questo modello restituisce lo schema ER o diagramma ER.
La realtà da rappresentare è composta da:
Entità caratterizzate da proprietà (o attributi)
Entità e attributi
Le entità sono connesse attraverso associazioni che evolvono nel tempo.
Le entità sono ciò che esiste nella realtà presa in esame.
Gli attributi sono i fatti che si intende rappresentare, interessano poiché
descrivono caratteristiche di specifiche entità.
Il procedimento mentale che permette di evidenziare alcune proprietà
significative prende il nome di astrazione.
OGNI elemento appartenente a un’entità è detto istanza.
Gli attributi
Gli attributi descrivono le proprietà delle entità.
Per esempio, gli attributi semplici dell’entità Persona possono essere:
Nome, Cognome, Età, Sesso
Gli attributi si dividono in:
- attributi semplici
- attributi composti (o aggregati)
- attributi multipli
Proprietà di un attributo
Ogni attributo è specificato da:
- un nome
- un formato, che indica il tipo di valori che l’attributo può assumere
- una dimensione, che indica la quantità massima di caratteri inseribili
- un valore, determina le istanze delle entità. L’insieme dei possibili valori
assunti da un attributo è detto dominio.
- una opzionalità, indica la possibilità di non essere sempre valorizzato:
- attributo obbligatorio, non accetta valore nullo
- attributo facoltativo, accetta valori nulli
Attributi composti e multipli
Gli attributi composti (o aggregati) sono costituiti mediante aggregazione
di altri attributi, che a loro volta possono essere semplici o frutto di altre
aggregazioni di attributi.
Attributi composti dell’entità Persona, sono:
DataDiNascita (composto da Giorno, Mese, Anno)
Indirizzo (composto da Via, NumCivico, Città, Cap)
Gli attributi multipli sono inseriti in un elenco di lunghezza variabile di
attributi dello stesso tipo.
Un attributo multiplo dell’entità Persona, può essere l’attributo Hobby.
Chiavi candidate e chiavi primarie
Il concetto di chiave è fondamentale quando si parla di database.
Una chiave candidata (o superchiave) consente di distinguere un’istanza
di entità in modo univoco.
Per esempio, se vogliamo distinguere due persone possiamo utilizzare:
L’attributo CodiceFiscale
oppure
Gli attributi Nome, Cognome, DataDiNascita
Tra le chiavi candidate occorre scegliere quella con il minor numero di
attributi (chiave primaria).
Nel nostro esempio la chiave primaria sarà l’attributo CodiceFiscale.
Rappresentare entità e attributi
Per rappresentare graficamente entità e attributi in un modello ER si
utilizza la seguente notazione:
È possibile collocare gli attributi in qualsiasi posizione attorno al rettangolo
dell’entità.
Per convenzione si utilizzano:
- nomi al singolare per le entità
- iniziali maiuscole per i nomi di entità e attributi
- iniziali maiuscole per i nomi di attributi composti da più parole (es. DataNascita)
Rappresentare entità e attributi (1)
La rappresentazione di
entità e attributi in un
modello ER segue le
regole grafiche riportate
in tabella, da tenere
costanti per ogni
rappresentazione:
Volendo rappresentare l’entità Persona, potremmo avere:
Le associazioni
L’associazione è un legame tra due o più entità
L’istanza di un’associazione è una combinazione (aggregazione) di istanze delle
entità prese in esame.
Per rappresentare graficamente un’associazione in un diagramma ER si utilizza
il rombo.
Volendo associare l’entità Persona e l’entità Automobile, avremo:
Dove possiede rappresenta l’associazione tra le due entità correlate.
Il grado delle associazioni
Si definisce grado il numero delle entità che partecipano all’associazione.
Si posso avere:
- associazioni binarie (solo due entità)
- associazioni multiple (oltre le due entità)
La rappresentazione grafica
delle associazioni multiple è
la seguente:
Ogni associazione multipla
può essere trasformata in
associazioni binarie:
Associazioni dirette e indirette
Data un’associazione A tra le entità X e Y, si attribuisce un verso da X a Y
che definisce l’associazione diretta.
Si definisce, invece, inversa l’associazione da Y a X, indicata con A-1.
Tra Persona e Automobile avremo pertanto:
- l’associazione diretta guida
- l’associazione indiretta èGuidata
Proprietà delle associazioni
Un’associazione è caratterizzata da due proprietà strutturali:
PARTECIPAZIONE e MOLTEPLICITÀ
Partecipazione
La partecipazione riguarda il numero minimo di elementi dell’entità Y che sono
associati a ogni elemento dell’entità X.
Il valore minino assume, solitamente, uno dei due valori (0,1), con:
- Il valore minimo 0 che indica che la partecipazione è facoltativa
- Il valore minimo 1 che indica che la partecipazione è obbligatoria
Quando il legame tra le entità è sempre presente l’associazione è totale.
Quando il legame tra le entità non è sempre presente l’associazione è parziale.
Analizzando la rappresentazione in figura, avremo che l’associazione tra Docente
e dirige è parziale e facoltativa, mentre tra Dipartimento e dirige abbiamo
un’associazione totale e obbligatoria.
Molteplicità
La molteplicità di un’associazione fra le entità X e Y indica il numero massimo di
istanze dell’entità Y che possono trovarsi in relazione con un’istanza dell’entità X
e viceversa.
Si dice che l’associazione è univoca da X a Y se ogni istanza di X può trovarsi in
relazione con al più un’istanza di Y. Se tale vincolo non esiste, si dice che
l’associazione è multivalore (o multipla).
Il vincolo di univocità da X a Y è indipendente da quello definito da Y a X; si hanno
così quattro possibili combinazioni di presenza e assenza di valori.
La cardinalità di un’associazione fra le entità X e Y descrive parallelamente la
molteplicità dell’associazione diretta e quella della sua inversa.
La cardinalità
La cardinalità può essere a uno o a molti.
Si hanno pertanto:
- associazione 1:1 (biunivoca) quando a un’istanza di X corrisponde una e una sola istanza
di Y e viceversa.
- associazione 1:N (semplice) quando a un’istanza di X possono corrispondere una o più
istanze di Y e a ogni istanza di Y deve corrispondere una sola istanza di X.
- associazione N:N (complessa) quando a ogni istanza di X possono corrispondere una o
più istanze di Y e viceversa.
I vincoli di integrità
Esistono numerosi aspetti della realtà difficilmente modellabili attraverso
gli strumenti visti finora: i vincoli di integrità.
Con vincolo di integrità definiamo una proprietà che deve essere
soddisfatta dalle istanze che rappresentano informazioni corrette per
l’applicazione che utilizza la base di dati.
Per chiarire meglio…
L’attributo Età dell’entità Persona può assumere il valore di 250.
Il valore 250 è concettualmente valido ma senza alcun contatto con la realtà.
Per evitare questi errori, occorre specificare un vincolo di integrità.
Nel nostro caso, poniamo come vincolo di integrità riferito a Età il valore 120.
Classificazione vincoli di integrità
I vincoli di integrità possono essere:
- Vincoli impliciti: imposti dalla struttura dei dati e si dividono in:
- Vincoli di chiave primaria, istanze di una categoria tutte diverse
- Vincoli referenziali, date le entità associate A e B, i vincoli
referenziali impongono che non si possa inserire un elemento in A
che non sia associato a un elemento in B.
- Vincoli espliciti: impongono delle restrizioni sul modo in cui i dati
possono cambiare. Per esempio il valore dell’attributo Età non può essere
negativo o superiore a 120.
Rappresentare i vincoli di integrità
I vincoli impliciti si rappresentano con i simboli del diagramma ER:
- vincoli di chiave primaria: sottolineandone gli attributi
- vincoli referenziali: linee continue delle associazioni tra le entità
Per i vincoli espliciti si ricorre alla sintassi particolare di uno pseudolinguaggio:
V<NumProgressivo>: (<Espressione>)
dove:
<NumProgressivo> è un numero progressivo del vincolo V;
<Espressione> è una qualsiasi espressione in pseudolinguaggio che serve per
specificare il vincolo V.
Collezione di entità e gerarchie
Quando alcune entità possono avere istanze comuni, o si vuole particolareggiare
o generalizzare qualche entità, è utile procedere con un’organizzazione per
gerarchie.
Una gerarchia ha una struttura ad albero composta da entità padre
(caratteristiche comuni) e entità figlie (i vari nodi) con particolarità specifiche.
Per creare una gerarchia si attua un processo di specializzazione.
Percorrendo la gerarchia dal basso verso l’alto si attua un processo di
generalizzazione.
Classificazione generalizzazioni
Le generalizzazioni possono essere classificate in base a due proprietà:
- copertura (totale/parziale)
- disgiunzione (esclusiva/sovrapposta)
Copertura e disgiunzione sono, tra loro, ortogonali, quindi è possibile avere
quattro configurazioni di generalizzazione:
- Copertura: totale se ogni istanza della classe padre è una istanza di almeno una
delle figlie, altrimenti è parziale.
- Disgiunzione: esclusiva se ogni istanza della classe padre è un’istanza di al più
una delle classi figlie, altrimenti di dice sovrapposta.
Schema generalizzazioni
Schematizzando, avremo:
Scarica

01_a_modello_er - Mondadori Education