Gestione Voti Scolastici Progettare un modello di dati per la gestione delle informazioni riguardanti le prove, nelle diverse materie, sostenute dagli studenti di una scuola media superiore. Il sistema informativo deve essere in grado di consentire alla segreteria della scuola: La gestione anagrafica degli studenti; La gestione delle diverse classi, con il relativo indirizzo, in cui sono suddivisi gli studenti; La gestione dei voti attribuiti agli studenti nelle varie materie e del tipo di prova sostenuta (orale, scritta, pratica); Considerato il problema proposto, precisando eventuali ipotesi aggiuntive, si realizzi: Un analisi della realtà di riferimento che illustri le premesse per i successivi passi della progettazione della base di dati; Uno schema concettuale della base di dati; Uno schema logico della base di dati; Pag.1
Svolgimento prima di passare alla definizione della base di dati è bene fermarsi a riflettere sul problema da risolvere e cercare di progettare la base di dati quanto meglio è possibile. Un errore di progettazione può ripercuotersi sull'intero sviluppo del progetto dando non poche noie. Una base di dati ben progettata risulta invece più efficiente e semplifica lo sviluppo delle applicazioni che ne faranno uso. Il procedimento per la progettazione di una base di dati segue i seguenti passi fondamentali: Analisi del problema da rappresentare. Realizzazione del Modello Concettuale. Traduzione del Modello Concettuale nel Modello Logico. Realizzazione del modello logico tramite DBMS (Data Base Management System) Analisi del problema Quando bisogna analizzare un problema da risolvere tramite progettazione di una base di dati è utile porsi le seguenti domande. Di quale realtà stiamo parlando? Si tratta del sistema informativo della segreteria di una scuola media superiore, in particolare si vuole tenere traccia delle informazioni riguardanti le prove sostenute dagli studenti nelle diverse materie. Quali sono i principali oggetti di cui si parla? Dalla lettura del testo si deduce che bisogna considerare gli STUDENTI, le CLASSI, gli INDIRIZZI, le MATERIE e le PROVE. Come sono associati gli oggetti individuati? Il singolo studente frequenta una classe mentre una classe è composta da più studenti. Una classe appartiene ad un indirizzo mentre un indirizzo può avere più classi. Un singolo studente sostiene più prove e contemporaneamente una prova può essere sostenuta da più studenti (se ad esempio si tratta di un compito scritto o pratico). Una prova è relativa ad una singola materia ma ad ogni materia possono essere associate più prove. Quali attributi degli oggetti dovremo considerare? Per gli studenti è necessario considerare i dati anagrafici (nome, cognome, indirizzo, data di nascita e telefono) e la classe frequentata. Per le classi bisogna considerare il numero, la sezione e l indirizzo. Per gli indirizzi bisogna considerare il nome. Per le prova bisogna considerare la data, il tipo e la materia. Per le materie basta il nome. Pag.2
Modello Concettuale Dovendo realizzare un database relazionale scegliamo il modello Entità Relazione. Pag.3
Modello Logico INFORMATICA - DATABASE: Progettazione di una base di dati Come tipo di schema logico, si sceglie di utilizzare quello relazionale. Applicando le regole di corrispondenza tra il modello E/R ed il modello relazionale (vedi APPENDICE 1 a pagina 7) si passa dal precedente schema concettuale al modello logico che viene descritto nella forma testuale. Nella rappresentazione testuale si elencano le tabelle (indicando per ciascuna i campi) che rappresentano le entità dello schema concettuale e le tabelle che rappresentano le eventuali relazioni molti-a-molti, introducendo, inoltre, le chiavi esterne per rappresentare le associazioni (le chiavi primarie sono sottolineate, le chiavi esterne sono in corsivo). INDIRIZZI (IdIndirizzo, Nome) CLASSI (IdClasse, IdIndirizzo, Numero, Sezione) MATERIE (IdMateria, Nome) PROVE (IdProva, IdMateria, Data, Tipo) STUDENTI (Matricola, IdClasse, Nome, Cognome, Indirizzo, Telefono, Nascita) VALUTAZIONI (IdValutazione, Matricola, IdProva, Voto) Tabella per rappresentare la relazione N:N Pag.4
Realizzazione del modello logico tramite DBMS Abbiamo scelto di realizzare il nostro database con Microsoft Access anche se questo non è un vero e proprio DBMS. Nel definire le tabelle e la strutture delle stesse, è consigliabile elencarle partendo dalle tabelle che non presentano chiavi esterne. In successione si definiscono le tabelle le cui chiavi primarie sono utilizzare da altre tabelle come chiavi esterne. Nel prospetto seguente, per esempio, si definiscono prima le tabelle Materie e Indirizzi, che non hanno chiavi esterne, quindi la tabella Classi, che ha fra gli attributi un campo definito come chiave esterna alla tabella Indirizzi, successivamente Prove e Studenti ed infine Valutazioni. Tabella Nome Campo Ciave Tipo di dato Materie IdMateria Primaria Contatore Nome Indirizzi IdIndirizzo Primaria Contatore Nome Classi IdClasse Primaria Contatore IdIndirizzo Esterna Numerico Numero Sezione Numerico Prove IdProva Primaria Contatore IdMateria Esterna Numerico Data Tipo Data/ora Studenti Matricola Primaria Contatore IdClasse Esterna Numerico Nome Cognome Indirizzo Telefono Nascita Data/ora Valutazioni IdValutazione Primaria Contatore Matricola Esterna Numerico IdProva Esterna Numerico Voto Numerico Di seguito riportiamo lo schema delle relazioni estrapolato da Microsoft Access. Pag.5
Pag.6
APPENDICE 1) Regole di corrispondenza tra il modello E/R e il modello relazionale Il modello relazionale di una base dati si ottiene, a partire dal modello Entità Relazioni, attraverso semplici regole di derivazione. Al termine del processo si ha lo schema relazionale della base di dati (modello logico) che costituirà il punto di partenza per la successiva progettazione fisica (realizzazione tramite DBMS). Regole per le entità Ogni entità è tradotta in una tabella con gli stessi attributi. La chiave primaria della tabella (sottolineata) è la chiave dell entità stessa. E1 (K1, A1, A2) Regole per le relazioni Relazione uno ad uno: La relazione uno ad uno viene tradotta nel modello relazionale con una sola tabella nella quale si riportano tutti gli attributi delle due tabelle. Il nome della relazione può essere ridefinito. La chiave primaria può essere indifferentemente una delle due chiavi delle entità. E (K1, A1, A2, K2, B1, B2) Relazione uno a molti: La relazione uno a molti viene tradotta nel modello relazionale con due tabelle, una per ogni entità, inoltre, l entità legata a molti prende la chiave dell entità legata ad uno che costituirà un nuovo attributo detto chiave esterna o secondaria. E1 (K1, A1, A2) E2 (K2, B1, B2, K1) Pag.7
Relazione molti a molti: La relazione molti a molti viene tradotta nel modello relazionale con tre tabelle, una per ogni entità, poi la terza tabella è formata dalle chiavi delle due entità più eventuali attributi propri della relazione. E1 (K1, A1, A2) E3 (K1, K2) E2 (K2, B1, B2) Pag.8