Testo 3 Viene di seguito presentato un esempio di analisi di un problema che comprende i seguenti passi: • Analisi dei dati • Modello E/R • Derivazione del modello logico • Analisi del problema • Gerarchia delle funzioni • Schema delle risorse di sistema. L'esempio si riferisce ad un'applicazione di uso molto frequente: la gestione di un archivio anagrafico. TESTO DEL PROBLEMA Produrre il modello dei dati per la costruzione di un archivio anagrafico e descrivere le funzioni più importanti per la sua gestione. ANALISI DEI DATI Esempi di archivi anagrafici sono: • soci di un circolo culturale • cittadini di un comune • clienti di un'azienda • fornitori di un'azienda • agenti di vendita. In ogni caso la gestione di un archivio anagrafico deve prevedere tre operazioni fondamentali: • l'inserimento • la cancellazione • la modifica delle anagrafiche presenti nell'archivio. Per delimitare il campo di applicazione, si supponga di operare sull'archivio anagrafico dei clienti di un'azienda. Le principali informazioni che vanno registrate per ogni cliente sono: • ragione sociale • indirizzo • CAP • località • provincia • telefono • partita IVA. Per la definizione dell'entità Cliente si possono indicare, quindi, i seguenti attributi: codice cliente, ragione sociale, indirizzo, località, telefono, partita IVA, codice agente, fido. Al posto degli attributi: CAP, località, provincia è opportuno inserire una nuova entità Località descritta dai seguenti attributi: codice località, CAP, nome località, sigla della provincia. Tale scelta permette di ottenere un'indicazione univoca per descrizioni diverse della medesima località: per esempio "Mte Nero", "M.te Nero" e "M. Nero" si riducono all'unica dizione "Monte Nero". In particolare va notato che ogni Cliente deve essere residente in una Località, vale a dire che per ogni cliente non può mancare l'indicazione della località in cui risiede. Inoltre ogni località può essere residenza di uno o più clienti, ma non necessariamente tutte le località hanno al loro interno un cliente. Applicando le regole di derivazione del modello logico, l'associazione uno a molti viene realizzata introducendo tra gli attributi dell'archivio Clienti la chiave esterna Codice località. Archivi Località (CodiceLocalità, CAP, NomeLocalità, SiglaProvincia) Clienti (CodiceCliente, RagioneSociale, Indirizzo, Telefono, CodiceLocalità, PartitaIVA, CodiceAgente, Fido) Le chiavi primarie delle due relazioni sono CodiceCIiente e CodiceLocalità. residente LOCALITA’ CLIENTE Residenza di