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