1
Istituto Tecnico Industriale DON ORIONE Fano
a. s. 2014-2015
ESAME DI STATO
Classe 5
Candidato
Paride Cirillo
Argomento scelto dal candidato
Non vedo l’ora
2
Istituto Tecnico Industriale DON ORIONE Fano
a. s. 2014-2015
ESAME DI STATO
ABSTRACT
L’evoluzione tecnologica e la realizzazione di strumenti informatici sempre più
performanti e connessi tra loro ha modificato il modo di vivere la scuola ed i servizi da
essa
offerti.
Su queste basi è stato sviluppato un tool informatico utile a studenti e docenti per
determinare
gli
orari
dei
singoli
docenti
e
delle
differenti
classi.
3
Istituto Tecnico Industriale DON ORIONE Fano
a. s. 2014-2015
ESAME DI STATO
ABSTRACT (ENGLISH VERSION)
The Evolution of Technology and the Development of IT tools always more
performing and related between them, they have modified the way to live school and
the services offers .
On this basics, it was developed a computer tool useful for students and teachers to
determine the hours of individual teachers and different classes .
4
Istituto Tecnico Industriale DON ORIONE Fano
a. s. 2014-2015
ESAME DI STATO
INDICE
1. INTRODUZIONE
PAG. 5
1.1. L’ORARIO SCOLASTICO: IL DIARIO
PAG. 6
1.2. DATABASE PER LA GESTIONE DEI DATI
PAG. 10
2. SVILUPPO SOFTWARE
PAG. 16
2.1. PROGETTAZIONE LOGICA E CONCETTUALE DEL DATABASE (SQL) PAG. 16
2.2. CREAZIONE DELL’INTERFACCIA GRAFICA ( PHP-HTML)
PAG. 21
3.2.1 PHP
PAG. 21
3.2.2 HTML
PAG. 26
2.3. QUERYPERL’ESTRAZIONE DEI DATI
PAG. 21
2.4. PUBBLICAZIONE DELL’APPLICATIVO (FILEZILLA)
PAG. 34
3. CONCLUSIONE
PAG. 37
3.1. PROGETTAZIONE
PAG. 37
3.2. SVILUPPI FUTURI
PAG.38
5
Istituto Tecnico Industriale DON ORIONE Fano
a. s. 2014-2015
ESAME DI STATO
CAPITOLO 1
INTRODUZIONE
Oggi sono poco utilizzati i diari cartacei di una volta, qualcuno usa ancora il diario
scolastico per scriverci solo i compiti assegnati a scuola.
Il diario è stato costretto a fare spazio ai computer, telefonini e via dicendo. La
tecnologia avanza, internet è stata una scoperta e ha soppiantato in fretta carta e penna.
I ragazzi comunicano molto più di prima, ma lo fanno con i social-network e con i
messaggi sui telefonini, forse anche per questo sentono meno l’esigenza di tenere un
diario personale.
C’è da dire che un diario cartaceo può essere portato ovunque, non ha bisogno della
corrente elettrica per funzionare e può essere personalizzato con disegni, collage,
biglietti e molto altro ancora. Il formato elettronico, invece, è ideale per scrivere
velocemente ma può esaurire la sua autonomia.
Per quanto concerne la privacy, entrambi possono essere trovati da qualcun altro se
non si prendono le misure adeguate. Tuttavia, sono sempre di meno le persone che
scrivono su carta probabilmente è più facile nascondere un file elettronico che
piuttosto un diario cartaceo.
6
Istituto Tecnico Industriale DON ORIONE Fano
a. s. 2014-2015
ESAME DI STATO
1.1 IL DIARIO
Figura 1
Un diario è una forma narrativa in cui si annotano pensieri, riflessioni, sogni, speranze,
segreti e paure.
Può essere un racconto reale o di fantasia, ed è sviluppato cronologicamente, con
intervalli di tempo regolari, solitamente a giorni. Come diario può essere usato un
quaderno, un blocco note, un computer, o si può comprare un vero e proprio diario con
tanto di lucchetto. Si può portare il diario sempre con se, in modo da poter scrivere in
qualunque momento, oppure scegliere un preciso momento della giornata per poter
svuotare la mente.
Non tutti tengono un diario, e non sempre lo si tiene in tutti i periodi della vita. Però ci
sono dei momenti in cui si ha voglia di mettere per iscritto i propri pensieri, a volte i
più intimi, anche se non si è particolarmente dotati per la scrittura.
Si può scrivere un diario per descrivere la propria vita o solo un periodo di essa, ma
può essere anche la raccolta di annotazioni giornaliere in cui vengono descritti fatti di
maggior importanza, o avvenimenti politici, sociali, economici, anche osservazioni di
carattere scientifico o altro.
Chi scrive un diario di solito lo fa per ricordare ciò che gli sta accadendo in quel
periodo.
Una persona scrive il diario per se stessa, per raccontare momenti felici e momenti
tristi della propria vita, impressioni e sensazioni personali. Il diario non si scrive per
gli altri, ovvero lo scopo principale dello scrivere un diario non è la divulgazione, ma
7
Istituto Tecnico Industriale DON ORIONE Fano
a. s. 2014-2015
ESAME DI STATO
nasce dall’esigenza di esprimere liberamente i propri pensieri in una forma
strettamente privata e ci da la possibilità di rileggere e di rivivere determinati
avvenimenti.
Il diario è uno strumento ottimo per tenere traccia degli eventi passati e riflettere sul
futuro. Puoi fare delle previsioni e accorgerti se si avverano; puoi capire come sei
cambiato nel corso del tempo, rileggere le pagine più vecchie e lasciarti andare ai
ricordi, magari ridendoci sopra.
Solitamente ogni pagina del diario viene datata, si scrive come se il diario stesso fosse
il destinatario, oppure come se si parlasse a un amico immaginario. Il linguaggio è di
solito semplice.
Scrivere sempre in modo sincero. Il diario ascolta sempre, non dimentica mai, non
giudica e non rivela a nessuno i segreti che contiene. Perciò non c’è motivo di mentire,
si possono scrivere anche le verità più terribili.
Esistono varie tipologie di diari: diario di viaggio, diario di bordo, diario intimo, diario
per appunti, scolastico, oltre che il libro di ricordanze.
Diffusi già nel Medioevo, i libri di ricordanze erano una serie di memorie
("ricordanze" appunto) registrate per sé o per i familiari o per i posteri immediati,
scritti generalmente con brani che iniziano ciascuno con "Ricordo che...". Frequenti
soprattutto in aree dove l'alfabetizzazione era molto diffusa (come a Firenze), erano a
metà strada tra la cronaca e l'autobiografia. Spesso questi libri sono dei preziosi
documenti sulla vita e i costumi del tempo.
 Diario di viaggio:
nell'Ottocento si trovano esempi frequenti di diari di viaggio, come quello di
Alexis de Tocqueville, che nel suo Viaggio in America 1831-1832 coglie una
serie di dati interessanti della realtà americana, mescolando vari punti di vista:
quello storico, quello geografico, quello paesaggistico, quello politico.
Tra i diari di viaggio ci sono quelli di Stendhal, Émile Zola, Stevenson, il
Viaggio in Italia di Goethe e, il Voyage en Orient di Gérard de Nerval.
 Diario di bordo:
