LO SVOLGIMENTO DEL TEMA DI INFORMATICA

Documenti analoghi
Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

2011 Politecnico di Torino 1

Basi di Dati Corso di Laura in Informatica Umanistica

DATABASE CLIENTIRAPPRESENTANTI

Concettuale. Giuseppe Amato

M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE

SQL e ACCESS. Modello relazionale PROBLEMA ENTITA STUDENTE

SOLUZIONE AL TEMA DI INFORMATICA (PROGETTO ABACUS)

M070 - ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE CORSO DI ORDINAMENTO Indirizzo: INFORMATICA

Microsoft Access. Microsoft Access. Maurizio Rebaudengo, Paolo Garza 1. Microsoft Access. Creazione base di dati. Apertura di una base dati

M733 ESAME DI STATO DI ISTITUTO TECNICO COMMERCIALE CORSO DI ORDINAMENTO

Esempio di database relazionale con l utilizzo del prodotto MySQL

Per poter interagire con un database in rete mediante uno script php bisogna. innanzitutto cerare una connessione. Ciò si ottiene mediante la funzione

Interrogazioni nidificate

Basi di dati: appello 08/03/06

Basi di dati: appello 21/09/12

Esercitazione seconda prova Esame di Stato Prova di Informatica Gestionale ITC Programmatori e Mercurio. Note introduttive

Esprimere in algebra (ottimizzata), calcolo relazionale la seguente query:

Vogliamo creare una anagrafe e poi creare delle query che rispondono a delle domandi. Utilizzando Microsoft Access

SQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013)

SOLUZIONE TRACCIA D INFORMATICA ISTITUTO TECNICO INDUSTRIALE

Caratteristiche dei linguaggi per Database

1 DESCRIZIONE DELLE FUNZIONI REGISTRAZIONE UTENZE INTERNET Caricamento utente internet (data entry)... 3

Interrogazioni nidificate

Basi di dati: appello 28/02/06

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi

Esercitazione 8 Mercoledì 21 gennaio 2015 (2 ore) DDL e progettazione

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:

IL DAT A B A S E DI ALGE B R A N D O

SOLUZIONE ESAME DI STATO 2015/2016 Indirizzo: ITSI - AMMINISTRAZIONE, FINANZA E MARKETING ARTICOLAZIONE SISTEMI INFORMATIVI AZIENDALI

a.a. 2012/13 12 Novembre 2012 Preparazione al Test in itinere, Compito A 1. Modellare tramite uno schema entità- relazione la seguente base di dati:

DBMS. Affidabilità. Privatezza dei dati. Efficienza. Efficacia. Un DBMS deve garantire:

Informatica per le Scienze Umane. Introduzione al corso: programma dettagliato

Domande utili alla preparazione dell orale di Informatica all Esame di Stato

Esercitazione: Interrogazioni SQL

Elena Baralis 2007 Politecnico di Torino 1

Volumi di riferimento

DATABASE PER IL WEB. Programmazione Web 1

Ministero dell Istruzione dell Università e della Ricerca

Basi di Dati Corso di Laura in Informatica Umanistica

PHP e Structured Query Language

Structured. Language. Basi di Dati. Introduzione. DDL: Data Definition Language. Tipi di dato. Query. Modifica dei Dati

Interrogare una base di dati: Algebra relazionale e SQL. Alessandro Bardine Alessandro Ciaramella Vincenzo Galella Rudy Manganelli

Introduzione a phpmyadmin

Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2014/2015

Prova del 14/09/09. Considerare la seguente descrizione di un campeggio:

1. Schema concettuale della base di dati Lo schema concettuale (o statico) è uno dei due schemi del progetto concettuale di un sistema informativo.

Access 2007 Colonna di ricerca

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

SISTEMI OPERATIVI, RETI, INTERNET

Sommario. Introduzione... 13

PHP 5. PHP ed i database. Database e tabelle. Struttura di un DB relazionale. Accesso a database

B a s i d i D a t i ( M o d u l o T e o r i a ) P r o v a s c r i t t a

Ministero dell Istruzione dell Università e della Ricerca M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE

I database. Introduzione alla teoria delle basi di dati

PROGRAMMA DI INFORMATICA ARTICOLAZIONE AFM/RIM CLASSE TERZA SEZ. A. DOCENTE: Noto Giancarlo

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

ESEMPIO DI SOLUZIONE ESAME DI STATO 2013/2014 INFORMATICA (Testo valevole per i corsi di ordinamento e per i corsi sperimentali del Progetto Sirio )

L area pubblica è costituita da un portale informativo attraverso il quale è possibile effettuare la diffusione dell informazione.

Servizi on-line di Sicurezza, Protezione Civile e Prevenzione

SQL: definizione schema

Esame Informatica Generale 13/04/2016 Tema A

Si considerino le seguenti specifiche relative alla realizzazione di un sistema informativo per la gestione di un sito di blog.

Database Lezione 1. Sommario. - Introduzione - Tabelle e chiave primaria - Query - Calcoli ed alias - Ordinamento

