Area Docenti

Percorso di recupero sull'analisi del problema e la modellazione dei dati

Traccia per un lavoro con gli studenti ad indirizzo informatico in 4 Step

Step 1

Analisi del problema

Individuare entità, attributi e associazioni

Dato il testo del problema, occorre individuare quali siano gli elementi caratteristici e più importanti. Di solito sono i sostantivi presenti nel testo. Le descrizioni e gli aggettivi corrispondono agli attributi, i verbi alle associazioni.

Alcune regole generali:

  • le entità hanno il nome al singolare
  • tutte le entità dovrebbero avere un identificatore univoco (Codice, Matricola, ...)
  • le entità di tipo dinamico hanno di solito un attributo Data (DataRegistrazione, DataFattura, DataVerifica, ...)
  • le chiavi esterne vengono aggiunte in fase di derivazione del modello logico
  • tra le entità c'è di solito anche un'entità di tipo parametrico per descrivere tipologie, località, soggetti, nomi classificati in modo standard, ecc. 

ESERCIZI PROPOSTI

1. I farmaci venduti in una Farmacia sono caratterizzati dal nome e dal tipo di confezione. Ogni farmaco ha una casa che lo produce, inoltre per una buona organizzazione del negozio, i farmaci sono classificati secondo diverse categorie (antibiotici, colluttori, antinfiammatori, ecc..)

2. I telefoni cellulari sono gestiti da diverse compagnie telefoniche che applicano tariffe differenziate a seconda degli orari o per particolari offerte che hanno validità limitata.

Per ciascun esercizio, dovete individuare le entità, gli attributi e le associazioni, motivando le scelte fatte; per questo primo passo ci fermiamo qui, senza fare il modello E/R.

torna all'inizio


Step 2

Modello E/R e regole di lettura

Costruire il modello E/R e verificare con le regole di lettura

Nello Step1 abbiamo visto come individuare le entità, gli attributi  e le associazioni all'interno del problema esaminato.

L'analisi dei dati può essere poi rappresentata in forma semplificata attraverso il modello E/R (entity/relationship): rettangoli per le entità, linee di congiunzione per le associazioni. La terminazione delle linee è semplice se l'associazione è a 1, è multipla se l'associazione è a N.

Le associazioni hanno due versi (da sinistra a destra e da destra a sinistra). I versi possono essere obbligatori (linea continua) od opzionali (linea tratteggiata).

Dopo aver disegnato il modello E/R, possiamo validarlo con le regole di lettura; non usiamo le regole solo come esercizio formale, ma come un modo per controllare se le frasi che abbiamo scritto hanno un senso rispetto al problema trattato.

ESERCIZIO 1

Rappresentare con il modello E/R i CD musicali con gli artisti e i brani contenuti in ciascun CD. Per semplicità supponiamo che ogni CD si riferisca ai brani di un solo artista. Verificare poi con le regole di lettura la correttezza del modello.

ESERCIZIO 2

Osservate il seguente modello E/R che rappresenta i risultati ottenuti dagli studenti nelle gare sportive. Controllate con le regole di lettura.

E' sbagliato, perché?


Step 3

Derivazione del modello logico

 Applicare le regole di derivazione dal modello concettuale al modello logico

Dopo aver validato il modello E/R (regole di lettura) occorre passare alla definizione del modello logico; per far questo seguiamo le regole di derivazione.

Lo scopo è di preparare le strutture di dati (cioè le tabelle). Come buona norma è bene cominciare dalle entità vicine all'1, poi quelle vicine al molti. Aggiungiamo poi le chiavi esterne per tutte le associazioni 1:N.

Ricordiamoci: la chiave esterna va nella tabella vicino al molti, non in quella vicino all'1 !!!

ESERCIZIO 1

Sviluppare il problema dall'analisi dei dati fino al modello logico, dettagliando tutti i passi, per il seguente problema:
gestione dei dati riguardanti gli stipendi pagati nei diversi mesi ai dipendenti che lavorano in una media azienda organizzata per Uffici/Reparti.

ESERCIZIO 2

Considerate il seguente modello E/R:

 

Da questo modello è stato derivato il seguente modello logico:
Clienti(CodCli, Ragione sociale, Indirizzo, NumeroOrdini)
Prodotti(CodProd, Descrizione, Prezzo, UnitàMisura, NumeroOrdini)
Ordini(Numero, Data, Quantità, CodiceProdotto)

Dove sono gli errori??


Step 4

Funzionigramma e diagramma delle risorse

 Sviluppare in modo completo un problema utilizzando tutte le tecniche di analisi dei dati e delle funzioni

Passando dalla modellazione dei dati alla costruzione di procedure di gestione del database, dobbiamo attrezzarci con altre tecniche che ci consentono di individuare le funzionalità dell'applicazione software che utilizza il database. Chiameremo queste funzionalità funzioni: le possiamo individuare pensando, da una parte alle operazioni di uso comune che si fanno sugli archivi di dati (inserimento, modifica, cancellazione), e dall'altra alle specifiche richieste del problema trattato.

Le funzioni vengono organizzate gerarchicamente, nel senso che ci sono funzioni di alto livello che possono essere scomposte in funzioni più elementari.

La rappresentazione grafica della gerarchia delle funzioni si chiama funzionigramma.

Nel passo successivo dobbiamo mettere in relazione gli archivi dei dati (nel database relazionale sono le tabelle) con le funzioni che li utilizzano. In sostanza dobbiamo specificare in quale tabelle una funzione trova i dati da elaborare e di quali risorse di input/output necessita. La rappresentazione grafica di questi collegamenti si chiama diagramma delle risorse (o diagramma di flusso, perché rappresenta il fluire dei dati da e verso le funzioni).

Esercizio

Sviluppare in modo completo il seguente problema utilizzando tutte le tecniche di analisi e di rappresentazione dei dati e delle funzioni apprese fino ad ora:

In una certa giornata, in un centro, si svolgono le prove di un concorso nazionale per posti di lavoro appartenenti a categorie diverse. I candidati provengono da tutte le regioni dell'Italia. Per semplicità supponiamo che ogni candidato possa partecipare ad un solo tipo di posto di lavoro e che il concorso si svolga su prova unica. La gestione, oltre a raccogliere le iscrizioni al concorso e a produrre gli elenchi dei partecipanti, deve anche consentire, dopo lo svolgimento delle prove, di ottenere le graduatorie per ogni categoria di posto di lavoro.