La progettazione del database
I contenuti dei database rappresentano i dati della realtà da modellare. Modellare i dati significa
costruire una rappresentazione semplificata della realtà osservata, individuandone gli elementi
caratterizzati e i legami intercorrenti tra loro.
La progettazione di un database avviene su 3 livelli:
1)
Livello concettuale, rappresenta la realtà dei dati attraverso un modello chiamato
Il modello concettuale:
E’ definito attraverso uno schema dei dati; questa rappresentazione grafica è indipendente da:
o I valori che saranno assegnati ai dati;
o Le applicazioni degli utenti del database;
o (Le visioni parziali dei dati da parte di particolari utenti.)
Questo metodo consente al database di evolvere nel tempo insieme alla realtà per la quale è stato
progettato e creato.
Il modello concettuale rappresenta un patrimonio importante per le aziende, poiché descrive i tutti
dati esistenti in azienda.
2)
Livello logico, descrive la composizione ed il formato dei dati nel loro aspetto di
struttura logica di dati attraverso il
Il modello logico:
Nel passaggio dal modello concettuale al modello logico l’insieme dei dati è dotato di una
struttura che deve facilitarne:
o La manipolazione dei dati;
o L’interrogazione, la possibilità di ritrovare i dati.
in pratica programmatori e/o utenti finali utilizzano (creano, vedono, modificano) i dati
secondo il modello logico.
Esistono 3 tipi di modelli logici:
 Gerarchico
 Reticolare
 Relazionale
3)
Livello fisico, è l’effettiva installazione degli archivi elettronici, cioè è
l’implementazione del livello logico.
Le strutture del modello logico sono implementate selle memorie di massa realizzando in
pratica il modello fisico della base di dati (di cui il programmatore e l’utente finale possono
totalmente disinteressarsi).
L’attività di progettazione consente prima di tutto di costruire una rappresentazione della realtà in
modo indipendente dalla struttura dei dati.
Riassumendo:
1) (Livello CONCETTUALE) Prima di tutto sono individuati i dati che sono significativi,
ed è definito lo schema concettuale rappresentativo della realtà (Modello E/R).
2) (Livello LOGICO) Vengono poi definite le strutture logiche di dati che saranno
utilizzare da utenti e programmi (tabelle e associazioni)
3) (Livello FISICO)infine tali strutture sono implementate (automaticamente dal DBMS)
memorizzandole su un supporto fisico di registrazione e si ottiene, quindi, il database.
1
LIVELLO CONCETTUALE: Il modello entità/associazioni
Il modello entità/associazioni (entity/relationship) è uno strumento per analizzare le caratteristiche
di una realtà in modo indipendente dagli eventi che in essa accadono, per costruire un modello
concettuale dei dati.
Risultato di questo lavoro di analisi è la rappresentazione grafica detta schema E/R, che mette in
evidenza gli aspetti fondamentali del modello concettuale con i dati caratterizzanti e le associazioni
tra essi.
Gli elementi di un modello E/R sono:
- Entità
- Attributi
- Associazioni
L’entità è un oggetto che ha un significato anche quando è considerato in modo isolato ed è di
interesse per la realtà che si vuole modellare;
Le entità si classificano definendone il tipo di entità attraverso un nome.
Le istanze sono i singoli elementi che appartengono ad un'unica entità.
Per esempio: gli studenti di una scuola sono racchiusi tutti nell’entità Studenti.
La rappresentazione grafica dell’entità è identificata da un rettangolo.
L’associazione è un legame che stabilisce un’interazione tra 2 entità.
Ogni associazione ha 2 versi con specifici significati diversi.
La rappresentazione grafica dell’associazione è identificata da una linea.
Gli attributi rappresentano le proprietà delle entità e talvolta delle associazioni.
Le caratteristiche di ogni attributi sono:
- Il formato, il tipo di valore che assume;
- l’opzionalità, la possibilità di non essere inserito.
Il valore nullo rappresenta un’informazione mancante.
L’insieme dei possibili valori assunti da un attributo si chiama dominio dell’attributo.
Prende il nome di chiave primaria l’insieme di uno o più attributi, che consentono di distinguere
un’istanza dall’altra per la stessa entità (identificano in maniera univoca l’istanza) .
La rappresentazione grafica delle chiavi primarie è costituita dal post-fisso “PK” per tutti gli
attributi o dalla sottolineatura dell’ (degli) attributo (i).
Le associazioni tra entità
Un’associazione può essere obbligatoria (deve essere sempre presente), oppure opzionale (può non
essere presente).
La rappresentazione grafica dell’associazione obbligatoria è una linea continua, invece, per quella
opzionale la linea è tratteggiata.
Il grado di un verso dell’associazione è la caratteristica che indica quante istanze dell’entità di
arrivo si associano all’istanza dell’entità di partenza.
Il grado può essere possono essere di 3 tipi:
1) Associazione 1:N (uno a molti) o semplice;
ad un elemento di E1 corrispondono più elementi di E2, mentre, ad ogni elemento di
E2 corrisponde un e un solo elemento dell’insieme .
2) Associazione 1:1 (uno a uno) o biunivoca;
ad ogni elemento dell’insieme E1 corrisponde uno e un solo elemento dell’insieme
E2
3) Associazione N:N (molti a molti) o complessa;
2
ad ogni elemento dell’insieme E1 possono corrispondere più elementi dell’insieme
E2 e viceversa.
Rappresentazione grafica Schema Concettuale
Tipo (cardinalità)
associazione
Nome Entità 1
Attributo 1: tipo1
Attributo 2 :tipo2
Attributo 3 .tipo3
1
Nome Associazione
N
Nome Entità 2
Attributo 1: tipo1
Attributo 2 :tipo2
Attributo 1: tipo1
Attributo 2 :tipo2
Eventuali attributi associazione
3