PROGRAMMA DI INFORMATICA CLASSE TERZA SEZ. A. CORSO Amministrazione Finanza e Marketing. DOCENTE: Noto Giancarlo

Esercitazione 4: Trigger in DB2

SQL (STRUCTURED QUERY LANGUAGE)

Registrazione aziende per esportazione negli USA di prodotti alimentari diversi dalla carne e a base di carne

PHP 5. Accesso a database

La progettazione di un database non ha un unica soluzione. Quella proposta può essere quindi variata in base all esperienza del programmatore.

M070 - ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE

PROGRAMMA DI INFORMATICA

Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2013/2014

Strumenti Software per Esercitazioni (ambiente Windows) Basi di Dati L LS Ing. Gestionale

Ministero dell Istruzione, dell Università e della Ricerca UFFICIO SCOLASTICO REGIONALE PER IL LAZIO Direzione Generale - Ufficio IV

GESTIONE ESAMI di STATO

Registro elettronico scuola ospedaliera rel. 5.0

Gestione Orario Lezioni: Schema del Database

Esame di Stato Istituto Tecnico Industriale Soluzione della Seconda Prova Indirizzo: INFORMATICA Tema: INFORMATICA Anno Scolastico:

Anno 2013 Informatica ABACUS

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella i dati di società di assicurazioni che erogano polizze sanitarie.

GESTIONE VOTI SCOLASTICI

Linee di programmazione

OBIETTIVI DELL'ESERCITAZIONE

Ipotesi di simulazione della seconda prova di Informatica Prima parte

LABORATORIO di INFORMATICA

Istruzioni SQL 1. Query di selezione 2 Istruzione SELECT 2 Istruzione SELECT DISTINCT 2 ORDER BY 3 WHERE 3 La condizione LIKE 4 BETWEEN AND 5

Transcript:

LO SVOLGIMENTO DEL TEMA DI INFORMATICA Si richiede un progetto di ampio respiro: servirebbe più tempo per l'elaborazione Argomenti noti ai candidati, ma le richieste prevedono un'analisi approfondita. Una soluzione «semplificata» Come avviene ormai da diversi anni la traccia ministeriale richiede l analisi e la progettazione di un database molto articolato che deve essere gestito, per la consultazione e l aggiornamento, sia in ambiente locale (la sede delle compagnia telefonica), sia via Internet. Le richieste della traccia sono molto dettagliate e articolate e richiederebbero per una soluzione completa da parte dello studente un tempo molto maggiore di quello a disposizione. Sicuramente il tema proposto, pur trattando argomenti che dovrebbero essere noti al candidato, sembra più adatto ad un progetto di ampio respiro da sviluppare in classe in un periodo di tempo piuttosto lungo che non per un tema di maturità. Infatti le richieste spaziano da un analisi approfondita delle tematiche legate alla sicurezza e alla riservatezza delle informazioni, ad un progetto completo di database in cui le modalità di salvaguardia delle informazioni nel tempo sono lasciate a carico del candidato. Inoltre vengono richieste diverse query che richiedono la conoscenza approfondita delle possibilità offerte dal linguaggio SQL. Il punto numero 4, infine, allarga l analisi alle tematiche relative alla gestione di un database remoto e alla realizzazione in Internet di un portale interattivo con accessi riservati, argomento che probabilmente da solo potrebbe rappresentare una parte cospicua della soluzione. Per questo motivo proporremo una soluzione semplificata che pensiamo possa essere compatibile con il tempo a disposizione, segnalando in ogni fase di lavoro le problematiche trascurate e le modalità di approccio alla soluzione senza entrare nei dettagli.

Punto 1 Da un punto di vista generale il problema risulta essere molto articolato in quanto richiederebbe un analisi approfondita delle tecniche da utilizzare per garantire da una parte la sicurezza e la coerenza dei dati nel tempo, dall altra la riservatezza delle informazioni che dovrebbero essere accessibili solo alle persone autorizzate. In particolare vogliamo accennare al fatto che, essendoci nel database informazioni riservate come le password, sarebbe opportuno registrare nel database dei dati crittografati definendo nel contempo l algoritmo di codifica e decodifica. Inoltre occorre distinguere tra le operazioni di competenza dell Amministratore (aggiunta e modifica dei dati relativi ai tecnici, assegnazione di userid e password iniziale, validazione delle modifiche ai dati dei contatti, ) e quelle di competenza dei tecnici (modifica della propria password, consultazione e modifica dei dati relativi ai propri contatti, consultazione e/o modifica dei dati dei contatti degli altri componenti del proprio gruppo, ) Infine occorre tener presente che nel lasso di tempo intercorrente tra l accesso da parte di un tecnico per la modifica dei dati e la validazione della modifica stessa e della sua pubblicazione è indispensabile garantire l integrità e la congruenza dei dati del database (un secondo tecnico non essendo a conoscenza delle modifiche apportate dal collega potrebbe tentare di apportarne altre che potrebbero risultare incompatibili con quelle del collega, dando origine ad un database inconsistente) Tutto ciò richiederebbe la gestione di diverse tabelle con accessi separati e dei permessi per i singoli componenti. Per semplicità nella nostra soluzione ci atterremo alle seguenti ipotesi restrittive: Il database è relativo ad un unico gruppo di lavoro, per cui i tecnici hanno libero accesso a tutti i contatti; Non vengono prese in esame le problematiche legate alla crittografia dei dati e alla gestione delle password; Il sistema una volta accettata una modifica sui dati di un contatto ne impedisce l accesso per modifica o cancellazione fino alla validazione da parte dell Amministratore.

