SCUOLA INTERUNIVERSITARIA SICILIANA
DI SPECIALIZZAZIONE PER
L’INSEGNAMENTO SECONDARIO
Classe di Concorso: 42A
Francesco Lombardo
MODULO DIDATTICO
- I DATABASE -
Docente: Prof. Cantone
Modulo: I Database
Il modulo, proposto per una quinta
classe Indirizzo Informatico, mira a
presentare agli alunni il modello dei
dati e il progetto software, le basi di
dati,
le
diverse
forme
di
normalizzazione e la gestione dei
database.
Composizione del modulo
Unità didattica 1 Modello dei dati
e Progetto Software
Unità didattica 2 Basi di dati
Unità didattica 3 Normalizzazione
e Gestione dei database
Unità didattica 1
Modello dei dati
e Progetto Software
Prerequisiti
Gli studenti dovranno dimostrare di avere:
Nozioni di base su file, record, campo,
chiave
Conoscenze di base sui diversi tipi di
organizzazione logica degli archivi
Conoscenza delle metodologie
top-down per l’analisi di un problema
Competenze
1. Rilevare le problematiche dello sviluppo di un
progetto software
2. Individuare le fasi delle metodologie di sviluppo
software
3. Comprendere l’importanza della modellazione
dei dati
4. Utilizzare le tecniche per la definizione del
modello di dati
5. Documentare l’analisi di un problema in modo
efficace
I/II
Competenze
6. Indicare le fasi della metodologia applicata a un
progetto informatico
7. Determinare
associazioni
le
entità,
gli
attributi
e
le
8. Disegnare un modello Entity/Relationship
9. Leggere un modello E/R per verificarne la
correttezza
10.Applicare le regole per derivare il modello logico
dal modello E/R
II/II
Contenuti
1. Qualità riferita alla produzione di software
2. Ciclo di vita del software
3. Metodologia e fasi del progetto informatico
4. Modellazione dei dati
5. Entità, attributi, associazioni, chiave
6. Schema Entity/Relationship
7. Regole di derivazione del modello logico
Metodologie

LEZIONE FRONTALE

LEZIONE DIALOGATA
Spazi

AULA

LABORATORIO

AZIENDA
Strumenti

LIBRO DI TESTO ED APPUNTI

COMPUTER

LAVAGNA LUMINOSA

PROIETTORE
Verifiche
Le verifiche sono periodiche e costanti, tese alla
valutazione sia del percorso nella sua globalità che
di una parte del medesimo.
Esse prevedono varie tipologie:

Colloqui individuali

Interventi di vario genere

Questionari e Test (strutturati e semistrutturati)

Prove di laboratorio
Valutazione
La valutazione sarà:

Sia di tipo formativo e quindi in relazione
all’applicazione, all’impegno, all’attenzione,
al metodo di lavoro che ogni studente avrà
mostrato durante l’attività didattica

Sia di tipo sommativo, ricavata dalla
misurazione delle varie prove in cui gli
studenti dovranno dimostrare di:
 avere acquisito conoscenze e informazioni
circa i contenuti
 avere
