Si è tenuta ieri la seconda prova dell’esame di maturità 2013, esame che coinvolge circa mezzo milione di studenti in tutta Italia. La Prof.ssa Simonetta Cristini , docente informatica industriale ha svolto la traccia di informatica valida per gli studenti dell’Istituto tecnico industriale, perito informatico. Si tratta di un tema appunto di informatica. Ecco lo svolgimento.
Introduzione
La traccia propone una situazione di connessione client server gestibile via Internet con semplici accorgimenti
Sono identificabili due tipologie di postazioni:
Punti di controllo dogana, presenti nell’aeroporto con una disposizione geografica variabile (potrebbero essere postazioni molto distanti fra loro o raggruppati tutti in uno stesso settore dell’aeroporto)
Nodo di gestione dei controlli doganali effettuati.
La postazione locale (controllo dogana)
Per agevolare la mobilità del personale addetto ai controlli, si configurano le postazioni con computer portatili ed con connessioni wireless.( wi-fi)
L’accesso alla rete avviene attraverso degli access point. e queste postazioni locali hanno un ruolo nell’organizzazione logica della rete tipicamente da client.
La postazione di gestione.
Il server della rete sarà in questa postazione e su di esso sarà memorizzato un data base che conterrà tutti i dati sw richiesti dal problema. Tralasciano la descrizione delle procedure che devono essere implementate per il controllo e la sicurezza delle informazioni memorizzate.
Organizzazione dei dati
Dopo un’attenta lettura della traccia appare sensato optare per una soluzione che preveda la presenza di un database sul server e di alcune pagine web che permettano la gestione dei dati anche dai client.
Oltre le tre entità evidenziate dalla traccia (passeggero, merce_trasporata e controllo, risultano necessarie altre due addetto_controllo e punto_controllo.
IPOTESI AGGIUNTIVE:
1. Non risulta ben chiaro dal testo se il “funzionario” è una figura diversa dall’ ”addetto_ controlli”. Per rendere il più generale possibile la trattazione del tema proposto si aggiunge l’ipotesi che le due figure siano diverse e quindi è necessaria anche l’entità funzionario
2. Ognicontrolloeffettuatohacomeoggettounasolapersonaounsolotipodimerci.
Descrizione entità
? passeggero o cf (chiave primaria)
O cognome, o nome, o nazionalita o n_identita o aeroporto_pro o aereoporto _de o motivo_viaggio
? merci o idmerci (Chiave primaria) o categoria o descrizione o quantita
? addetto_controllo o codice (chiave primaria)
O cognome o nome o login o pasword
? punto_controllo o idpunto (chiave primaria) o posizione o descrizione
? funzionario o codice (chiave primaria)
O cognome o nome o login o pasword
? controllo o idcontrollo (chiave primaria) o punto_controllo (chiave esterna) o addetto_controllo (chiave esterna) o merce (chiave esterna) o passeggero(chiave esterna) o data o orai o oraf o esito (0-2) o dazio o note o funzionario(chiave esterna)
Per la soluzione del problema questa entità è la più importante, per questo necessità di alcune osservazioni
1. L’attributoesitoèuncaponumericochepuòassumereivalori a. 0=nessunasegnalazione b. 1=mercerespinta c. 2 = fermo del passeggero
2. Seildaziononèdovutol’attributodaziorestaconilvaloreiniziale0
Schema logico Esempio di creazione in sql
1.
2.
3.
CREATE TABLE controllo
(id _ontrollo
Integer,
Primary key,
Punto_controllo integer references punto_controllo(idpunto),
Addetto_controllo integer references addetto_controllo(codice),
Merce integer references merce(idmerci)
Passeggero char(12) references passeggero(cf),
Date datetime,
Orai time,
Oraf time,
Esito smallint,
Dazio real,
Note char(20),
Funzionario integer references funzionario(codice))
In modo simile si ripetono le creazioni delle altre tabelle.
Select passeggero.*
From passeggero, controllo
Where passeggero.cf= controllo.passeggero and
Controllo.data = getdate();
Select sum(controllo.dazio), punto_controllo
From controllo
Group by punto_controllo;
Select sum(merci.quantita), merci.categoria
From merci, controllo
Where merci.idmerci=controllo.merce and controllo.data >=‘01/01/2013’ and
Controllo.esito=1
Group by merci.categoria;
Selec avg(controllo.oraf-controllo.orai), controllo.punto_controllo
From controllo
Where controllo.data = getdate()
Group by punto_controllo;
Select passeggero.*
From passeggero, controllo
Where controllo.esito=2 and controllo.passeggero= passeggero.cf and controllo.date
>=’01/01/2013’
Group by passeggero.nazionalita
Order by passeggero.cognome, passeggero.nome;
Select addetto_controllo.cognome, addetto_controllo.nome
From controllo, addetto_controllo
Where controllo.addetto_controllo = addetto_controllo.codice and
Controllo.data=getdate()
Order by controllo.funzionario;
Codifica
La traccia lascia libero lo studente di scegliere il segmento del progetto da realizzare in un
Linguaggio a scelta
Gran parte del lavoro di gestione dell’accesso al DB è affidata a mysql ed alla potenzialità del
PHP, o dei vari ambienti di sviluppo per applicazioni web. Senza scendere nel dettaglio del loro
Specifico utilizzo, mi limito a indicare le funzioni principali necessarie per la codifica di una
Qualsiasi sezione
Connessione localhost $db =
Interrogare il data base
Con queste istruzioni si può realizzare una qualsiasi sezione del nostro progetto utilizzando le istruzioni (My)SQL riportate precedentemente.
(Prof.ssa Simonetta Cristini , docente informatica industriale, ITI ALESSANDRINI –
MONTESILVANO (PE)