Punto 2 Sotto le ipotesi citate presentiamo lo schema concettuale del database: Di conseguenza lo schema logico del database espresso in terza forma normale è: Tecnico(ID, Nome, Cognome, ) Autenticazione (IDTecnico, Userid, Password) Accesso(IDTecnico, DataInizio, OraInizio, DataFine, OraFine, TipoOperazione, IDContatto) Contatto(ID, Nome,, Provincia) Modifica (IDContatto, copia campi di contatto, TipoOperazione) La tabella Tecnico viene gestita dall Amministratore per le modifiche, le aggiunte e le cancellazioni e in consultazione dal programma di autenticazione per il permesso di accesso ai dati. La tabella Accesso viene costruita sulla base della richiesta del tecnico e avvia il programma di consultazione sulla tabella Contatto o di modifica sulla tabella Modifica che contiene le modifiche temporanee in attesa di validazione. A parte il campo TipoOperazione che limita la possibilità di inserire nuove modifiche su un record, le tabelle Contatto e Modifica sono speculari in quanto dopo la validazione i record per cui è stata concessa l autorizzazione alla modifica vengono trasferiti uno a uno dalla tabella Modifica alla tabella Contatto, sovrascrivendo i record di quest ultima tabella.

Al termine dell esecuzione del programma di validazione le due tabelle saranno identiche e il campo TipoOperazione verrà azzerato in tutti i record. Punto 3 a) A titolo esemplificativo mostriamo la definizione della relazione SQL relativa alla tabella Tecnico: CREATE TABLE Accesso ( IDTecnico varchar(5), DataInizio OraInizio DataFine OraFine TipoOperazione IdContatto date, time, date, time, integer, varchar(5), IdTecnico, DataOraInizio primary key); TipoOperazione 0 = consultazione 1 = modifica 2 = cancellazione 3 = nuovo inserimento b) SELECT * FROM Contatto WHERE Provincia = [provincia richiesta] ORDER BY Nome;

c) SELECT * WHERE IdTecnico=[codice tecnico richiesto] ORDER BY DataInizio, OraInizio; d) SELECT DISTINCTROW Avg([Accesso Query].[Conteggio Di Accesso]) AS [Media Di Accesso] FROM [Accesso Query]; ove Accesso Query ha la seguente struttura: SELECT DISTINCTROW Accesso.DataInizio, Count(*) AS [Conteggio Di Accesso] GROUP BY Accesso.DataInizio HAVING (((Accesso.DataInizio) Between [data1] And [data2])); e) SELECT DISTINCTROW IdTecnico, Count(*) AS [Conteggio Di Accesso] GROUP BY IDTecnico HAVING TipoOperazione=3; f) SELECT DISTINCTROW * ORDER BY IDTecnico WHERE DataInizio=[data richiesta];

g) SELECT DISTINCTROW * From Contatto WHERE ID=(SELECT (IDContatto FROM ConteggioAccesso ORDER BY N DESC LIMIT 1);); ove ConteggioAccesso ha la seguente struttura: SELECT DISTINCTROW IDContatto, Count(*) AS [N] GROUP BY IDContatto HAVING (((Accesso.DataInizio) Between [data1] And [data2])); Punto 4 Questo punto richiederebbe uno sviluppo molto articolato che però a nostro avviso va al di là delle possibilità fornite al candidato dal tempo a disposizione. Ci limiteremo quindi ad indicare dei criteri di carattere generale che ciascuno potrà poi applicare al proprio caso specifico. In primo luogo occorrerà progettare un interfaccia web che consenta di collegarsi al database remoto tramite opportune procedure php attivabili interattivamente dall utente. Ciascuna procedura dovrà prevedere un controllo rigoroso dei dati inseriti e il loro invio al sistema remoto per verificare il possesso dei requisiti da parte di chi formula la richiesta. Se la validazione ha successo verrà chiamata la funzione php mysql_connect con i valori di utente e password previsti per l accesso di utenti registrati $db = mysql_connect($host, $user, $password) or die ( Impossibile connettersi al server $host Autorizzazione negata ); Appare evidente che nel contesto proposto risulta indispensabile imporre all utente l utilizzo di adeguati sistemi di protezione tramite le opzioni del browser e l utilizzo di un proxy server che funga da interfaccia intelligente tra l utente finale e la banca dati. Infine va notato che per garantire un discreto margine di sicurezza, sarebbe opportuno far sì che le informazioni riservate, come ad esempio le password, non compaiano nel sorgente HTML della pagina, e che inoltre, tramite opportuni meccanismi, viaggino criptate attraverso la rete.