maturato abilità e competenze
specifiche alla disciplina
Tempi
Unità
Didattica
Ore di
Lezione
Ore di
Laboratorio
Ore di
Verifica
Ore di Recupero
e/o Potenziamento
U.D. 1
21
6
3
6
Sviluppo di sistemi informatici
Lo sviluppo di un progetto è un sistema complesso di
attività tese ad ottenere un risultato chiamato prodotto.
Attività
di studio
Attività di
ideazione
Attività di
progettazione
Prodotto
Attività di
realizzazione
Attività di
produzione
I/VII
Sviluppo di sistemi informatici
Studia l’area di competenza del
progetto per conoscerne
approfonditamente la materia.
Attività
di studio
Prodotto
II/VII
Sviluppo di sistemi informatici
Crea l’astrazione del prodotto e
ne definisce le caratteristiche.
Attività di
ideazione
Prodotto
III/VII
Sviluppo di sistemi informatici
Consolida l’astrazione del
prototipo formalizzando tramite
disegni, modelli e prototipi.
Attività di
progettazione
Prodotto
IV/VII
Sviluppo di sistemi informatici
Crea realmente i primi
esemplari del prodotto.
Attività di
realizzazione
Prodotto
V/VII
Sviluppo di sistemi informatici
Termina il progetto e
inizia la produzione.
Attività di
produzione
Prodotto
VI/VII
Sviluppo di sistemi informatici
Il prodotto di un progetto informatico è l’insieme dei
moduli software (programmi) e degli archivi elettronici
(dati) idoneo a soddisfare gli obiettivi definiti.
Lo sviluppo di progetti informatici, di media o di grande
complessità, richiede un’organizzazione del lavoro tale da
dare la certezza che i programmi e i dati ottenuti siano
razionali, completi ed integrati tra loro. Cioè si vogliono
ottenere dei risultati di qualità.
La qualità di un prodotto è il grado di aderenza dei
risultati rispetto ai bisogni. In altre parole, dobbiamo
produrre quello che ci è stato richiesto.
VII/VII
Il controllo di qualità
Come conseguenza della necessità di raggiungere
obiettivi di qualità, nascono e si consolidano un insieme
di teorie ed esperienze identificabili con il nome di
garanzie di qualità.
Il controllo di qualità si basa sul concetto di definire e
misurare le caratteristiche del prodotto.
Per fare questo è necessario determinare quali sono le
caratteristiche importanti che devono essere valutate
(chiamate qualità o capacità); a loro volta esse devono
essere scomposte in caratteristiche di dettaglio
(caratteristica o proprietà), le quali diventano oggetto di
misurazione.
Controllo di qualità di un prodotto
Il procedimento per il controllo della qualità comprende i seguenti
aspetti:
a. l’obiettivo è quello di verificare la corrispondenza di un
prodotto alle caratteristiche che si vorrebbe esso avesse;
b. si determinano le qualità e le relative caratteristiche di dettaglio;
quest’ultime sono le proprietà che si possono misurare e si
vogliono verificare;
c. Per ogni caratteristica di dettaglio si identifica l’unità di misura
che consente di eseguire la misurazione della caratteristica
stessa;
d. si definiscono i valori della qualità, cioè l’intervallo di valori
entro il quale è garantita la qualità
e. si misurano le caratteristiche del prodotto e si confrontano con i
valori della qualità; le misurazioni che saranno contenute
nell’intervallo previsto danno la certificazione della qualità.
Controllo di qualità processo
In aggiunta al controllo di qualità di
prodotto, si introduce anche il controllo di
qualità di processo, cioè non si misura
solo il prodotto finale, ma si controllano le
fasi di produzione.
Qualità totale
La qualità totale si definisce per tutti i
prodotti che soddisfano in modo ottimale
la clientela (in inglese customer
satisfaction).
Principali caratteristiche di
un progetto informatico
Robustezza: i programmi gestiscono anche le situazioni
particolari per cui non si bloccano per motivi banali;
Efficienza: le elaborazioni sono veloci ed occupano
poche risorse;
Facilità: l’utilizzo è semplice;
Razionalità: non ci sono attività ripetitive o inutili;
Manutenibilità: la documentazione è adeguata e consente
di intervenire celermente per le modifiche ai programmi.
ISO e IEEE
Esistono norme ufficiali che determinano la qualità.
Sono emanate da organismi internazionali, i due
principali sono:
ISO (International Standards Organization)
IEEE (Institute of Electrical and Electronic Engineers).
Per ottenere la certificazione ufficiale ISO, un’azienda
deve seguire un iter procedurale molto impegnativo e
difficoltoso; solo al termine di questo iter e con esito
positivo, che si conclude con la visita ispettiva di un
apposito Ente valutatore, sarà rilasciata la certificazione
ufficiale di adeguatezza agli standard ISO.
La metodologia
Adottare una metodologia significa organizzare il lavoro.
La metodologia indica al progettista il metodo da seguire
per sviluppare il progetto.
La costruzione di un progetto informatico si ottiene
tramite l’esecuzione di diverse attività; ognuna raggiunge
obiettivi ben precisi.
La metodologia identifica queste attività e le organizza
per ottimizzare il lavoro.
I/III
La metodologia
La metodologia può, dunque, essere suddivisa in
sezioni, chiamate fasi o passi:
Conoscenza degli obiettivi
analisi
progettazione
transizione
realizzazione
documentazione
prove
produzione
formazione
II/III
La metodologia
La metodologia fornisce la struttura e la sequenza delle
attività da svolgere; ma tutto questo non è sufficiente!
Occorre indicare il tempo previsto per lo svolgimento di
ogni attività.
La scelta dei tempi serve per la pianificazione delle
risorse umane (in inglese project management), serve
cioè a definire quante persone ed in quali tempi
concluderanno le attività.
E’ ovvio che ciò rende possibile la stima dei costi del
progetto.
Inoltre è importante che la metodologia identifichi quali
figure professionali devono operare in ogni attività.
III/III
Figure professionali
Le figure professionali che normalmente
interagiscono in un progetto informatico sono:
• il capo progetto
• il progettista
• l’esperto dei dati
• l’esperto dei sistemi informatici
• l’utente
• il committente o la direzione aziendale
• l’ispettore
Ruoli delle figure professionali
Il rapporto (o ruolo) che ogni figura professionale ha con le attività
può essere di quattro tipi:
1. la responsabilità: garantire che il lavoro sia svolto secondo la
pianificazione ed i risultati siano coerenti con le esigenze di
progetto; normalmente il capo progetto ha la responsabilità
della maggior parte delle attività.
2. la collaborazione: contribuire alle attività di sviluppo del
progetto; di norma la collaborazione è prestata dai progettisti a
favore del capo progetto.
3. il controllo: verificare il rispetto della metodologia; di solito il
controllo spetta al ruolo aziendale di ispettore.
4. l’approvazione: accettare o rivedere le scelte e i risultati
ottenuti; questo ruolo spetta al committente, all’utente o alla
direzione aziendale.
Fasi della metodologia
Conoscenza degli obiettivi
Questa fase è anche chiamata analisi preliminare.
Per ottenere la conoscenza necessaria è indispensabile poter
disporre di esperti della materia ai quali fare l’intervista
conoscitiva.
Un elemento importante da evidenziare e da tenere
costantemente sotto controllo, in questa fase e le successive,
è l’esistenza di vincoli (es. dati e programmi esistenti con i
quali il nuovo prodotto deve colloquiare, architettura
hardware e di sistema su cui dovrà operare il progetto).
Fasi della metodologia
Analisi
La fase di analisi ha l’obiettivo di determinare e di descrivere
dettagliatamente tutte le componenti del progetto.
E’ la fase di maggiore importanza: il risultato di questo lavoro diventa
la base e la guida di tutto il progetto.
In un progetto informatico una componente fondamentale è costituita
dai dati. L’attività di determinazione dei dati consiste nel decidere
quali siano le informazioni che necessitano al progetto affinché esso
funzioni.
La documentazione dei dati prevede che ogni tipologia di dato abbia
un nome e una descrizione. Inoltre si definiscono le altre
caratteristiche quali il formato, la dimensione, l’obbligatorietà.
Le definizioni e le descrizioni dei dati sono a loro volta dei dati che,
per essere distinti dai dati di base, vengono chiamati metadati.
I/II
Fasi della metodologia
Analisi
L’altra componente fondamentale di un progetto informatico è
costituita dalle funzioni.
L’attività di determinazione delle funzioni consiste nel decidere quali
siano le cose che il sistema dovrà fare.
I dati del progetto saranno memorizzati in archivi elettronici, le
funzioni del progetto diventeranno i programmi.
La terza componente della fase di analisi è costituita dal flusso dei
dati tra le funzioni.
Documentare il flusso dei dati tra le funzioni significa abbinare ad
ogni funzione quali dati utilizza in input e quali dati produce in
output.
II/II
Fasi della metodologia
Progettazione e Transizione
L’obiettivo della fase di progettazione è definire e descrivere
dettagliatamente le caratteristiche del sistema informatico del progetto
(specifiche per la creazione degli archivi elettronici e per lo sviluppo
dei moduli software del progetto).
L’obiettivo della fase di transizione è quello di definire le modalità di
passaggio dal sistema esistente al sistema del nuovo progetto.
In altre parole dobbiamo pensare al momento dell’effettiva partenza
(in inglese start-up) del nuovo progetto.
Fasi della metodologia
Realizzazione
La fase della realizzazione genera
il prodotto del progetto.
Fasi della metodologia
Documentazione, prove e formazione
L’obiettivo della fase di documentazione è fornire a tutti gli utenti del
nuovo sistema 3 tipi di documenti da consultare nel corso della loro
attività lavorativa:
• manuale per l’utente per descrivere tutte le funzionalità del progetto
• manuale elettronico (o help on-line), cioè la descrizione interattiva
inglobata nelle interfacce e attivata su richiesta dell’utente
• manuale operativo che si rivolge agli addetti informatici (gestori del
sistema) e serve a spiegare come funziona il sistema del progetto.
La finalità specifica della fase di prove è quella di verificare il grado
di aderenza del progetto alle necessità indicate dall’utentecommittente e di rimuovere eventuali errori presenti nel codice.
I/II
Fasi della metodologia
Documentazione, prove e formazione
In altre parole la prova (system test) dimostra all’utente come sarà
soddisfatta la sua richiesta di supporto informatico nello svolgimento
dell’attività lavorativa.
Per raggiungere questo obiettivo occorre creare un ambiente, detto
sistema di prova, che simuli, il più precisamente possibile, la
situazione effettivamente in essere al momento dell’attivazione del
progetto.
Il risultato finale delle prove consiste nella certificazione del progetto.
Obiettivo della fase di formazione è quello di mettere in condizione
tutti gli utenti del nuovo sistema di operare conoscendo le
caratteristiche del progetto, attraverso l’erogazione di corsi di
formazione rivolti agli utenti del sistema.
II/II
Fasi della metodologia
Produzione
L’ultima fase prevista dalla metodologia è la produzione,
che si può anche chiamare rilascio del progetto.
L’obiettivo di questa fase è attivare il progetto presso gli
utenti, controllare che i processi elaborativi producano i
risultati attesi e verificare globalmente il sistema.
Modellazione dei dati
Modellare i dati significa costruire una rappresentazione
semplificata della realtà osservata, individuandone gli
elementi caratterizzanti e i legami intercorrenti tra essi.
La progettazione di un modello di dati avviene a livelli
diversi:
• il livello concettuale (o esterno) rappresenta la realtà dei
dati e le relazioni tra essi attraverso uno schema.
• il livello logico rappresenta il modo attraverso il quale i
dati sono organizzati negli archivi elettronici: descrive
quindi la composizione ed il formato dei dati nel loro
aspetto di struttura logica dei dati.
I/III
Modellazione dei dati
Il livello logico viene derivato dal livello concettuale
applicando alcune regole molto semplici.
Con il passaggio al modello logico, l’insieme dei dati viene
dotato di una struttura che deve facilitare:
1. la manipolazione o il trattamento dei dati, cioè la
possibilità di inserire, modificare e cancellare i dati;
2. l’interrogazione, cioè la possibilità di ritrovare i dati.
• il livello fisico rappresenta l’effettiva installazione degli
archivi elettronici: esso indica l’ubicazione dei dati nelle
memorie di massa.
II/III
Modellazione dei dati
REALTA’
LIVELLO
CONCETTUALE
SCHEMA CONCETTUALE
LOGICO
STRUTTURE LOGICHE DEI DATI
FISICO
ARCHIVI
III/III
Il modello E/R
Il modello entità/associazioni (Entity/Relationship) è
uno strumento utilizzato per costruire un modello
concettuale dei dati indipendente dalle applicazioni.
Il risultato di questo lavoro è la definizione di una
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 entità/associazioni sono:
• entità,
• associazioni,
• attributi.
L’entità
L’entità è un oggetto (concreto o astratto) che ha un
significato anche quando viene considerato in modo isolato
ed è di interesse per la realtà che si vuole modellare.
Esempi di entità:
una persona,
un modello di automobile,
un movimento contabile,
una prova sostenuta da uno studente.
I/II
L’entità
Le entità possono essere classificate secondo un certo
criterio di omogeneità definendo il tipo di entità attraverso
un nome.
Es.: gli studenti di una scuola sono classificabili nel tipo
entità Studente, i diversi modelli di automobile sono
classificabili nel tipo entità Automobile. Ciascuno studente
rappresenta un’istanza dell’entità Studente.
Nella rappresentazione grafica le entità sono identificate
con un rettangolo contenente all’interno il nome dell’entità.
STUDENTE
AUTOMOBILE
PERSONA
II/II
L’associazione
L’associazione (relationship) è un legame che stabilisce
un’interazione tra le entità.
Ogni associazione ha due versi con specifici significati; ogni verso ha
un’entità di partenza e una di arrivo; ogni verso inoltre ha una
descrizione che consente di comprenderne il significato.
Es.: tra l’entità Persona e l’entità Automobile esiste un’associazione
che può essere descritta nel linguaggio naturale secondo due versi:
una persona possiede una o più automobili e un’automobile è
posseduta da una persona:
Posseduta da
AUTOMOBILE
PERSONA
Possiede
I/II
L’associazione
Un altro simbolismo usato per descrivere un’associazione è
dato da una linea che unisce le due entità con l’aggiunta, a
metà della linea, di un rombo che contiene la descrizione
dell’associazione:
PERSONA
Possiede
AUTOMOBILE
II/II
Gli attributi
Le proprietà delle entità e delle associazioni vengono descritte
attraverso gli attributi. Esempi di attributi per l’entità Automobile
sono: Modello, Produttore, Cilindrata, PrezzoListino.
Le caratteristiche di ogni attributo sono il formato, la dimensione e
l’opzionalità:
• il formato di un attributo indica il tipo di valori che assume; i tre
formati base sono: carattere, numerico, data/ora.
• la dimensione indica la quantità massima di caratteri o cifre
inseribili.
• l’opzionalità indica la possibilità di non essere sempre valorizzato:
l’attributo è obbligatorio se deve avere valore non nullo, facoltativo se
sono accettabili valori nulli.
Il valore nullo (in inglese Null) rappresenta un’informazione
mancante, inapplicabile o sconosciuta.
I/IV
Gli attributi
I diversi valori assunti dagli attributi determinano le diverse istanze
dell’entità. L’insieme dei possibili valori assunti da un attributo si
chiama dominio dell’attributo. I valori appartenenti al dominio sono
omogenei tra loro, cioè sono dello stesso tipo.
Il simbolo grafico è convenzionalmente usato per rappresentare
l’attributo è la linea che parte dall’entità o dell’associazione e termina
con il nome ed un piccolo cerchio:
AUTOMOBILE
PrezzoListino
Cilindrata
Produttore
Modello
II/IV
Gli attributi
Nel caso del formalismo con il rombo si possono rappresentare gli
attributi dell’associazione:
PERSONA
Possiede
DataAcquisto
AUTOMOBILE
PrezzoAcquisto
Gli attributi DataAcquisto e PrezzoAcquisto non sono attributi né
dell’entità Persona, né dell’entità Automobile, ma sono attributi
dell’associazione tra le due entità.
III/IV
Gli attributi
Si indica con il termine chiave o chiave primaria (primary key)
l’insieme di uno o più attributi che consentono di distinguere
un’istanza dall’altra per la stessa entità.
Esempi chiavi sono il codice di un prodotto, la matricola di un
dipendente, la chiave composta dal codice studente insieme alla data e
al codice della materia per le prove scolastiche.
Nella descrizione grafica, gli attributi chiave vengono evidenziati
sottolineandone il nome oppure colorando il cerchietto dell’attributo:
PRODOTTO
Prezzo
Descrizione
Codice
IV/IV
Le associazioni tra entità
Un’associazione tra le entità può essere obbligatoria oppure
opzionale: obbligatoria quando il legame tra le entità deve essere
sempre presente, opzionale quando può essere presente.
Queste caratteristiche possono naturalmente riguardare anche i
versi dell’associazione tra le entità.
PERSONA
Intestato a
CONTOCORRENTE
Titolare di
Il simbolismo che diversifica il verso obbligatorio è la linea
continua, mentre la linea tratteggiata indica l’opzionalità.
I/VIII
Le associazioni tra entità
Il grado di un verso dell’associazione è la caratteristica che indica
quante istanze dell’entità di arrivo si associano all’istanza di
partenza.
Il grado può essere a uno oppure a molti e pertanto le associazioni
tra due entità si classificano nei seguenti tipi:
a. Associazione 1:1 (uno a uno) o biunivoca
ad ogni elemento del primo insieme E1 corrisponde uno e un
solo elemento del secondo insieme E2, e viceversa.
E1
E2
Ogni istanza della prima entità si deve associare ad una sola istanza
della seconda entità e viceversa.
II/VIII
Le associazioni tra entità
Ad esempio l’associazione tra l’entità Studente e l’entità
Diploma, in una scuola superiore, è biunivoca perché ad
ogni studente corrisponde uno e un solo diploma.
Il simbolismo che indica il grado a uno dell’associazione
tra le entità è la linea stessa.
STUDENTE
1
1
DIPLOMA
III/VIII
Le associazioni tra entità
b. Associazione 1:N (uno a molti) o semplice
ad un elemento di E1 possono corrispondere più elementi di
E2, mentre ad ogni elemento di E2 deve corrispondere uno e un
solo elemento di E1.
E1
E2
Ogni istanza della prima entità si può associare a uno o più istanze
della seconda entità, mentre ogni istanza della seconda entità si deve
associare ad una sola istanza della prima.
IV/VIII
Le associazioni tra entità
Per esempio nella gestione dei movimenti su un conto corrente, ogni
conto può effettuare una o più operazioni, ma ogni movimento deve
riferirsi a un solo conto corrente.
Quindi nell’associazione tra l’entità ContoCorrente e l’entità
Movimento, il verso Movimentato da (opzionale) è di grado a molti, il
verso Riferito a (obbligatorio) è di grado a uno.
Il grado a molti si rappresenta con l’aggiunta di altre due linee in
prossimità dell’entità di arrivo.
Riferito a
1
CONTOCORRENTE
Movimentato da
N
MOVIMENTO
V/VIII
Le associazioni tra entità
b. Associazione N:N (molti a molti) o complessa
ad un elemento dell’insieme E1 possono corrispondere più
elementi dell’insieme E2 e viceversa.
E1
E2
Ogni istanza della prima entità si può associare a uno o più istanze
della seconda entità e viceversa.
VI/VIII
Le associazioni tra entità
Per esempio nell’associazione tra l’entità Studente e l’entità Materia,
uno studente può essere verificato su una o più materie, e una materia
può essere oggetto di verifica di uno o più studenti.
STUDENTE
N
Oggetto di verifica per
Verificato in
N
MATERIA
Le associazioni 1:N sono molto più frequenti delle associazioni di
tipo uno a uno e molti a molti.
L’associazione molti a molti può essere facilmente scomposta in due
associazioni uno a molti, anche per consentire di rappresentare gli
attributi dell’associazione.
VII/VIII
Le associazioni tra entità
Per esempio nell’associazione tra l’entità Studente e l’entità Materia
la data della prova e il voto ottenuto non sono attributi di nessuna
delle due entità. Il modello diventa più chiaro introducendo una terza
entità Prova, avente come attributi la data e il voto della verifica.
Data
STUDENTE
1
Verificato con
Sostenuta da
PROVA
N
N
L’associazione tra Studente e Prova è di tipo 1:N, in
quanto uno studente può essere verificato con una o più
prove e ogni prova deve essere sostenuta da un solo
studente; l’associazione tra Materia e Prova è di tipo
1:N, perché ogni materia può essere controllata con una
o più prove e ogni prova deve essere riferita ad una sola
materia.
Voto
Riferita a
1 Control.con
MATERIA
VIII/VIII
Le regole di derivazione del modello logico
Dal modello concettuale dei dati è possibile ottenere il modello
logico dei dati; in altre parole si può definire la struttura degli archivi
adatti per organizzare i dati.
Le strutture dati scelte per il modello logico devono rendere facili le
operazioni di manipolazione e veloci le attività di ritrovamento dei
dati richiesti.
Il modello logico si ricava applicando alcune semplici regole di
derivazione:
1. ogni entità diventa un archivio;
2. ogni attributo di un’entità diventa un campo nell’archivio, cioè il
nome di un campo nella struttura del record
3. ogni campo del record eredita le caratteristiche dell’attributo
dell’entità da cui deriva;
I/XI
Le regole di derivazione del modello logico
4. l’identificatore univoco di un’entità diventa la chiave primaria
nel record dell’archivio derivato;
5. l’associazione uno a uno diventa un archivio unico, il cui
tracciato record contiene i campi corrispondenti agli attributi
della prima e della seconda entità;
6. l’identificatore univoco dell’entità di partenza nell’associazione
uno a molti diventa chiave esterna (foreign key) dell’entità di
arrivo associata, cioè l’attributo che è l’identificatore univoco
diventa un campo nel record del secondo archivio;
7. l’associazione con grado molti a molti diventa un nuovo archivio
(in aggiunta agli archivi derivati dalle due entità), il cui record
contiene gli identificatori univoci delle due entità e gli eventuali
attributi dell’associazione.
II/XI
Le regole di derivazione del modello logico
Si consideri l’associazione tra l’entità CodiceFiscale e l’entità
Cittadino: è un’associazione uno a uno in quanto ad ogni cittadino è
assegnato uno ed un solo codice fiscale.
Lo schema entity/relationship è il seguente:
CODICE FISCALE 1
1
CITTADINO
a cui corrisponde l’archivio avente gli attributi dell’una e dell’altra
entità: AnagrafiTributarie (CodiceFiscale, Cognome, Nome,
DataNascita).
Il campo CodiceFiscale diventa chiave primaria.
III/XI
Le regole di derivazione del modello logico
Archivio
Campo
Chiave
AnagrafiTributarie CodiceFiscale primaria
Cognome
Nome
DataNascita
Formato
carattere
carattere
carattere
data/ora
Dimensione
16
30
25
8
In generale dall’associazione uno ad uno del modello concettuale
viene derivato un unico archivio che contiene gli attributi della
prima e della seconda entità.
IV/XI
Le regole di derivazione del modello logico
Nel seguente schema E/R, l’associazione tra l’entità Contratto e
l’entità Dipendente è una relazione uno a molti, in quanto ogni
contratto può essere sottoscritto da uno o più dipendenti, e ogni
dipendente deve essere regolato da un solo contratto di lavoro.
CONTRATTO
1
DIPENDENTE
N
Viene aggiunta una chiave esterna nell’archivio Dipendenti, costituita
dall’insieme degli attributi che formano la chiave primaria
dell’archivio Contratti.
Contratti (Codice, Descrizione, StipendioBase, DataScadenza)
Dipendenti (Matricola, Cognome, Nome, Indirizzo, Qualifica,
CodiceContratto)
V/XI
Le regole di derivazione del modello logico
Archivio
Campo
Chiave
Formato
Dimensione
AnagrafiTributarie Codice
Descrizione
StipendioBase
DataScadenza
primaria numerico
carattere
numerico
data/ora
3
30
10
8
Dipendenti
primaria carattere
carattere
carattere
carattere
carattere
esterna
numerico
7
30
25
30
10
3
Matricola
Cognome
Nome
Indirizzo
Qualifica
CodiceContratto
VI/XI
Le regole di derivazione del modello logico
Agli attributi dell’entità Dipendente (a molti) è stata aggiunta come
chiave esterna CodiceContratto, cioè la chiave primaria dell’entità
Contratto (a uno).
In generale dal modello concettuale vengono derivate le tabelle che
rappresentano le entità e l’associazione uno a molti viene tradotta
aggiungendo agli attributi dell’entità “a molti” la chiave dell’entità
“a uno”.
VII/XI
Le regole di derivazione del modello logico
Si considerino l’entità Docente e l’entità Classe per una scuola: tra le
due entità si può stabilire un’associazione molti a molti, in quanto
ogni docente può insegnare in una o più classi, e ogni classe deve
avere uno o più docenti.
DOCENTE
N
CLASSE
N
Accanto agli archivi Docenti e Classi, viene creato un nuovo
archivio, chiamato Insegna, il cui record contiene gli attributi chiave
dei due archivi considerati.
VIII/XI
Le regole di derivazione del modello logico
Se vengono considerati anche gli attributi dell’associazione, questo
nuovo archivio di legame contiene, oltre alle chiavi delle due entità
anche gli attributi assegnati all’associazione: il numero delle ore di
insegnamento del docente in una classe non è attributo né di Docente,
né di Classe, ma dell’associazione; esso diventa un campo nel nuovo
archivio Insegna.
Docenti (Codice, Nome , Qualifica, Materia)
Classi (Sigla, NumeroAlunni, Aula)
Insegna (CodiceDocente, SiglaClasse, NumeroOre)
IX/XI
Le regole di derivazione del modello logico
Archivio
Campo
Chiave
Formato
Dimensione
Docenti
Codice
Nome
Qualifica
Materia
primaria
carattere
carattere
carattere
carattere
5
40
7
3
Classi
Sigla
NumeroAlunni
Aula
primaria
carattere
numerico
numerico
3
2
3
Insegna
CodiceDocente
SiglaClasse
NumeroOre
primaria
primaria
carattere
carattere
numerico
5
3
2
X/XI
Le regole di derivazione del modello logico
In generale quindi vengono derivati gli archivi corrispondenti alle
entità e l’associazione molti a molti viene tradotta con un terzo
archivio contenente le chiavi delle due entità e gli eventuali attributi
dell’associazione.
XI/XI
FINE
Scarica

Studente