8
Istituto Tecnico Industriale DON ORIONE Fano
a. s. 2014-2015
ESAME DI STATO
il diario di bordo ha da sempre aiutato esploratori di ogni specie ad appuntare le
varie fasi delle proprie imprese. Si riferisce nel particolare a viaggi effettuati su
imbarcazioni e che riportano quanto accade a bordo della stessa.
Tra i più famosi diari di bordo, quelli della prima navigazione verso l'America
di Cristoforo Colombo (dal 3 agosto 1492 al 15 marzo 1493).
 Diario di guerra:
esso è stato tenuto sia da ufficiali nella propria funzione sia da soldati. Anche il
diario di Resistenza e di prigionia dovuta a guerra possono rientrare in questa
categoria.
 Diario intimo:
il diario intimo è una sorta d'amico immaginario. Al diario non si nasconde
nulla e si possono avere più modi per scrivere questo diario. Si può raccontare
della giornata, oppure dei sentimenti che si ha e che si ha paura di dire agli altri.
Il diario è comunque un racconto personale, che, può essere scritto in modo
fantasioso, oppure si scrive la realtà.
Dall'Ottocento in poi, il diario prende sempre di più la forma del cosiddetto
journal intime che mostra spesso emozioni, sensazioni e sentimenti allo stato
nascente o latente, non ancora ben compresi dalla persona, come nel caso del
celebre Diario di Anna Frank, dove la narratrice, immaginando di scrivere
lettere a un'amica inesistente, ovvero un alter ego, racconta gli avvenimenti del
giorno per esteso, scegliendo la forma della lettera.
Nel diario intimo, chi scrive si misura con il suo mondo interiore in una forma
di scrittura che assomiglia di più a una presa di coscienza.
 Diario per appunti:
si tratta di un diario che non racconta mai episodi interi, ma fa riferimento a fatti
e persone descritti in forma sintetica e lapidaria,
 Diario scolastico:
