ITportal
a- a+

Creare da zero un gestionale in PHP (I Parte)

Pagina 1 di 6

Partendo dalla progettazione e ottimizzazione del database per la gestione di un magazzino, con MySQL, realizzeremo l’interfaccia di amministrazione in PHP…

Il linguaggio di scripting server-side PHP diventa ogni giorno sempre più utilizzato su internet, implementato nei webserver, e adottato da sviluppatori e webmaster. Dreamweaver MX offre un pieno supporto a questo linguaggio, rendendone semplicissima l’integrazione nelle nostre pagine web.
Ma anche se nato e progettato per il web, PHP è adatto anche per altri scopi, ad esempio come scripting di shell in ambienti Unix, oppure svolgimento di compiti specifici per Intranet e reti LAN.

Figura 1 - Pagina principale del gestionale da realizzare.

 

Ad esempio, in quest'articolo, scopriremo come utilizzare PHP e Dreamweaver per gestire un magazzino di vendita all'ingrosso, che ha a disposizione una piccola rete LAN di computer, e in cui si sente la necessità di operare con un database comune, disponibile aggiornato in tempo reale su ogni postazione. Per ottenere una situazione simile, non è adatto pensare di utilizzare un semplice software tipo Access da installare su ogni postazione. Ciò renderebbe problematica la gestione del database, che si ritroverebbe così in forme multiple, da sincronizzare manualmente, e con un forte rischio di anomalie nei dati, e una mancanza di praticità generale.
Bisogna optare per una configurazione client-server: il database sarà presente su un solo computer, destinato alla memorizzazione di tutti i dati sensibili, e a cui accederemo via rete dalle altre postazioni.
Creeremo dunque una interfaccia in PHP, che si collegherà ad un database MySQL, il quale gestirà ordinatamente tutte le richieste provenienti dalla LAN, e garantirà efficienza e dati sempre aggiornati.

Progettazione del database
Cominciamo dunque ragionando su come organizzare il nostro database. Potremmo, ad esempio, scegliere di realizzare una tabella per i prodotti di competenza, strutturata con i seguenti campi:
ID e nome del prodotto, categoria, nome, telefono, fax e indirizzo del fornitore, quantità disponibile, descrizione, prezzo di acquisto, prezzo di vendita, data di immissione dei prezzi.
Una tabella per gli acquisti, con le seguenti colonne:
ID acquisto, data, ID prodotto, quantità; Una tabella per le vendite, con i seguenti campi:

ID vendita, data, nome, cognome, telefono, e indirizzo cliente, ID prodotto, quantità.

O meglio così avremmo pensato di strutturare il database almeno inizialmente, finché non ci saremmo accorti di una mancanza di praticità, ad esempio riguardo ai dati del fornitore da inserire in ogni singolo prodotto, oppure a quelli del cliente per ogni prodotto acquistato. Oltre a tale svantaggio, ad esempio nella tabella prodotti, nel caso dovessimo apportare qualche modifica ai dati di un fornitore, dovremmo specificare i nuovi dati in ogni singolo prodotto di sua appartenenza; inoltre, nell’eventualità che volessimo cancellare l’unico prodotto di un fornitore, perderemmo anche i dati di quest’ultimo. Insomma tanti svantaggi, la necessità di dover aggiornare più dati di quanti vorremmo e un alto rischio di poter trovare future ambiguità e anomalie nelle nostre memorizzazioni.

Figura 2 - Visualizzazione della tabella fornitori.

 

Normalizzazione di un database
Nasce dunque spontanea l'esigenza di strutturare il database in una forma più efficace e funzionale possibile, sfruttando a pieno le capacità intrinseche dei database di tipo relazionale come MySQL. Effettueremo quindi una procedura denominata normalizzazione di un database, e che si organizza in più fasi, ognuna che eredita le caratteristiche della precedente, aggiungendone di sue; lo scopo della normalizzazione è quello di eliminare al massimo la ridondanza di un database, e i suoi rischi di inconsistenza. Solitamente si procede in tre fasi, dette prima, seconda e terza forma normale, e quest’ultima, anche se esistono altre, è spesso quella più opportuna, rappresentando un ottimo compromesso tra efficacia e semplicità. Ogni forma normale libera sempre di più i dati da vincoli inappropriati e ripetizioni non necessarie, e aggiunge maggiori restrizioni rispetto alla forma precedente.

Figura 3 - Visualizzazione della tabella prodotti.


Continua >>>



Ti potrebbe interessare anche

commenta la notizia

Ci sono 1 commenti