9
Istituto Tecnico Industriale DON ORIONE Fano
a. s. 2014-2015
ESAME DI STATO
ancora in uso tra gli studenti delle scuole elementari e medie per segnare i
compiti da fare a casa, o anche come strumento di comunicazione tra scuola e
famiglia, meno tra i ragazzi più grandi che utilizzano i mezzi tecnologici.
Alcuni diari sono stati pubblicati e sono divenuti opere letterarie vere e proprie in
quanto legati a esperienze emblematiche, a viaggi o intrecciati ad eventi storici o a
trasformazioni sociali. Gli esempi sono diversi:
Il diario di Anna Frank (1947).
Il diario di Etty Hillesum (pubblicato solo nel 1981).
La tregua di Primo Levi (1963).
Noi, i ragazzi dello zoo di Berlino, (1981).
Il diario fittizio di Eva, la prima donna, scritto da Mark Twain (Eve's Diary, 1905).
Il giornalino di Gian Burrasca di Vamba (1911).
La coscienza di Zeno (1923) di Italo Svevo.
10
Istituto Tecnico Industriale DON ORIONE Fano
a. s. 2014-2015
ESAME DI STATO
1.2 DATABASE PER LA GESTIONE DEI DATI
Figura 2
Quando nei campi lavorativi e nelle aziende si è presentato il problema della gestione
e della manutenzione degli archivi, sempre più grandi e sempre meno spazio a
disposizione per la loro sistemazione, ecco che lo sviluppo dell’informatica ha avuto
una grande importanza e così proprio l’informatica ha contribuito tanto nel mondo
degli
archivi
e
dei
Database.
I Database non vanno confusi con le Banche Dati: queste ultime sono informazioni che
riguardano un determinato soggetto e che si appoggiano molte volte su basi di dati.
Per meglio capire possiamo porre come esempio: la rubrica telefonica.
Un utente che ha numerosi contatti con altri soggetti situati in zone diverse e lontane
dalla sua città non può certamente ricorrere alle guide ogni volta e non può ricordare
tutti i numeri di telefono a memoria; a risolvere questo problema può essere utilizzato
un
prodotto
per
Database.
I database sono dei grossi raccoglitori dove possiamo inserire i dati organizzati in
tabelle. La loro consultazione è effettuata tramite le query, cioè collegamenti che
riescono direttamente ad inserire, cancellare o semplicemente accedere al database.
In informatica, il termine database, in italiano, base di dati, indica un insieme
organizzato di dati, cioè archivi di dati, ben organizzati e ben gestiti sulle memorie di
massa dei computer attraverso appositi software. Negli archivi deve essere garantita la
resistenza e la protezione, cioè i dati in essi contenuti devono essere significativi ed
essere utilizzabili nelle applicazioni dell’azienda; inoltre i dati devono essere protetti
per impedire perdite accidentali, la produzione deve anche riguardare gli interventi sui
11
Istituto Tecnico Industriale DON ORIONE Fano
a. s. 2014-2015
ESAME DI STATO
dati dovuti ad accessi non autorizzati con operazioni di lettura, modifica o
cancellazione. La sicurezza è utile per impedire che il database venga danneggiato da
interventi
accidentali
o
non
autorizzati.
Nello sviluppo della teoria dei database, ci sono tre tipi diversi di modelli per le basi di
dati cronologicamente:
 gerarchico, sviluppato negli anni sessanta, ed ha una struttura ad albero nella
quale i nodi rappresentano le entità e gli archi le associazioni;
 reticolare, sviluppato negli anni sessanta, ed ha una struttura a grafo nella quale
i nodi rappresentano i nodi e gli archi rappresentano le associazioni;
 relazionale, sviluppato tra gli anni settanta e ottanta e rappresentano il database
come un insieme di tabelle;
 ad oggetti, sviluppato negli anni ottanta ed è basato sulla programmazione a
oggetti.
Attualmente il più usato è quello relazionale, perché è il modello più semplice ed
efficace. Esso si basa sul linguaggio matematico e i concetti matematici, in questo
modo l’obiettivo più importante
è quello di utilizzare un linguaggio conosciuto a
livello
è
universale,
quale
proprio
il
linguaggio
matematico.
Con il database i dati sono a disposizione degli utenti per una consultazione, un
inserimento o un aggiornamento, tutto sempre con il permesso di accesso di questi
ultimi. Questo è sempre più utile considerato che i dati informatici sono sempre più
numerosi.
Abbiamo sia il database locale, cioè utilizzabile su un terminale da un solo utente, sia
il database ripartito, cioè quando le informazioni sono immagazzinate su terminali
remoti
e
accessibili
attraverso
la
rete.
Il vantaggio più grande dell'utilizzo di un database è la possibilità di poter essere
consultato
da
più
utenti
contemporaneamente.
Inoltre un Database è una raccolta di dati organizzati in tabelle e memorizzati
permanentemente su un apposito supporto di memorizzazione. Ogni tabella è
suddivisa in record, a loro volta suddivisi in campi, contenenti informazioni relative ad
un
soggetto.
I record sono in pratica le righe di una tabella, dette anche “tuple”, ed ogni record è
12
Istituto Tecnico Industriale DON ORIONE Fano
a. s. 2014-2015
ESAME DI STATO
composto da più campi; ogni campo contiene un’informazione, detta “attributo”. Ogni
attributo ha tre caratteristiche, che sono: formato, ovvero il tipo di valori che assume
(carattere, numerico, data/ora); dimensione, ovvero la quantità massima di caratteri o
cifre inseribili; infine, la scelta, che indica se l’inserimento di un valore è obbligatorio
o meno. Infine, abbiamo altri due parametri importanti: “entità” e “associazione”. Il
primo è un soggetto reale che si vuole rappresentare da un punto di vista concettuale,
avente un significato anche quando viene considerato in modo isolato, ed ogni
elemento appartenente all’entità è detto “istanza”; il secondo è un legame che
stabilisce
un’interazione
tra
le
entità.
In pratica:
 ogni riga è riconducibile ad un record: nel caso di specie si tratta dei numeri
assegnati a ciascun nominativo
 ogni colonna è identificabile come un campo: che nell'esempio sono nome,
cognome, indirizzo prefisso e numero telefonico.
Riassumendo un database si può schematizzare così:
RECORD
CAMPO 1
CAMPO 2
CAMPO 3
CAMPO 4
CAMPO 5
NUMERO
NOME
COGNOME
INDIRIZZO
PREFISSO
N.TELEF.
1
Mario
Rossi
Via Gatti, 20
0342
218970
2
Anna
Valli
Via Roma, 1
0345
659801
Tutte
le
basi
di
dati
si
distinguono
in
chiuse
e
aperte.
Le chiuse sono quelle che hanno una struttura fissa e assolutamente immutabili per
questo
non
è
possibile
aggiungere
nuovi
record
e
nuovi
campi.
Quelle aperte invece come sono quelle che hanno una struttura che non presenta
alcuna rigidità e perciò è consentito aggiungere record e campi: mentre per i primi
l'operazione non comporta difficoltà per i secondi la modifica comporta la totale
riconfigurazione
del
sistema.
Con il termine "database" si può indicare contemporaneamente sia l'archivio a livello
fisico che l’archivio a livello logico. Il primo (hardware) è il sistema con i supporti di
memorizzazione dei dati (es. hard disk). Il secondo è quello relativo alle modalità di
13
Istituto Tecnico Industriale DON ORIONE Fano
a. s. 2014-2015
ESAME DI STATO
gestione dei dati, cioè il database management system (DBMS) ovvero quella vasta
categoria di applicazioni che consentono la creazione, manipolazione (gestione) ed
interrogazione
efficiente
dei
dati.
I DBMS svolgono un ruolo fondamentale in numerose applicazioni informatiche, dalla
contabilità, la gestione delle risorse umane e la finanza fino a contesti tecnici come la
gestione
di
rete
o
la
telefonia.
I primi DBMS furono introdotti alla fine degli anni sessanta dello scorso secolo, e da
allora
man
mano
si
sono
diffusi.
Il sistema di gestione delle basi di dati (DBMS), che è un sistema software in grado di
gestire grandi collezioni di dati integrate, condivise e persistenti garantendo la loro
affidabilità e privatezza. Quindi quando si cita il DBMS si fa riferimento ad un
insieme di programmi che consente il trattamento di un archivio, uno strumento attivo
per
l'aggiornamento
la
manutenzione
e
la
consultazione.
Il suo campo di azione lo mette in comunicazione con l'utente da un lato e con il
sistema operativo e l'elaboratore dall'altro. Nel primo caso si serve di appositi
linguaggi per Database con i quali un soggetto agisce in modo diretto nel secondo
invece utilizza i File System cioè gruppi di programmi per la gestione dei file di dati
che
però
non
interagiscono
con
l'utente.
Ogni utente può impartire operazioni utilizzando comandi appartenenti a linguaggi
diversi; questi ultimi possono essere di interrogazione come SQL, specifici per le basi
di dati ad esempio DBASE oppure quelli più tradizionali come COBOL e PASCAL.
La fase procedurale non è complessa; i singoli costrutti vengono acquisiti e posti in
collegamento con le tabelle da elaborare tramite un Language Processor da questo poi
passano al Database Manager il quale traduce i comandi espressi in modo concettuale
a comandi espressi a livello fisico.
Gli elementi che entrano in gioco in questo processo sono:
 l'Hardware ovvero la componente che deve svolgere fisicamente le operazioni;
 il Sistema Operativo che si occupa di controllare l'elaborazione e
l'organizzazione dei dati a livello fisco;
 la base di dati cioè le tabelle contenenti i dati che devono di fatto essere trattati;
14
Istituto Tecnico Industriale DON ORIONE Fano
a. s. 2014-2015
ESAME DI STATO
 l'utente iniziale, colui che si preoccupa di programmare e creare cosi delle
procedure di gestione della base dati;
 l'utente finale ovvero colui che utilizzerà i programmi prodotti dal precedente
allo scopo di ottenere in maniera semplice e anche veloce i risultati che si
aspetta.
Quest'ultima componente si trova facilitata nelle sue operazioni grazie anche ai
linguaggi di interrogazione; l'utente deve semplicemente impostare un comando
adeguato e non redigere un intero programma per ogni applicazione. Il gruppo che
rientra nell'utenza finale può essere vastissimo e popolato anche da soggetti poco
esperti.
I principali sistemi di gestione di database sono i seguenti (DBMS) :
 Borland Paradox
 Filemaker
 IBM DB2
 Ingres
 Interbase
 Microsoft SQL server
 Microsoft Access
 Microsoft FoxPro
 Oracle
 Sybase
 MySQL
 PostgreSQL
 mSQL
 SQL Server 11
La diffusione dei database, e dei relativi sistemi DBMS di gestione, nei sistemi
informativi moderni è enorme e capillare essendo un componente base di un sistema
informativo attraverso il rispettivo sistema informatico: si pensi a tutte le attività
commerciali
di
gestione
di
magazzino,
gestione
clienti,
a
sistemi
di
15
Istituto Tecnico Industriale DON ORIONE Fano
a. s. 2014-2015
ESAME DI STATO
immagazzinamento di dati personali o pubblici nella pubblica amministrazione e nelle
imprese private (es. banche e aziende), contabilità ecc.
Infatti Per la realizzazione del progetto si è utilizzato un server esterno dove all’interno
si è voluto creare 7 tabelle(professori, materiaprofessori, materia, giorni, ore, classe,
anno), le quali venivano collegate alla tabella principale (orario) con tutti i loro
attribuiti.
Figura 3
16
Istituto Tecnico Industriale DON ORIONE Fano
a. s. 2014-2015
ESAME DI STATO
CAPITOLO 2
SVILUPPO SOFTWARE
2.1
PROGETTAZIONE
LOGICA
E
CONCETTUALE
DATABASE(SQL)
Figura 4
Il linguaggio SQL (Structured Query Language) che deriva dal linguaggio SEQUEL
(Structured English Query Language), è un linguaggio standardizzato per database
basati sul modello relazionale (RDBMS) progettato per: leggere, ricercare, inserire,
modificare e cancellare dati e operare con funzioni gestionali e amministrative su
database.
Quando si utilizza un database sul proprio server non si può non conoscere il
linguaggio SQL per la creazione dei database relazionali.
Donald Chamberlin (ingegnere), fu colui che progettò l’SQL, nel 1974 nei laboratori
dell'IBM, in California. Inizialmente nacque col nome di SEQUEL ed era lo strumento
per
lavorare
con
database
che
seguivano
il
modello
relazionale.
17
Istituto Tecnico Industriale DON ORIONE Fano
a. s. 2014-2015
ESAME DI STATO
Nelle intenzioni del progettista, esso doveva essere un linguaggio più semplice e
compatto dell’algebra relazionale per formulare query su database relazionali.
Nel 1975 venne poi sviluppato un prototipo che fu chiamato SEQUEL-XRM; con
questo prototipo si eseguirono sperimentazioni che portarono, nel 1977, a una nuova
versione
del
linguaggio,
l’attuale
SQL.
Ancora su di esso fu sviluppato un altro prototipo il System R, che IBM utilizzò per
usi interni e per alcuni suoi clienti. Ma, dato il suo successo, anche altre società
iniziarono subito a sviluppare prodotti basati su SQL. Nel 1981 IBM iniziò a vendere
alcuni prodotti relazionali e nel 1983 rilasciò DB2, il suo DBMS relazionale diffuso
ancor oggi.
Nel 1986 l'ANSI (istituto americano), lo adottò come standard, nella stessa versione in
cui l’aveva sviluppata l’IBM, senza apportare alcuna modifica.
Nel 1987 la ISO (organizzazione per le norme tecniche), fece la medesima cosa. La
prima versione standard fu denominata SQL/86. Successivamente negli anni furono
eseguite
altre versioni, quali SQL/89, SQL/92 e SQL/2003. Tale processo di
standardizzazione mirava alla creazione di un linguaggio che funzionasse su tutti i
DBMS (Data Base Management Systems) relazionali, ma questo obiettivo non fu del
tutto
raggiunto.
Attualmente SQL è lo strumento più diffuso per interrogare e gestire basi di dati
mediante l'utilizzo di costrutti di programmazione denominati query.
In origine fu pensato come linguaggio di tipo dichiarativo, si è poi evoluto con
l'introduzione di costrutti procedurali, istruzioni per il controllo di flusso, tipi di dati
definiti dall'utente e varie altre estensioni del linguaggio. A partire dalla definizione
dello standard SQL:1999 molte di queste estensioni sono state formalmente adottate
come
parte
integrante
di
SQL
nella
sezione
SQL/PSM
dello
standard.
Si classificano i comandi SQL in due gruppi:
 DDL (Data Definition Language – in italiano=linguaggio di definizione dei
dati) serve a creare, modificare o eliminare gli oggetti in un database. Sono i
comandi DDL a definire la struttura del database e quindi dei dati che contiene,
ma non fornisce gli strumenti per modificare i dati stessi per il quale si usa il
18
Istituto Tecnico Industriale DON ORIONE Fano
a. s. 2014-2015
ESAME DI STATO
DML (Data Manipulation Language). L'utente deve avere i permessi necessari
per agire sulla struttura del database e questi permessi vengono assegnati
tramite il DCL (Data Control Language);
 DML (Data Manipulation Language –in italiano= linguaggio di manipolazione
dei dati) fornisce i comandi per inserire, modificare ed eliminare i dati
all'interno delle tabelle di un database. La struttura di questi dati deve già essere
stata definita tramite il DDL. Inoltre, il permesso di accedere a tali dati deve
essere precedentemente assegnato all'utente tramite il DCL.
Il linguaggio SQL può essere usato sia come linguaggio autonomo, che essere ospitato
in altri linguaggi di programmazione, in modo che si possono sviluppare applicazioni
più
complesse.
L’operazione fondamentale del linguaggio SQL è il mapping rappresentato dalla
sequenza:
SELECT-FROM-WHERE:
SELECT <LISTA_CAMPI>
FROM <LISTA_TABELLE>
[WHERE <CONDIZIONE>].
Il comando ha la funzione di inserire i dati nelle tabelle. Esso realizza
un’interrogazione (o query), della base di dati e restituisce il risultato sotto forma di
tabella virtuale che ha come colonne i campi specificati dopo la parola chiave
SELECT.
INSERT INTO nomeTabella (nomeCampo1,
nomeCampo2) VALUES (valore1, valore2);
Il comando insert inserisce in tabella una sola riga per volta. Ma è possibile inserire
anche più di una riga per volta "in modo automatico" passando all'insert una serie di
19
Istituto Tecnico Industriale DON ORIONE Fano
a. s. 2014-2015
ESAME DI STATO
righe (o tuple) risultanti da un comando di select, però tali righe devono essere
compatibili con le colonne della tabella su cui si inseriscono i dati.
UPDATE nomeTabella SET nomeCampo1=valore1,
SET nomeCampo2=valore2 WHERE (condizione);
Il comando update ha la triplice funzione di modificare i dati delle tabelle.
Il nome di ogni campo che deve essere modificato va dichiarato dopo la parola chiave
SET e deve essere seguito dal simbolo " = " (uguale) e dal nuovo valore che deve
assumere.
È possibile modificare più campi della stessa riga in un unico comando update,
separandoli
l'uno
dall'altro
con
il
simbolo
",
"
(virgola).
Il comando generico aggiorna tutte le righe della tabella. È possibile restringerne il
numero applicando la parola chiave aggiuntiva WHERE, che permette di effettuare
una selezione qualitativa delle righe imponendo delle condizioni sui dati presenti nelle
righe prima dell'aggiornamento.
DELETE FROM nomeTabella WHERE (condizione);
Il
comando
delete
ha
la
funzione
di
cancellare
i
dati
dalle
tabelle.
Come il comando update anche delete può operare in modo generico cancellando tutte
le righe della tabella oppure può identificare le righe da cancellare mediante la parola
chiave
aggiuntiva
WHERE
e
la
condizione
ad
essa
associata.
Una Delete priva di clausola Where cancella tutte le righe dalla tabella specificata.
Tuttavia, esiste un altro modo per svuotare completamente una tabella: il comando
Truncate Table. Alcuni DBMS implementano questo comando (che non è presente
nello standard SQL) in modo più veloce rispetto a una Delete, ad esempio cancellando
il file dei dati senza leggerlo e ricreandolo vuoto. Generalmente però questo impedisce
che vengano restituite alcune informazioni accessorie, come il numero di righe
cancellate.
20
Istituto Tecnico Industriale DON ORIONE Fano
a. s. 2014-2015
ESAME DI STATO
Una transazione è un insieme di istruzioni che sono strettamente correlate tra loro.
Quando per qualsiasi motivo si verifica (un errore interno al DBMS, un errore nelle
istruzioni SQL, un errore di sistema) una delle istruzioni non arrivi a compimento,
verrà annullata tutta la transazione. Si ha allora una transazione non divisibile: cioè se
non viene eseguita interamente, non verrà eseguita affatto. In questo si garantisce
l'integrità
dei
dati.
Fino a quando una transazione non ha esito positivo, le modifiche che apporta sono
visibili solo per la sessione che ha avviato la transazione. Gli altri utenti potranno
accedere solo a una versione più vecchia dei dati, oppure essere messi in attesa fino al
termine
della
transazione.
Non tutti i DBMS supportano le transazioni, mentre altri le supportano solo in
determinate condizioni (ad esempio in MySQL sono supportate solo per alcuni tipi di
tabelle). Inoltre il DBMS può limitare le transazioni ad un sottoinsieme dell'SQL (ad
esempio, in MySQL, se si lancia un comando DDL la transazione corrente termina).
All’interno di una transazione è possibile stabilire dei savepoint, cioè degli stati
intermedi ai quali è possibile ritornare con una ROLLBACK, invece di annullare
interamente
la
transazione.
Quando si inizia una transazione si utilizza il comando START TRANSACTION. Per
confermare la transazione si utilizza il comando COMMIT. Con esso tutte le
modifiche
effettuate
sui
dati
in
precedenza
vengono
memorizzate.
Per annullare la transazione si utilizza il comando ROLLBACK. Con esso tutte le
modifiche effettuate sui dati in precedenza (a partire dall'inizio della transazione)
vengono cancellate.
21
Istituto Tecnico Industriale DON ORIONE Fano
a. s. 2014-2015
ESAME DI STATO
2.2 CREAZIONE DELL’INTERFACCIA (PHP-HTML)
2.2.1 PHP
Figura 5
Quando si esegue un’operazione
sul Web si coinvolge un client ed un server.
Un client è un dispositivo (ad esempio un browser) che effettua una richiesta ad un
server
remoto.
Il server remoto attraverso un linguaggio di scripting (come per esempio PHP)
interpreta richiesta del client la elabora ed invia una risposta al client. A questo punto
il client è in grado di interpretare, a sua volta, la risposta ricevuta e fornirla all’utente.
Quindi il “PHP” è un linguaggio per lo scripting server-side, ovvero un linguaggio che
risiede in un server. PHP (acronimo di : Hypertext Preprocessor, preprocessore di
ipertesti; originariamente acronimo di "Personal Home Page") è un linguaggio di
programmazione interpretato, originariamente concepito per la programmazione di
pagine
web
dinamiche.
Oggi viene principalmente usato per sviluppare applicazioni web lato server, ma esso
può essere utilizzato anche per scrivere script a riga di comando o applicazioni standalone con interfaccia grafica.
PHP è un prodotto open source e gratuito, comprensibile dalla maggior parte delle
macchine host. Proprio per questi motivi assume sempre più una larga diffusione e va
a
sostituire
il
classico
HTML.
Questo linguaggio nacque nel 1994 ad opera del danese Rasmus Lerdorf, PHP era in
22
Istituto Tecnico Industriale DON ORIONE Fano
a. s. 2014-2015
ESAME DI STATO
origine una raccolta di script CGI che permettevano una facile gestione delle pagine
personali.
Il pacchetto originario fu poi ampliato e
riscritto dallo stesso Lerdorf in C,
aggiungendo funzionalità quali il supporto al database mSQL.
In questo modo il linguaggio cominciò ad avere una certa popolarità tra i progetti
open source del web, e venne così notato da due giovani programmatori: Zeev Suraski
e Andi Gutmans. I due collaborarono nel 1998 con Lerdorf allo sviluppo della terza
versione di PHP riscrivendone il motore che fu battezzato Zend da una contrazione dei
loro nomi. Le caratteristiche chiave della versione PHP 3.0, frutto del loro lavoro,
erano l’estensibilità, la connettività ai database e il supporto iniziale per il paradigma a
oggetti.
PHP quindi iniziò ad essere usato in modo ampio. La versione 4 di PHP venne
rilasciata nel 2000 e prevedeva notevoli migliorie. Attualmente siamo alla quinta
versione, sviluppata da un team di programmatori, che comprende ancora Lerdorf,
oltre a Suraski e Gutmans.
La popolarità del linguaggio PHP è in costante crescita.
Di
solito
nel
Configurazione
file
stesso
si
documentano
di
3
PHP
tipi
di
di
configurazioni:
default;
configurazione in un ambiente di sviluppo (per esempio con la possibilità di vedere a
video gli errori); configurazione in un ambiente di produzione (dove per esempio si
deve aprire un file di log per vedere gli errori e non sono mostrati a video).
In PHP una stringa si rappresenta in due modi: racchiudendola tra apici doppi (") o
singoli
(').
Se si usano gli apici doppi vengono interpretati eventuali caratteri speciali (per
esempio la tabulazione, "col1\tcol2" o il carattere di fine riga, "riga1\nriga2") e viene
eseguita
l'interpolazione
del
contenuto
delle
variabili,
PHP gestisce gli array come delle mappe associative come un elenco di chiavi e
associando ad ognuna un certo valore. Gli array in PHP possono perciò essere usati sia
come un comune array ma anche come una lista (vettore), una stack, una coda, e molto
altro. Ogni elemento dell'array può a sua volta contenere altri array (anche
23
Istituto Tecnico Industriale DON ORIONE Fano
a. s. 2014-2015
ESAME DI STATO
multidimensionali) e tutti gli elementi dell'array o dei sotto-array possono essere fra
loro dei tipi di variabile più diversa, facendo si che si ha la possibilità di creare
strutture dati complesse.
Questo fa degli array una vera particolarità del PHP.
La dinamicità degli array sta anche nel fatto che i singoli elementi possono essere
rimossi tramite unset ().
Gli array in PHP (essendo associativi) possono essere attraversati tramite un costrutto
speciale chiamato foreach che rende praticabile l'attraversamento ricavando tutte le
singole associazioni di chiavi=>valore di un array.
Codice d'esempio di un array associativo in cui ad ogni nome di città corrisponde il
numero di abitanti. Si mostrerà a video ogni città con il rispettivo numero di abitanti e
in
seguito
si
mostrerà
la
somma
di
tutti
gli
abitanti.
Molti siti famosi sono scritti in PHP: Wikipedia, Facebook, Flickr, Drupal, ecc., ed è
un linguaggio utilizzato per molti sistemi.
Per realizzare il php nel progetto si è dovuto creare una pagina dinamica dove
all’interno si è scritto il seguente codice per il collegamento con il database:
<html>
<head>
<head>
<body>
Selezionare il professore: <br>
<form method="GET" action="TestProfessori.php">
<select name = "cognome" >
<?php
$cognome = $_GET["cognome"];
$connection = mysql_connect("localhost","root","");
mysql_select_db("orario_scolastico",$connection);
$query = "SELECT cognome from professori order by cognome asc;";
$result = mysql_query($query,$connection);
while($row = mysql_fetch_array($result))
{
echo
"<option
value=".$row[cognome].">".$row[cognome]."</option>"."<br>";
}
mysql_close($connection);
?>
<br>
<input type="submit" value="CERCA"><br>
<br>
24
Istituto Tecnico Industriale DON ORIONE Fano
a. s. 2014-2015
ESAME DI STATO
</form>
</body>
</html>
Ed è stato fatto sia per la ricerca dei professori sia per la ricerca delle classi.
Inserendo poi in un pagina php, con il seguente codice, possiamo benissimo riuscire a
trovare l’orario di qualsiasi professore presente nella scuola.
<head>
</head>
<body>
<?php
include("selectPersona.php");
include("QueryOrarioProfessori.php");
$cognome = $_GET["cognome"];
$connection = mysql_connect("localhost","root","");
mysql_select_db("orario_scolastico",$connection);
if($cognome!="Tutti")
{
$query = "SELECT id_professori from professori where
cognome='".$cognome."'";
$result = mysql_query($query,$connection);
$row = mysql_fetch_array($result);
echo " <BODY BGCOLOR=\"#CCFFCC\">";
echo "Orario " . $cognome;
if($row["id_professori"]=="")
{}
else
creatabellaprofessori($row["id_professori"]);
}
else
{
$query = "SELECT id_professori, cognome from professori
where cognome<>'".$cognome."'";
$result = mysql_query($query,$connection);
echo " <BODY BGCOLOR=\"#CCFFCC\">";
while($row = mysql_fetch_array($result))
{
if($row["id_professori"]=="")
{
}
else
echo "Orario " . $row["cognome"];
creatabellaprofessori($row["id_professori"]);
}
}
mysql_close($connection);
?>
<br />
<br />
<a href="http://localhost/cometipare/Tesina/OrarioTest.php">
Torna
alla
pagina
</a>
iniziale.
25
Istituto Tecnico Industriale DON ORIONE Fano
a. s. 2014-2015
ESAME DI STATO
</body>
</html>
Infine dopo aver realizzato questo codice dei professori, si farà lo stesso per le classe
cambiando semplicemente i valori. Così poi il risultato dei professori e delle classi che
vengono richiamate attraverso un codice, daranno una pagina simile a questa:
<head>
</head>
<html>
<head>
<title> Orario Scolastico! </title>
<head>
<body>
<?php
include("selectPersona.php");
include("selectClasse.php");
echo " <BODY BGCOLOR=\"#CCFFCC\">";
?>
</body>
</html>
<body>
</body>
</html>
26
Istituto Tecnico Industriale DON ORIONE Fano
a. s. 2014-2015
ESAME DI STATO
2.2.2 HTML
Figura 6
L'HTML è l’acronimo di Hyper Text Markup Language, che tradotto letteralmente
suona come: linguaggio a marcatori per ipertesti, e in informatica è il linguaggio di
markup che viene usato per la formattazione e impaginazione di documenti ipertestuali
disponibili
nel
World
Wide
Web
sotto
forma
di
pagine
web.
Bisogna dire che l'ipertesto è un sistema non lineare di strutturare le informazioni.
Mentre un romanzo si legge dalla prima pagina all'ultima secondo un ordine
rigidamente sequenziale, l'ipertesto consente di saltare da un documento ad un altro
senza che sia necessario seguire un percorso predefinito.
Verso la fine degli anni ottanta del XX secolo il fisico Tim Berners-Lee sviluppò
l’HTML presso il CERN di Ginevra, (l' Organizzazione europea per la ricerca sul
nucleare). Con questo sistema che egli escogitò permise agli scienziati di condividere
documenti su internet. L'invenzione dell' HTML consentì l'uso di un modello in base
al quale i contenuti memorizzati in un server centrale potessero essere trasferiti e
visualizzati in una postazione di lavoro locale per mezzo di un browser.
Nel giugno 1993 Barners-Lee ne pubblica una prima definizione formale.
Verso il 1994 ed anche nel corso degli anni successivi il linguaggio ha avuto una forte
diffusione in seguito ai primi utilizzi commerciali del web. Nel corso degli anni,
27
Istituto Tecnico Industriale DON ORIONE Fano
a. s. 2014-2015
ESAME DI STATO
seguendo lo sviluppo di Internet, l’HTML ha subito molte revisioni, ampliamenti e
miglioramenti.
Il 24 dicembre 1999 viene pubblicata la penultima versione ufficiale, cioè quella che
descrive gli aspetti grafici del documento, in un'entità separata dall'HTML, i fogli di
stile a cascata. Tale distinzione, tra contenuto e aspetto finale del documento, permette
al browser e ai dispositivi differenti di rappresentare gli stessi contenuti in maniera
adeguata
alle
diverse
capacità
grafiche
e
dimensioni
disponibili.
Quindi la principale caratteristica dell’ HTML è che esso è stato concepito per definire
il contenuto logico e non l’aspetto finale del documento.
Oggi giorno i documenti HTML incorporano molte tecnologie, che aggiungono al
documento ipertestuale controlli più sofisticati sulla resa grafica, interazioni dinamiche
con l'utente, animazioni interattive e contenuti multimediali. Sono i linguaggi come
CSS, JavaScript e Query, XML, JSON, o di altre applicazioni multimediali di
animazione vettoriale o di streaming audio o video.
Lo scopo del linguaggio HTML è quello di gestire i contenuti associandone o
specificandone allo stesso tempo la struttura grafica (layout) all'interno della pagina
web
da
realizzare
utilizzando
dei
tag
diversi.
Ogni tag (ad esempio <h1> o <p>) specifica un diverso ruolo dei contenuti che esso
contrassegna (quindi il tag <h1> definirà un'importanza maggiore del tag <p>). La
formattazione consiste nell'inserimento nel testo di marcatori o etichette, detti tag, che
descrivono caratteristiche come la funzione, il colore, le dimensioni, la posizione
relativa all'interno della pagina. I browser che leggono il codice mostrano all'utente
formattazioni predefinite per ogni tag che incontrano (così ad esempio i contenuti
marcati con il tag <h1> avranno carattere 18pt e i contenuti marcati da <p> avranno
carattere 12pt). Tuttavia questa formattazione è completamente sotto il controllo
dell'utente, che può modificarla nelle Impostazioni del suo browser.
I documenti HTML sono immagazzinati sui dischi rigidi dei computer o server
costantemente collegati e connessi a Internet. Il software specifico (web server)
istallato su queste macchine si occupa di produrre e inviare i documenti ai browser
degli utenti che ne fanno richiesta usando il protocollo HTTP per il trasferimento dati.
28
Istituto Tecnico Industriale DON ORIONE Fano
a. s. 2014-2015
ESAME DI STATO
Quando il documento HTML viene generato totalmente o parzialmente tramite un
codice eseguibile residente sul server Internet (elaborazione lato server) che
interagisce con altre applicazioni presenti sul server stesso, come per esempio un
database, e invia poi al browser il risultato finale, realizzando le cosiddette pagine web
dinamiche con cui un utente può compiere operazioni interattive avanzate, si ha il caso
di documenti scritti in linguaggi come ASP, PHP, Perl o Java. In altri casi invece
alcuni tipi di elaborazione sono operati lato client con linguaggi come Javascript.
Il componente principale della sintassi di questo linguaggio è l'elemento, inteso come
struttura di base a cui è delegata la funzione di formattare i dati o indicare al browser
delle informazioni.
Ogni elemento è racchiuso all'interno di marcature dette tag, costituite da una sequenza
di caratteri racchiusa tra due parentesi angolari o uncinate (<>), cioè i segni minore e
maggiore (Es.: <br />; il tag di questo esempio serve per indicare un ritorno a capo).
Il termine tag è utilizzato, nell'espressione tag HTML, sinonimo di elemento HTML,
ed indica una struttura in un documento HTML ed è un metodo per ordinare
gerarchicamente
i
contenuti.
Gli elementi possono rappresentare intestazioni, paragrafi, collegamenti ipertestuali,
elenchi, form, oggetti multimediali incorporati e diverse altre strutture.
Quando il tag deve essere applicato a una sezione di testo o di codice, l'ambito di
applicazione deve essere delimitato fra un tag di apertura ed uno di chiusura (chiusura
esplicita), che coincide col tag di apertura preceduto da una barra (/) dopo la parentesi
angolare aperta (Es.: <b>testo testo testo</b>, in questo caso, il testo compreso tra
questi due tag verrà visualizzato in grassetto dal browser).
Alcuni tag presentano un'applicazione puntuale, come per esempio il tag <img> che
serve per inserire un'immagine in un determinato punto della pagina, e in quanto tali
non richiedono il tag di chiusura; in questo caso si parla di tag a chiusura implicita. In
XHTML, invece, la chiusura implicita è proibita e tutti i tag devono essere sempre
chiusi esplicitamente tramite un tag di chiusura o, nel caso dei tag puntuali, usando il
carattere '/' alla fine del tag stesso (per esempio <br />). Per questi tag, i browser sono
in grado di accettare entrambe le modalità, per motivi di compatibilità.
29
Istituto Tecnico Industriale DON ORIONE Fano
a. s. 2014-2015
ESAME DI STATO
Un documento HTML comincia con una dichiarazione del tipo di documento, una
breve stringa che indica in quale sintassi e relativa versione esso sia scritto, per
esempio HTML 4.0 Strict. Tale informazione è necessaria al browser per identificare
le regole di interpretazione e visualizzazione appropriate per lo specifico documento,
ed è per questa ragione che la dichiarazione debba precedere il documento vero e
proprio.
Dopo la dichiarazione del tipo di documento, il documento HTML presenta una
struttura ad albero annidato, composta da sezioni delimitate da tag opportuni che al
loro interno contengono a loro volta sottosezioni più piccole, sempre delimitate da tag.
La struttura più esterna è quella che delimita l'intero documento, eccetto la DTD, ed è
compresa
tra
i
tag
<html>
e
</html>.
All'interno dei tag <html> lo standard prevede sempre la definizione di due sezioni ben
distinte e disposte in sequenza ordinata:
 la sezione di intestazione o header, delimitata tra i tag <head> e </head>, che
contiene informazioni di controllo normalmente non visualizzate dal browser,
con l'eccezione di alcuni elementi.
 la sezione del corpo o body, delimitata tra i tag <body> e </body>, che contiene
la parte informativa vera e propria, ossia il testo, le immagini e i collegamenti
che costituiscono la parte visualizzata dal browser. Al di sotto di questa
suddivisione generale, lo standard non prevede particolari obblighi per quanto
riguarda l'ordine e il posizionamento delle ulteriori sottosezioni all'interno
dell'header o del body, a parte l'indicazione del rispetto dei corretti annidamenti
(le sottosezioni non si devono sovrapporre, ossia ogni sottosezione deve essere
chiusa prima di iniziare la sottosezione successiva), lasciando così completa
libertà allo sviluppatore o al progettista per quanto riguarda la strutturazione e
l'organizzazione successive.
I tag utilizzati nella sezione head sono tipicamente di tipo diverso da quelli utilizzati
nella sezione body, essendo destinati a scopi differenti. I tag utilizzati nella sezione
head normalmente non vengono visualizzati dal browser ma servono come
informazioni di controllo e di servizio quali:
30
Istituto Tecnico Industriale DON ORIONE Fano
a. s. 2014-2015
ESAME DI STATO
 metadata per convogliare informazioni utili ad applicazioni esterne (es. motori
di ricerca) o al browser (es. codifica dei caratteri, utile per la visualizzazione di
alfabeti non latini)
 metadata di tipo http-equiv per controllare informazioni aggiuntive nel
protocollo HTTP
 collegamenti verso file di servizio esterni (CSS, script, icone visualizzabili nella
barra degli indirizzi del browser)
 inserimento di script (codice eseguibile) utilizzati dal documento
 informazioni di stile (CSS locali)
 il titolo associato alla pagina e visualizzato nella finestra principale del browser
Invece nella sezione di body, che racchiude la parte visualizzabile del documento, si
utilizzano i tag specifici previsti per la formattazione dei contenuti accessibili all'utente
finale, ossia per il controllo di:











intestazioni (titoli di capitoli, di paragrafi eccetera)
strutture di testo (testo indentato, paragrafi, eccetera)
aspetto del testo (grassetto, corsivo, eccetera)
elenchi e liste (numerate, generiche, di definizione)
tabelle
moduli elettronici (campi compilabili dall'utente, campi selezionabili, menu a
tendina, pulsanti eccetera)
collegamenti ipertestuali e ancore
layout generico del documento
inserimento di immagini
inserimento di contenuti multimediali (audio, video, animazioni eccetera)
inserimento di contenuti interattivi (script, applicazioni esterne)
Tra quelli elencati sopra, il tag <a> è quello che gioca un ruolo chiave in quanto
descrive un collegamento a un altro documento ipertestuale consentendo, con un click
del mouse o con un'operazione da tastiera, di abbandonare la pagina o il sito che si sta
visualizzando e caricare quella indicata dal link, realizzando così la funzione di
navigazione tipica dell'uso di Internet.
31
Istituto Tecnico Industriale DON ORIONE Fano
a. s. 2014-2015
ESAME DI STATO
2.3 QUERY PER L’ESTRAZIONE DEI DATI(SQL)
In un database le informazioni sono organizzate in una struttura logica che permette di
accedere con facilità ad ogni dato. I database non sono altro che grossi contenitori
dove possiamo inserire i dati organizzati in tabelle. La loro manipolazione è effettuata
tramite le query, ossia collegamenti che riescono direttamente ad inserire, cancellare o
semplicemente
Generalmente
Query
accedere
quindi
letteralmente
è
una
proprio
al
definizione
significa
che
è
database.
associata
interrogazione,
ai
database.
richiesta,
domanda.
La query viene scritta in un linguaggio di interrogazione. Ne esistono decine ed il più
famoso prende il nome di SQL. Come tutti i linguaggi, l'SQL ha una sintassi e delle
regole.
Tramite queste regole è possibile ricercare fra i dati, applicando dei filtri ed ordinando
i
dati
a
piacimento.
Ogni volta che si cercano delle informazioni su Google si effettuano delle query.
Scrivendo delle parole chiave, si dice al motore di ricerca di tradurle in un linguaggio
di interrogazione. Queste parole chiave faranno da filtro per tutte le pagine web che
Google ha nel suo database, dando quindi un certo numero di risultati.
In informatica si utilizza il termine query per indicare l'interrogazione da parte di un
utente di un database, strutturato tipicamente secondo il modello relazionale, per
compiere determinate operazioni sui dati (selezione, inserimento, cancellazione dati,
aggiornamento ecc.). Di solito una query utilizza un linguaggio di interrogazione
interpretato rappresentato dallo standard SQL (Structured Query Language) nei suoi
sottolinguaggi e Data Query Language e Data Manipulation Language, per renderla
più comprensibile al DBMS. L'analisi del risultato della query è oggetto di studio
dell'algebra relazionale.
Una query di selezione inizia con il comando select che apre una stringa di
interrogazione sul database; il simbolo * sta per all ovvero seleziona tutti i campi della
tabella; from dichiara l'origine dei dati.
Esistono diversi tipi di query:
32
Istituto Tecnico Industriale DON ORIONE Fano
a. s. 2014-2015
ESAME DI STATO
 Query di selezione: è possibile estrarre i dati (select) da una o più tabelle e
visualizzarli in una nuova tabella.
 Query di accodamento: consente di aggiungere (insert) a tabelle già esistenti
un gruppo di record in base a dei criteri specifici.
 Query di aggiornamento: consente di modificare (update) il valore di uno o
più campi in corrispondenza di un intervallo selezionato di records esistenti.
 Query di eliminazione: consente di cancellare (delete) uno o più record
dipendentemente dai criteri inseriti nella creazione della query.ù
 Query a campi incrociati: permette di "incrociare" i campi di più tabelle in
modo tale da ottenere una matrice in cui le righe corrispondono
normalmente a campi di tipo descrittivo e riepilogativo, mentre le colonne
corrispondono a totali o conteggi. Vengono chiamate anche query pivot,
poiché i dati che risultano alla fine della creazione sono simili alle tabelle
pivot di un foglio di calcolo.
 Query di creazione tabella: le righe prodotte da una query possono anche
alimentare i record di una nuova tabella mediante una query di creazione
tabella, facendo sempre riferimento alla scheda Struttura, gruppo Tipo di
query
Esistono anche le query di raggruppamento dove si possono raggruppare righe in base
ad uno o più campi, in questo caso, ogni gruppo è costituito da righe aventi dati uguali
nel campo indicato (detto appunto campo raggruppato) ed occuperà una sola riga
dell'elenco prodotto dalla query. Le principali funzioni native di Access da applicare
ad ogni raggruppamento sono quelle di somma, conteggio, media, minimo e massimo.
Nel progetto si sono utilizzate le seguenti query per l’estrazione delle classe e dei
professori con i loro orari assegnati:
SELECT classe.sezione,
ore.orario,
professori.cognome,
materia.id_materia
FROM
((((((professori
INNER JOIN materiaprofessori ON professori.id_professori
= materiaprofessori.id_professore)
INNER
JOIN
materia
ON
materia.id_materia
=
materiaprofessori.id_materia)
33
Istituto Tecnico Industriale DON ORIONE Fano
a. s. 2014-2015
ESAME DI STATO
INNER
JOIN
orario
ON
materia.id_materia
=
orario.id_materia)
INNER JOIN ore ON ore.id_ore = orario.id_ore)
INNER JOIN classe ON classe.id_classe = orario.id_classe)
INNER JOIN giorni ON giorni.id_giorni = orario.id_giorni)
WHERE ore.id_ore=" . $id_ore . " and giorni.id_giorni=" .
$id_giorni
.
"
and
orario.id_materia
=
materiaprofessori.id_materia
AND
orario.id_professore
=
professori.id_professori
AND
professori.id_professori=".
$id_professori ."
ORDER BY ore.id_ore, giorni.id_giorni
Questa query ci elencherà il nominativo di un professore ed il suo orario.
La seconda query, riportata qui sotto:
SELECT classe.sezione,
ore.orario,
professori.cognome,
materia.id_materia
FROM
((((((professori
INNER JOIN materiaprofessori ON professori.id_professori
= materiaprofessori.id_professore)
INNER
JOIN
materia
ON
materia.id_materia
=
materiaprofessori.id_materia)
INNER
JOIN
orario
ON
materia.id_materia
=
orario.id_materia)
INNER JOIN ore ON ore.id_ore = orario.id_ore)
INNER JOIN classe ON classe.id_classe = orario.id_classe)
INNER JOIN giorni ON giorni.id_giorni = orario.id_giorni)
WHERE ore.id_ore=" . $id_ore . " and giorni.id_giorni=" .
$id_giorni
.
"
and
orario.id_materia
=
materiaprofessori.id_materia AND orario.id_ materia = materia.id_
materia AND materia.id_materia=". $id_ materia."
ORDER BY ore.id_ore, giorni.id_giorni
Questa query invece ci elencherà la materia presente in ogni classe.
34
Istituto Tecnico Industriale DON ORIONE Fano
a. s. 2014-2015
ESAME DI STATO
2.4 PUBBLICAZIONE
DELL’APPLICATIVO(FILEZILLA)
Nel 2001 Tim Kosse e due suoi amici crearono il programma Filezilla come un
progetto per corsI di informatica. All'inizio, ci fu una discussione sul tipo di licenza da
attribuire al progetto: ma successivamente decisero di rilasciarlo come software open
source perché sul mercato erano presenti già numerosi client FTP, quindi non
presentandolo come prodotto commerciale avrebbero avuto la possibilità di venderne
tantissimecopie.
FileZilla Client è un software libero multipiattaforma che permette il trasferimento di
file in Rete attraverso il protocollo FTP. Il programma è disponibile per GNU/Linux,
Microsoft
Windows,
e
Mac
OS
X.
Le principali caratteristiche del programma sono:
 il site manager, che permette all'utente di creare una lista di siti FTP e di
selezionarne uno con un menu a tendina. Una volta selezionato il sito
desiderato, il programma si connetterà al sito stesso permettendo l'upload o
il download di file;
 il message log, è presente in alto e contiene la lista di tutti i messaggi inviati
ai server dal programma e le relative risposte ricevute dai server FTP;
 il file and folder view, è l'interfaccia grafica associata al motore di
trasferimento dei file. Posto al di sotto del message log e composto da due
finestre di egual grandezza, esso permette all'utente di fare il drag and drop
ovvero di navigare tra le cartelle del sistema (parte sinistra) e trascinarle
dall'altra parte (parte destra) per trasferire i file o le cartelle selezionate sul
server desiderato;
 il transfer queue, posto sulla parte inferiore della schermata, è formato da
una luce rossa e una verde e indica la velocità di trasmissione in download o
upload.
35
Istituto Tecnico Industriale DON ORIONE Fano
a. s. 2014-2015
ESAME DI STATO
Lo scopo principale del Filezilla è quello di consentire l’accesso a server FTP remoti
per effettuare il download e l’upload di file via web, sfruttando l’omonimo protocollo
di comunicazione su rete.
Esso è dotato di un’interfaccia grafica molto semplice da utilizzare ed in grado di
mettere
in
risalto
quelli
gli
elementi
essenziali
dell’applicazione.
L’interfaccia di FileZilla è organizzata a schede, ogni scheda può essere dedicata ad
una specifica connessione, grazie alla possibilità di collegarsi contemporaneamente a
più server FTP. In ciascuna scheda è possibile inserire le credenziali di accesso, cioè
l’indirizzo del server, il nome utente, la password e la porta sulla quale instaurare la
comunicazione, oppure scegliere tra un elenco contenente le informazioni relative alle
ultime connessioni eseguite. Un apposito sistema per la gestione dei propri siti web
permette inoltre di salvare le credenziali di login dei server ai quali si accede più
frequentemente, così da averle sempre a disposizione ed avviare una sessione in pochi
click.
Il trasferimento dei file avviene in maniera semplice perché si riesce a visualizzare
contemporaneamente sia il contenuto dell’hard disk locale che quello del server
remoto. Tramite drag & drop è possibile trascinare un file da una posizione all’altra,
con l’avvio del trasferimento che avviene in maniera istantanea con una velocità di
upload e download fortemente legata sia alla banda della propria connessione che ai
parametri impostati nell’apposito strumento per la gestione dei limiti di banda presente
in FileZilla. Per la configurazione dell’applicazione risulta essere utile il tool per il
settaggio automatico dei parametri di connessione, il quale consente di scovare
eventuali
problemi
nella
configurazione
attuale.
FileZilla, grazie alla sua semplicità d’uso ed all’ottimo livello di sicurezza ed
affidabilità, è diventato nel tempo uno dei nomi più apprezzati da tutti coloro che
accedono frequentemente a server web remoti.
36
Istituto Tecnico Industriale DON ORIONE Fano
a. s. 2014-2015
ESAME DI STATO
Ed infatti nel mio progetto poi andato ad inserire ogni file all'interno del software
freeware FileZilla, programma dedito al trasferimento FTP di file all'interno di un
server/dispositivo munito attivamente di un protocollo FTP o SFTP su cui inviare i file
all'interno dell'apposito canale di comunicazione.
Figura 7
37
Istituto Tecnico Industriale DON ORIONE Fano
a. s. 2014-2015
ESAME DI STATO
CAPITOLO 3
CONCLUSIONE
3.1 PROGETTAZIONE
Il progetto è partito dall’idea di avere un portale che ci formula un elenco delle classi e
dei professori della scuola con il proprio orario, più facile e veloce da consultare.
E’ stato utile per i professori e le classi, così almeno al posto di avere i fogli cartacei,
con questo tool informatico possono liberamente vedere i propri orario da qualsiasi
posto.
Figura 8
38
Istituto Tecnico Industriale DON ORIONE Fano
a. s. 2014-2015
ESAME DI STATO
3.2 SVILUPPI FUTURI
Il progetto non è ancora completato nelle sue funzionalità basilari, ma si punta al
completamento in breve tempo.
Si dovrà trovare una soluzione accettabile per la selezione delle classi e dei professori
in base agli anni, infatti nel database esiste già la tabella che inoltra gli anni,
bisognerebbe soltanto collegare e fare la ricerca in base all’anno.
Sarà inoltre necessario modificare l’interfaccia grafica e un template migliore.