Access in sintesi server Windows file *.mdb motore JET interfaccia MS Office DBMS (Database Management System) desktop DBMS client/server

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Access in sintesi server Windows file *.mdb motore JET interfaccia MS Office DBMS (Database Management System) desktop DBMS client/server"

Transcript

1 Access in sintesi Una questione che di tanto in tanto si affaccia sul forum php riguarda la possibilità di interagire con Microsoft Access: anche se il binomio php-mysql rappresenta un duo probabilmente imbattibile nell' ambito WEB, chiunque operi con server Windows può trovarsi ad avere a che fare con il popolare database desktop di Microsoft, e usando le dovute accortezze i risultati possono essere molto soddisfacenti. In realtà ciò che noi identifichiamo comunemente come "database Access" comprende tre componenti principali: un file *.mdb, il motore JET che opera dietro le quinte per la gestione del database (elabora le queries e tiene sotto controllo le tabelle), e l'interfaccia fornita dall'applicativo MS Office. L'ultimo componente è scindibile, tanto che nulla ci impedisce di interagire direttamente con JET attraverso Vbscript, Visual Basic o magari proprio Php. Access appartiene alla categoria dei DBMS (Database Management System) desktop che viene contrapposta a quella dei DBMS client/server della quale, ad esempio, fanno parte Mysql e Sql Server Un Server di database fa quello che dice il suo nome: è un robusto sistema di gestione che rimane in esecuzione permanente in background, supervisiona gli accessi e inoltra le richieste ai database che si trovano sotto il suo controllo. Anche i file di Access possono essere condivisi tra più utenti, ma non c'è alcuna interfaccia che controlli gli accessi e risponda alle richieste. In maniera molto sbrigativa possiamo dire che un DBMS desktop si mostra efficiente soprattutto nell'ambito della macchina in cui si trova e non a livello di rete, infatti quando lo utilizziamo come database di appoggio per un sito WEB il file *.mdb di Access solitamente si trova in una sottodirectory protetta dagli accessi esterni, ed i nostri script si collegano ad esso tramite un percorso fisico. Sembra che il futuro di Access stia nel diventare l'interfaccia privilegiata per SQL Server (con il rilascio di Access 2002 non c'è stato un aggiornamento rispetto alla versione 4.0 del motore JET), nonostante tutto JET avrà ancora vita lunga poichè presenta anche caratteristiche non trascurabili: è un buon database di sola lettura che archivia dati e struttura in un unico file *.mdb facilmente trasferibile, inoltre pur essendo perfettamente in grado di sostenere un sito di medie dimensioni è molto più semplice da usare di un DBMS client/server. Il modo migliore per operare con Access attraverso Php è ricorrere alle apposite funzioni ODBC (Open Database Connectivity, l'api universale di Microsoft), questo però significa che dobbiamo rendere disponibile il database per ODBC creando un DSN di sistema (Data Source Name), ossia un file speciale che contiene informazioni relative al percorso e al tipo di database. Per nostra sfortuna molti fornitori di hosting non rendono disponibile un DSN per il database e consentono soltanto connessioni senza DSN, e questa è una delle situazioni in cui le funzioni COM di Php sono di grande aiuto.

2 COM, pensare per oggetti Chi programma in ambiente Windows ha a disposizione diverse architetture per l'accesso ai dati che spesso si sovrappongono e sono in grado di effettuare le stesse operazioni, operando ad un livello più o meno basso. L'acronimo COM sta per Component Object Model, fu introdotto da Microsoft con lo scopo di mettere a disposizione un modo semplice e universale per instaurare una comunicazione tra i vari moduli dei programmi per Windows. L'argomento è piuttosto complesso e questo articolo rischierebbe di trasformarsi in un piccolo trattato di programmazione in ambiente Windows se ci occupassimo di concetti quali COM, ODBC, OLEDB, DAO, ADO quindi per eventuali approfondimenti vi invito a fare riferimento alla relativa documentazione Microsoft. Per i nostri scopi è sufficiente sapere che le funzioni COM sono disponibili soltanto nella versione WIN di Php, e grazie ad esse avremo l'impressione di programmare in ASP utilizzando la sintassi Php (anziché i linguaggi propri di quell'ambiente, Vbscript e Javascript). Questo significa che dovremo abituarci alla sintassi Object Oriented e ad utilizzare le classi "prefabbricate" e gli oggetti messi a disposizione in ASP un po' come facciamo abitualmente con le funzioni predefinite di Php: ovvero limitandoci a capire cosa fanno e utilizzando a nostro vantaggio proprietà e metodi senza porci troppe domande sul loro funzionamento interno. Ciò comporterà anche che sarà più utile possedere già una qualche esperienza con gli oggetti ADO e il JET-SQL piuttosto che una conoscenza approfondita di Php. ADO, ActiveX Data Objects È un'architettura che fornisce oggetti di alto livello per l'accesso ai dati, e in particolare contiene 6 oggetti per la comunicazione con i database. Qui ci limiteremo ad elencare sinteticamente i 3 principali: l'oggetto Connection consente di stabilire la connessione. l'oggetto Recordset consente di operare con i dati contenuti in una tabella e recuperati attraverso una query. l'oggetto Field è una collection (una sorta di array) che rappresenta le colonne di una tabella. JET-SQL È il "dialetto" Access dello Structured Query Language, si discosta solo in parte dallo standard (che comunque nessun DBMS supporta interamente). Consente di operare con JET effettuando quasi tutte le operazioni possibili attraverso i soli metodi degli oggetti ADO: è possibile creare stored procedures, proteggere il database con password etc. etc. Probabilmente l'unica cosa che non è in grado di fare è creare un file di database dal nulla (più avanti vedremo come utilizzare ADOX, un estensione di ADO, a questo scopo).

3 Nell'articolo ho tralasciato volutamente una descrizione della sintassi JET-SQL, in parte perché quasi sempre è comprensibile per chi ha confidenza con lo standard SQL, e un po' perché ai seguenti links è possibile trovare degli articoli molto esaurienti (informazioni in lingua inglese): JET-SQL: nozioni di base Intermediate JET-SQL Caratteristiche avanzate di JET-SQL Dopo questa lunga ma, spero, utile premessa è finalmente giunto il momento di mettere le mani su un po' di codice: eseguite gli esempi nell'ordine in cui vengono descritti, e se volete testate di tanto in tanto i risultati aprendo il file mytest.mdb con Access (l'applicativo office). Tutti gli script sono stati testati in Windows 2000, sia con Apache che con IIS.

4 La stringa di connessione Quando non è possibile impostare un DSN, le informazioni necessarie per la connessione al database devono essere inserite all'interno di una stringa, che poi verrà passata come argomento al metodo Open() dell'oggetto predefinito ADODB.Connection. Esempio di stringa di Inizializzazione/Connessione Deve contenere almeno due elementi: 1) l'indicazione del motore di database, in questo caso JET/Access $cn_string="provider=microsoft.jet.oledb.4.0;" ; 2) l'origine dati, cioè il percorso del database. Bisognerà fornire sempre il percorso assoluto, qui di seguito nel formato richiesto se si esegue php con Apache, mentre nel caso in cui ci dovessimo appoggiare ad IIS (il webserver Microsoft) gli slash ("/") potanno essere sostituiti da backslash ("\") $cn_string.="data Source=C:/www/prova/PhpAccess/mytestdb.mdb;" ; La stringa di connessione può contenere anche altre informazioni a seconda delle operazioni che si vogliono effettuare, ne presentiamo alcune qui di seguito Mode Indica la modalità di apertura del database, quando non viene specificata l'apertura è in lettura/scrittura condivisa (costante ADO admodereadwrite, valore 3). Nell'esempio l'apertura è in modalità esclusiva (costante ADO admodeshareexclusive, valore 12) che è necessaria quando ad esempio si desidera modificare la password condivisa del database. $cn_string.="mode= 12 ;" Engine type È utile solo al momento della creazione del database indica la versione del motore JET che utilizzeremo, se il database esiste già è ininfluente per la connessione. Il codice numerico 5 corrisponde a JET 4.0 (Access ). $cn_string.="jet OLEDB:Engine Type= 5;" Password (protezione condivisa) Se il database è protetto da una password unica uguale per tutti (livello di protezione condiviso) dobbiamo impostarla qui al momento della connessione $cn_string.="jet OLEDB:Database Password= apritisesamo;"

5 Utenti (protezione a livello utenti) Se il database è protetto a livello utenti (ognuno con la propria password ed i propri permessi) dobbiamo indicarli in questo modo: $cn_string.="user ID=user; Password=password;"

6 Creare un database sul server Ovviamente nulla impedisce di creare il database attraverso l'interfaccia Office e poi fare l'upload del file.mdb ma, visto che c'è modo di fare tutto attraverso il codice, ci è parso interessante illustrare anche questa possibilità. <?php Creiamo delle costanti che definiscono il tipo di motore di database JET, l'ultima versione, JET 4.0, corrisponde ad Access 2000 e 2002 e viene indicata con il codice numerico 5 define("jet10", 1) ; define("jet11", 2) ; define("jet20", 3) ; define("jet3x", 4) ; define("jet4x", 5) ; Inserisci qui il percorso dove vuoi che il database venga creato, nell'esempio la stessa directory dello script, il formato è quello richiesto da Apache $path= "C:/www/prova/PhpAccess/" ; Identifichiamo il database $db_name= "mytest.mdb" ; $dsource=$path.$db_name ; La stringa di inizializzazione/connessione $cn_string="provider=microsoft.jet.oledb.4.0;" ; $cn_string.="jet OLEDB:Engine Type=".JET4x.";" ; $cn_string.="data Source=$dsource;" ; Creo un'istanza dell'oggetto predefinito ADOX.Catalog attraverso COM (ADOX è un'estensione di ADO) if ( file_exists($dsource) ){ die("il database esiste già") ; $db= new COM("ADOX.catalog") or die("impossibile istanziare ADOX") ; Creo il database tramite il metodo Create dell'oggetto ADOX.Catalog

7 $db->create($cn_string) or die("impossibile creare db") ; Liberiamo la memoria $db->release() ; $db= null ;?>

8 La connessione al database Ora che il database è stato creato, vediamo come connetterci ad esso sempre attraverso COM e ADO <?php Inserisci qui il percorso dove si trova il database, $path= "C:/www/prova/PhpAccess/" ; identifichiamo il database $db_name= "mytest.mdb" ; $dsource=$path.$db_name ; Come sempre la stringa di connessione $cn_string="provider=microsoft.jet.oledb.4.0;" ; $cn_string.="data Source=$dsource;" ; Istanzio un oggetto Connection e apro la connessione con il database atraverso il metodo Open() dell'oggetto. Il metodo prende come argomento la stringa di connessione, oppure il DSN quando c'è. if (!file_exists($dsource) ){ die("il database non esiste") ; $cn= new COM("ADODB.Connection"); $cn->open($cn_string) ; // -- CODICE --- //Interrogo/modifico il DB // --- CODICE--- Chiudo la connessione e libero la memoria $cn->close() ; $cn->release() ; $cn= null ;?>

9 Interrogare e modificare il database Dopo la connessione possiamo inviare dei comandi al database, per fare ciò dovremo istanziare un oggetto RECORDSET (più avanti vedremo meglio cosa esso sia) e passare la richiesta al suo metodo Open(). Creare una tabella Aggiungiamo una tabella al database con SQL (ma non è l'unico modo): <?php /* Definiamo semplice tabella di esempio con tre campi: COUNTER corrisponde ad un campo numerico AUTOINCREMENT di mysql. Le parentesi quadrate sono obbligatorie solo se il nome del campo contiene degli spazi */ $query="create TABLE Test_Table ( [id] COUNTER NOT NULL, [Nome] text(15) NOT NULL, [Cognome] text(15) NOT NULL, PRIMARY KEY ([id]) );" ; /* I parametri di connessione */ $path= "C:/www/prova/PhpAccess/" ; $db_name= "mytest.mdb" ; $dsource=$path.$db_name ; $cn_string="provider=microsoft.jet.oledb.4.0;" ; $cn_string.="data Source=$dsource;" ; /* La connessione */ if (!file_exists($dsource) ){ die("il database non esiste") ; $cn= new COM("ADODB.Connection"); $cn->open($cn_string) ; /* Istanziamo un oggetto Recordset e inviamo la query attraverso il metodo Open() */ $rs= new COM("ADODB.Recordset") ; $rs->open($query,$cn) ; /* Pulizia dell'oggetto Recordset */ $rs->release() ; $rs= null ; /* Chiudo la connessione e libero la memoria */

10 $cn->close() ; $cn->release() ; $cn= null ;?>

11 Inserire record Ecco una query JetSQL molto semplice che ci consentirà di inserire alcuni valori nella nostra tabella di prova: $query="insert into Test_Table (nome,cognome) values ('Mario','Rossi')" ; A differenza della sintassi SQL/Mysql per far sì che il campo COUNTER incrementi automaticamente il suo valore, non possiamo inserire NULL ma dobbiamo limitarci ad ignorare la presenza del campo. Sostituite questa query a quella dell'esempio precedente ed eseguite lo script per due o tre volte (inserendo alcuni record contenenti nomi diversi) per proseguire con gli esempi successivi. Recuperare valori <?php /* La query SQL, le parentesi quadrate sono necessarie solo quando i nomi dei campi presentano spazi */ $query="select [nome],[cognome] from Test_Table" ; /* I parametri di connessione */ $path= "C:/www/prova/PhpAccess/" ; $db_name= "mytest.mdb" ; $dsource=$path.$db_name ; $cn_string="provider=microsoft.jet.oledb.4.0;" ; $cn_string.="data Source=$dsource;" ; /* La connessione */ if (!file_exists($dsource) ){ die("il database non esiste") ; $cn= new COM("ADODB.Connection"); $cn->open($cn_string) ; /* Istanziamo un oggetto Recordset e inviamo la query attraverso il metodo Open() */ $rs= new COM("ADODB.Recordset") ; $rs->open($query,$cn) ; /* Ciclo per recuperare i valori dal recordset EOF= tutto il set di dati è stato esaminato e il cursore è giunto in fondo */ while(!$rs->eof){ echo($rs->fields['nome']->value." ".$rs->fields['cognome']->value."

12 ") ; $rs->movenext() ; /* Chiusura Recordset (da non farsi nelle query di comando) */ $rs->close() ; /* Pulizia dell'oggetto Recordset */ $rs->release() ; $rs= null ; /* Chiudo la connessione e libero la memoria */ $cn->close() ; $cn->release() ; $cn= null ;?>

13 L'oggetto Recordset È giunto il momento di compiere una breve analisi dell'oggetto RECORDSET con cui abbia mo lavorato fino ad ora. Come avrete notato eseguire una query select attraverso il metodo Open() dell'oggetto Recordset non è molto differente dall' eseguire in Mysql: $risultato=mysql_query($query) ; e poi scorrere i dati contenuti in $risultato in questo modo, while ($row = mysql_fetch_object($risultato)) { echo $row->user_id; echo $row->fullname; L'esecuzione della query non fa altro che restituirci un set di dati le cui righe sono array che corrispondono ai record, mentre gli elementi di ogni array corrispondono al contenuto dei campi dei record stessi. Tuttavia il metodo Open() è un po' più complicato e può contenere altri parametri facoltativi oltre alla query e all'identificativo della connessione, questa è la forma completa: $rs->open($comando,$id_connessione,$cursor_type,$lock_type,$tipo_comando) ; tipo_comando specifica la modalità di richiesta fatta al database, la richiesta può avere forme diverse: il nome di una tabella della quale vogliamo visualizzare tutti i records, una stringa SQL o anche l'identificativo di una stored procedure memorizzata in precedenza nel database. Normalmente JET è in grado di determinare da solo questo parametro, ma per motivi di efficienza nelle prestazioni è preferibile inserire l'indicazione esplicitamente. Nei nostri esempi abbiamo privilegiato l'invio di comandi attraverso query SQL per diverse ragioni che vedremo tra poco. Il valore da fornire al parametro tipo_comando qualora si passi una query SQL è 1 (corrispondente alla costante VB adcmdtext), una lista di tutti i comandi possibili è reperibile qui. cursor_type determina il modo in cui possiamo scorrere il recordset: il cursore di default (che è il più efficiente in termini di prestazioni) consente di scorrere il set di risultati soltanto dall'alto al basso (forward-only, valore 0) e soltanto una volta. Un cursore diverso (detto "scorrevole", valore 1) permette di definire in anticipo quante righe di risultati la query ha restituito (attraverso il metodo $rs->recordcount()), tuttavia di solito la cosa davvero importante è capire se vi siano stati risultati oppure no, e questo possiamo determinarlo anche se operiamo con un cursore forward-only: sarà sufficiente verificare se appena aperto il recordset si trova già EOF, come nell' esempio seguente: /* Ciclo per recuperare i valori dal recordset */ //SE il cursore NON è già EOF...

14 if(!$rs->eof){ while(!$rs->eof){ echo($rs->fields['nome']->value." ".$rs->fields['cognome']->value." ") ; $rs->movenext() ; //... ALTRIMENTI else{ echo("la query non ha prodotto alcun risultato") ; lock_type rappresenta il bloccaggio del recordset che di default è "sola lettura", inviare un comando SQL è l'unico modo di effettuare modifiche al database pur aprendo in modalità "sola lettura": quindi le operazioni di update attraverso SQL sono atomiche e non espongono ai danni di possibili accessi concomitanti. Ricordiamo, solo per completezza, che è anche possibile creare implicitamente una connessione aprendo direttamente un recordset in questo modo: $rs= new COM("ADODB.Recordset") ; $rs->open($query, $cn_string) ; Chi vorrà approfondire le proprietà dell'oggetto recordset troverà tutte le risposte nella MSDN library, in particolare chi scrive ha trovato molto interessante l'utilizzo delle stored procedures.

15 Dare una password al database Impareremo come proteggere a livello condiviso (password unica per tutti), abbiamo già accennato alla cosa quando si è parlato delle proprietà opzionali della stringa di connessione. Per prima cosa dovremo connetterci al database in modalità esclusiva, pertanto setteremo la proprietà MODE della stringa di connessione a 12, il valore di default è 3 (apertura condivisa in lettura/scrittura) e trovate qui una lista completa delle possibili modalità di connessione. <?php /* Il percorso fisico del database */ $path= "C:/www/prova/PhpAccess/" ; /* identifichiamo il database */ $db_name= "mytest.mdb" ; $dsource=$path.$db_name ; /* Le password che vogliamo scambiare sostituisci quelle che preferisci tu */ $old_pw="password_attuale"; $new_pw="nuova_password" ; /* La query */ $query="alter DATABASE PASSWORD $new_pw $old_pw ; " ; /* La stringa di connessione, notare MODE */ $cn_string="provider=microsoft.jet.oledb.4.0;" ; $cn_string.="mode= 12 ;" ; $cn_string.="jet OLEDB:Database Password=$old_pw;" ; $cn_string.="data Source=$dsource;" ; if(!file_exists($dsource)){ die("il database non esiste, connessione fallita") ; $cn= new COM("ADODB.Connection"); $cn->open($cn_string) ; $rs=new COM("ADODB.Recordset") ; $rs->open($query,$cn) ; /* Pulizia del recordset */ $rs->release() ; $rs= null ;

16 /* Chiudiamo la connessione e liberiamo la memoria */ $cn->close() ; $cn->release() ; $cn= null ;?> Se inseriamo la password per la prima volta, la variabile $old_pw dovrà avere valore NULL (che poi non è un valore), mentre se desideriamo togliere la protezione dal database dovremo dare valore NULL a $new_pw. Ovviamente la stringa di connessione dovrà comprendere l'apposito parametro relativo alla password (vedi proprietà della ConnString nelle pagine precedenti). Impostare una protezione al livello utenti è leggermente più complicato e richiederebbe una spiegazione piuttosto lunga, pertanto vi rinvio ancora una volta alla MSDN LIBRARY (potete fare una ricerca con parole chiave "jet database user-level security").

17 Compattare il database Le operazioni di scrittura, cancellazione e riscrittura comportano un aumento progressivo delle dimensioni del database, effettuando periodicamente una compattazione otterremo un' ottimizzazione delle prestazioni oltre che un risparmio di spazio sul disco. Questa operazione è una di quelle che non si possono fare attraverso JET-SQL, la illustriamo anche perché si tratta di un metodo alternativo per impostare una protezione, a livello utenti o a livello condiviso, al database. <?php /* Inserisci qui il percorso dove si trova il database, */ $path= "C:/www/prova/PhpAccess/" ; /* Nome e password del database da compattare */ $olddb="mytest.mdb" ; $oldpass="" ; /* Nome provvisorio database compattato */ $newdb="new_mytest.mdb" ; $newpass="mypassword" ; /* ConnString verso il database da compattare */ $oldconn="provider=microsoft.jet.oledb.4.0;" ; $oldconn.="data Source=".$path.$olddb.";" ; $oldconn.="jet OLEDB:Database Password=$oldpass ;" ; /* ConnString verso il nuovo database (compattato) */ $newconn="provider=microsoft.jet.oledb.4.0;"; $newconn.="data Source=".$path.$newdb.";" ; $newconn.="jet OLEDB:Database Password=$newpass ;" ; /* Controllo che non esista già un file con il nome provvisorio scelto */ if(file_exists($path.$newdb)){ die("esiste già un file con il nome provvisorio che hai scelto") ; /* Istanzio l'oggetto che fornisce il metodo Compact() */ $je=new COM("JRO.JetEngine") or die("compact fallito"); /* Compatta il database e setta una nuova password */ $je->compactdatabase($oldconn,$newconn) ; $je->release() ; $je= null ; /* Elimina il vecchio database */ unlink($olddb); /* Rinomina il db compattato con il vecchio nome */ rename($newdb,$olddb) ;

18 ?>

19 Ricavare informazioni sulla struttura del database A questo scopo l'oggetto Connection mette a disposizione il metodo OpenSchema(): se si desiderano informazioni sul numero e sul nome delle tabelle contenute nel database dovremo passare come argomento di OpenSchema il codice numerico 20, mentre per ricevere informazioni sui campi di una singola tabella il codice è 4. Quando apriamo il recordset con OpenSchema(20) dovremo filtrare il tipo di tabella che cerchiamo, JET infatti contiene delle tabelle per la sua gestione interna che non ci interessano: noi dovremo cercare le tabelle di tipo "TABLE". Per un elenco completo delle informazioni reperibili attraverso OpenSchema potete visitare questa pagina. I normali parametri di connessione <?php /* Il percorso fisico del database, inserisci il tuo */ $path= "C:/www/prova/PhpAccess/" ; /* identifichiamo il database */ $db_name= "mytest.mdb" ; $dsource=$path.$db_name ; /* La stringa di connessione */ $cn_string="provider=microsoft.jet.oledb.4.0;" ; $cn_string.="data Source=$dsource;" ; /* La connessione */ $cn= new COM("ADODB.Connection"); $cn->open($cn_string) ;?> Informazioni sulle tabelle <?php /* OpenSchema(20) Elenca le tabelle, cerchiamo le tabelle di tipo TABLE */ $rs=$cn->openschema(20) ; while(!$rs->eof){ if(trim($rs->fields["table_type"]->value=="table")){ echo($rs->fields["table_name"]->value." ") ; $rs->movenext() ;

20 $rs->close() ; $rs = null;?> Informazioni sui campi di una tabella specifica <?php /* La tabella che vogliamo esaminare */ $nome_tabella="test_table" ; /* OpenSchema(4) Elenca i campi per ogni tabella */ $rs=$cn->openschema(4) ; while(!$rs->eof){ if(trim($rs->fields["table_name"]->value==$nome_tabella)){ echo($rs->fields["column_name"]->value) ; echo(" ** Tipo di dato: ".$rs->fields['data_type']->value." ") ; $rs->movenext() ; $rs->close() ; $rs->release() ; $rs = null; $cn->close(); $cn->release() ; $cn=null ;?>

21 Conclusioni Nonostante questa sia probabilmente una delle guide più dettagliate che si possano trovare su la coppia Access/Php, l'argomento non può certo dirsi esaurito. Da un lato ho cercato di fornire degli spunti a 360 gradi che, per certi aspetti, possono dirsi di livello avanzato anche per chi programma abitualmente in ambiente ASP, dall'altro per favorire la leggibilità il codice è stato presentato in maniera lineare evitando di racchiuderlo in funzioni (come invece sarebbe pratica corretta fare): in ogni caso chi decidesse, per scelta o per necessità, di operare con Access e Php insieme non potrà prescindere da una comprensione degli oggetti ADO. Fortunatamente una ricerca nella MSDN LIBRARY di solito consente di chiarire il 99% dei nostri dubbi. Ovviamente per dell'ottimo materiale in italiano potete visitare freeasp.html.it.

Uso dei data bases con PHP. Prof. Francesco Accaino Iis Altiero Spinelli Sesto Sa Giovanni

Uso dei data bases con PHP. Prof. Francesco Accaino Iis Altiero Spinelli Sesto Sa Giovanni Uso dei data bases con PHP Prof. Francesco Accaino Iis Altiero Spinelli Sesto Sa Giovanni MDAC MDAC è l acronimo di Microsoft Data Access Component e fa parte della tecnologia Microsoft denominata Universal

Dettagli

APPENDICE B Le Active Server Page

APPENDICE B Le Active Server Page APPENDICE B Le Active Server Page B.1 Introduzione ad ASP La programmazione web è nata con la Common Gateway Interface. L interfaccia CGI tuttavia presenta dei limiti: ad esempio anche per semplici elaborazioni

Dettagli

APPUNTI SU ADO (ACTIVEX DATA OBJECTS)

APPUNTI SU ADO (ACTIVEX DATA OBJECTS) APPUNTI SU ADO (ACTIVEX DATA OBJECTS) Introduzione ADO (Activex Data Object) è il sistema di accesso a database che noi utilizzeremo in ambiente Microsoft, sia da Visual Basic sia da pagine ASP. Activex

Dettagli

Accesso a basi di dati con ASP. Algoritmo per visualizzare un DB

Accesso a basi di dati con ASP. Algoritmo per visualizzare un DB Accesso a basi di dati con ASP 1 Algoritmo per visualizzare un DB 1. creare una connessione tra lo script ASP e il database 2. Costruire una QUERY in linguaggio SQL che opera sul database 3. Recuperare

Dettagli

A. Veneziani - Classe V Abacus - Elementi di elaborazione Web con supporto ai DB basati su ASP e Access

A. Veneziani - Classe V Abacus - Elementi di elaborazione Web con supporto ai DB basati su ASP e Access A. Veneziani - Classe V Abacus - Elementi di elaborazione Web con supporto ai DB basati su ASP e Access Prologo Parlando di tecnologie Web legate a Microsoft è naturale integrare le funzioni di ASP 1 con

Dettagli

MySQL Database Management System

MySQL Database Management System MySQL Database Management System http://www.mysql.com/ DATABASE RELAZIONALI Un database è una collezione strutturata di informazioni. I database sono delle strutture nelle quali è possibile memorizzare

Dettagli

L interfaccia a riga di comando di MySql

L interfaccia a riga di comando di MySql L interfaccia a riga di comando di MySql Una volta completata la procedura di installazione possiamo finalmente testare le funzionalità di MySQL. Sia che ci si trovi in ambiente Linux che Windows, l'interfaccia

Dettagli

VBScript. VBScript. Visual Basic Scripting Edition. Linguaggio di script per browser e server Microsoft Deriva da Visual Basic, ma è interpretato

VBScript. VBScript. Visual Basic Scripting Edition. Linguaggio di script per browser e server Microsoft Deriva da Visual Basic, ma è interpretato VBScript Visual Basic Scripting Edition 1 VBScript Linguaggio di script per browser e server Microsoft Deriva da Visual Basic, ma è interpretato 2 Pag. 1 Principali caratteristiche Fine istruzione singola

Dettagli

MDAC. Attualmente la versione disponibile di MDAC è la 2.8 ma faremo riferimento alla 2.6. ADO Active Data Objects ADO OLE DB ODBC

MDAC. Attualmente la versione disponibile di MDAC è la 2.8 ma faremo riferimento alla 2.6. ADO Active Data Objects ADO OLE DB ODBC MDAC MDAC è l acronimo di Microsoft Data Access Component e fa parte della tecnologia Microsoft denominata Universal Data Access (UDA). Mette a disposizione una serie di componenti per l accesso a svariate

Dettagli

Questo punto richiederebbe uno sviluppo molto articolato che però a mio avviso va al di là delle possibilità fornite al candidato dal tempo a disposizione. Mi limiterò quindi ad indicare dei criteri di

Dettagli

MODULO 1 PARTE 3. Programmazione (scripting) server-side con PHP 3.b Interazione con un database (MySQL Server)

MODULO 1 PARTE 3. Programmazione (scripting) server-side con PHP 3.b Interazione con un database (MySQL Server) MODULO 1 PARTE 3 Programmazione (scripting) server-side con PHP 3.b Interazione con un database (MySQL Server) Goy - a.a. 2009/2010 Programmazione Web 1 Informazione persistente Se vogliamo tener traccia

Dettagli

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

Ministero dell Istruzione dell Università e della Ricerca M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE Pag. 1/1 Sessione ordinaria 2010 Seconda prova scritta Ministero dell Istruzione dell Università e della Ricerca M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE CORSO DI ORDINAMENTO Indirizzo: INFORMATICA

Dettagli

Lavorare con MySQL Parte Prima.

Lavorare con MySQL Parte Prima. Lavorare con MySQL Parte Prima. Data la particolarità dell argomento, ho deciso di dividerlo in due lezioni. Nella prima, si parlerà diffusamente di MySQL, cos è un DBMS, cos è l SQL, i campi supportati

Dettagli

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER L architettura CLIENT SERVER è l architettura standard dei sistemi di rete, dove i computer detti SERVER forniscono servizi, e computer detti CLIENT, richiedono

Dettagli

www.mtcube.com Manuale di ASP

www.mtcube.com Manuale di ASP Manuale di ASP Sommario degli argomenti Che cosa sono le Active Server Pages... 3 Struttura, creazione ed esecuzione della pagina Asp... 3 Variabili e tipi di dati... 4 Numero Intero... 4 Numeri in virgola

Dettagli

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database Corso di Informatica Modulo T3 B3 Programmazione lato server 1 Prerequisiti Architettura client/server Conoscenze generali sui database 2 1 Introduzione Lo scopo di questa Unità è descrivere gli strumenti

Dettagli

Corso basi di dati ASP e i database

Corso basi di dati ASP e i database Corso basi di dati ASP e i database Gianluca Di Tomassi Email: ditomass@dia.uniroma3.it Università di Roma Tre ASP e i database Un ruolo senza dubbio rilevante di ASP è quello di mediatore tra Web server

Dettagli

Applicazione ASP di esempio

Applicazione ASP di esempio Applicazione ASP di esempio Database in rete Prof. Claudio Maccherani Un server web è un programma che gira su un computer sempre collegato ad Internet e che mette a disposizione file, pagine e servizi.

Dettagli

ACTIVE SERVICE PAGES E DATABASE: tecnologia ADO

ACTIVE SERVICE PAGES E DATABASE: tecnologia ADO ACTIVE SERVICE PAGES E DATABASE: tecnologia ADO CARICARE DATI IN UNA TABELLA DA UN FORM Per utilizzare il Database nel Web, è necessario essere collegati al Db stesso, per far ciò, si utilizzano gli ADO

Dettagli

ACTIVE SERVICE PAGES E DATABASE: tecnologia ADO

ACTIVE SERVICE PAGES E DATABASE: tecnologia ADO ACTIVE SERVICE PAGES E DATABASE: tecnologia ADO LEGGERE E VISUALIZZARE I DATI DI UNA TABELLA IN UNA PAGINA WEB Per visualizzare i dati di una tabella in una pagina web, dobbiamo utilizzare l'oggetto ADODB.Recordset

Dettagli

Corso di Informatica Modulo T3 B2 - Database in rete

Corso di Informatica Modulo T3 B2 - Database in rete Corso di Informatica Modulo T3 B2 - Database in rete 1 Prerequisiti Programmazione web Applicazione web Modello OSI Architettura client/server Conoscenze generali sui database Tecnologia ADO in Visual

Dettagli

Lavorare con MySQL Parte Seconda.

Lavorare con MySQL Parte Seconda. Lavorare con MySQL Parte Seconda. PHP, dalla versione 4.0, usufruisce difunzioni native per colloquiare con MySQL, senza appoggiarsi ad alcuna libreria o modulo esterno. In questa lezione verranno esaminate

Dettagli

Pagine Asp. Pagine Asp

Pagine Asp. Pagine Asp Pagine Asp Architettura web Esistono alcune limitazioni alle applicazioni che si possono realizzare in HTML, ad esempio non è possibile costruire un sito web che consenta all utente di accedere ai dati

Dettagli

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013 Laboratorio Progettazione Web PHP e MySQL - Lezione 9 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013 Architettura di una applicazione Web Browser Web HTTP Server Web API Dati Presentation

Dettagli

LEGGERE E VISUALIZZARE I DATI DI UNA TABELLA IN UNA PAGINA WEB

LEGGERE E VISUALIZZARE I DATI DI UNA TABELLA IN UNA PAGINA WEB ADO ACTIVE SERVICE PAGES E DATABASE: tecnologia LEGGERE E VISUALIZZARE I DATI DI UNA TABELLA IN UNA PAGINA WEB Per visualizzare i dati di una tabella in una pagina web, dobbiamo utilizzare l'oggetto ADODB.Recordset

Dettagli

Interoperabilità. Open Database Connectivity (ODBC)

Interoperabilità. Open Database Connectivity (ODBC) Interoperabilità L utilizzo contemporaneo di sorgenti di dati (data source) eterogenee in singole applicazioni è il principale problema in progetti complessi e distribuiti. La soluzione passa attraverso

Dettagli

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

Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2013/2014 Laboratorio Progettazione Web PHP e MySQL Andrea Marchetti IIT-CNR 2013/2014 Architettura di una applicazione Web Browser Web HTTP Server Web API Dati Presentation Application Storage PHP e DataBase Quando

Dettagli

La connessione php-mysql con MySQLi

La connessione php-mysql con MySQLi La connessione php-mysql con MySQLi Premessa Lo scenario che si intende alla base di questo capitolo è di disporre di un ambiente phpmysql rappresentato nel seguente schema: L'applicazione php viene eseguita

Dettagli

19. LA PROGRAMMAZIONE LATO SERVER

19. LA PROGRAMMAZIONE LATO SERVER 19. LA PROGRAMMAZIONE LATO SERVER Introduciamo uno pseudocodice lato server che chiameremo Pserv che utilizzeremo come al solito per introdurre le problematiche da affrontare, indipendentemente dagli specifici

Dettagli

PHP e Structured Query Language

PHP e Structured Query Language Esercitazioni del corso di Tecnologie per la Comunicazione Aziendale PHP e Structured Query Language Marco Loregian loregian@disco.unimib.it www.siti.disco.unimib.it/didattica/tca2008 Interrogazioni (ripasso)

Dettagli

JDBC di base. Le classi/interfacce principali di JDBC

JDBC di base. Le classi/interfacce principali di JDBC JDBC di base Java Database Connectivity è il package Java per l accesso a database relazionali il package contiene interfacce e classi astratte completa indipendenza del codice dal tipo di database o di

Dettagli

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database Uso delle basi di dati Uso delle Basi di Dati Il modulo richiede che il candidato comprenda il concetto di base dati (database) e dimostri di possedere competenza nel suo utilizzo. Cosa è un database,

Dettagli

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

PHP 5. PHP ed i database. Database e tabelle. Struttura di un DB relazionale. Accesso a database PHP ed i database PHP 5 Accesso a database PHP funziona con molti database relazionale che includono: Oracle Access Postgres SQL Server MySQL Useremo MySQL poiché è semplice da usare, gratuito e molto

Dettagli

APPUNTI DI PHP : V INFORMATICA SEZIONE G

APPUNTI DI PHP : V INFORMATICA SEZIONE G APPUNTI DI PHP : V INFORMATICA SEZIONE G Prof. Conti R. mysql_connect() Apre una connessione verso un DB MySQL. $db = mysql_connect([$db_host[, $db_username[, $db_password[, $newlink[,$clientflags]]]]]);

Dettagli

JDBC: Introduzione. Java Database Connectivity (JDBC): parte 1. Schema dei legami tra le classi principali. Principali classi/interfacce di JDBC

JDBC: Introduzione. Java Database Connectivity (JDBC): parte 1. Schema dei legami tra le classi principali. Principali classi/interfacce di JDBC JDBC: Introduzione Java Database Connectivity (JDBC): parte 1 Gianluca Moro DEIS - Università di Bologna gmoro@deis.unibo.it Java Database Connectivity è il package Java per l accesso a database relazionali

Dettagli

JDBC versione base. Le classi/interfacce principali di JDBC

JDBC versione base. Le classi/interfacce principali di JDBC JDBC versione base Java Database Connectivity è il package Java per l accesso a database relazionali il package contiene interfacce e classi astratte uno dei pregi è la completa indipendenza del codice

Dettagli

LEGGERE E VISUALIZZARE I DATI FILTRATI E CALCOLATI DI UNA TABELLA IN UNA PAGINA WEB

LEGGERE E VISUALIZZARE I DATI FILTRATI E CALCOLATI DI UNA TABELLA IN UNA PAGINA WEB ADO ACTIVE SERVICE PAGES E DATABASE: tecnologia LEGGERE E VISUALIZZARE I DATI FILTRATI E CALCOLATI DI UNA TABELLA IN UNA PAGINA WEB Come nella lezione precedente, dovendo visualizzare i dati di una tabella

Dettagli

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 6

Data Base. Master Bio Info Reti e Basi di Dati Lezione 6 Data Base 1 Sommario I concetti fondamentali. Database Relazionale.. Query e SQL MySql, Creazione di un db in MySQL con PHPmyAdmin Creazione database e delle Tabelle Query Inserimento Ricerca Modifica

Dettagli

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Laboratorio Progettazione Web PHP e MySQL - Lezione 9 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Architettura di una applicazione Web Browser Web HTTP Server Web PHP Dati View Control

Dettagli

Data Base in Internet

Data Base in Internet Data Base in Internet Esempio di applicazione ASP Prof. Claudio Maccherani Un applicazione che interroghi un database remoto in un server Web è scritta in ASP (Active Server Page) se piattaforma NT / IIS

Dettagli

FileMaker 12. Guida ODBC e JDBC

FileMaker 12. Guida ODBC e JDBC FileMaker 12 Guida ODBC e JDBC 2004 2012 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker e Bento sono marchi di FileMaker, Inc.

Dettagli

M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE

M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE Pag. 1/1 Sessione ordinaria 2009 Seconda prova scritta M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE CORSO DI ORDINAMENTO Indirizzo: INFORMATICA Tema di: INFORMATICA (Testo valevole per i corsi di

Dettagli

PHP 5. Accesso a database

PHP 5. Accesso a database PHP 5 Accesso a database PHP ed i database PHP funziona con molti database relazionali che includono: Oracle Access Postgres SQL Server MySQL Useremo MySQL poiché è semplice da usare, gratuito e molto

Dettagli

Quesiti 6 e 7) - 9 - Creiamo il file query4.php su una piattaforma OPEN SOURCE usando in linguaggio PHP ospitato su un webserver APACHE per interrogare un database MYSQL. Tale file verrà attivato cliccando

Dettagli

MySQL Command Line Client: operazioni fondamentali

MySQL Command Line Client: operazioni fondamentali MySQL Command Line Client: operazioni fondamentali INTRODUZIONE Il RDBMS MySQL, oltre a fornire un applicazione che abbia un interfaccia user-friendly, ha a disposizione anche un altro client, che svolge

Dettagli

Lezione 9. Applicazioni tradizionali

Lezione 9. Applicazioni tradizionali Lezione 9 Applicazioni tradizionali Pag.1 Sommario Concetti trattati in questa lezione: SQL nel codice applicativo Cursori API native ODBC Pag.2 SQL nel codice applicativo I comandi SQL possono essere

Dettagli

Open Database Connettivity (ODBC) Integrazione web-dbms. Open Database Connectivity (ODBC) Open Database Connectivity (ODBC)

Open Database Connettivity (ODBC) Integrazione web-dbms. Open Database Connectivity (ODBC) Open Database Connectivity (ODBC) The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still

Dettagli

Laboratorio di reti II: Gestione di database lato server

Laboratorio di reti II: Gestione di database lato server Laboratorio di reti II: Gestione di database lato server Stefano Brocchi brocchi@dsi.unifi.it 23 marzo, 2009 Stefano Brocchi Laboratorio di reti II: Database 23 marzo, 2009 1 / 32 Uso di database lato

Dettagli

Basi di dati. Basi di dati = database. Basi di dati

Basi di dati. Basi di dati = database. Basi di dati Basi di dati Da leggere: Cap. 6 Sawyer, Williams (testo A) Basi di dati = database Sono una delle applicazioni informatiche che hanno avuto il maggiore utilizzo in uffici, aziende, servizi -> oggi anche

Dettagli

Comprendere ADO.NET. La guida definitiva per comprendere a fondo ADO

Comprendere ADO.NET. La guida definitiva per comprendere a fondo ADO 060-063 Database 3-03-2005 16:23 Pagina 62 DATABASE La guida definitiva per comprendere a fondo ADO Accesso ai DB con Visual Basic.Net 2003 L ultimo articolo che ci aiuterà ad interagire con i database,

Dettagli

PHP e MySQL. Guida scaricata da www.webstyling.it

PHP e MySQL. Guida scaricata da www.webstyling.it Home -> Manuali & Tutorials -> Guida PHP PHP e MySQL E' possibile realizzare delle applicazioni in php appoggiandosi ad un database, quale ad esempio MySQL. Con le novità introdotte ai tempi di MySQL 4.1

Dettagli

Database e reti. Piero Gallo Pasquale Sirsi

Database e reti. Piero Gallo Pasquale Sirsi Database e reti Piero Gallo Pasquale Sirsi Approcci per l interfacciamento Il nostro obiettivo è, ora, quello di individuare i possibili approcci per integrare una base di dati gestita da un in un ambiente

Dettagli

Nozioni di base sull utilizzo di PHP e di MySQL

Nozioni di base sull utilizzo di PHP e di MySQL Nozioni di base sull utilizzo di PHP e di MySQL Che cos è PHP? Mi sento in dovere prima di iniziare ad illustrare le nozioni di base di PHP introdurre dicendo PHP che cos è in sostanza; fino a qualche

Dettagli

SQL Injection The dark side of webapplication *** Siamo davvero certi che chi gestisce i nostri dati sensibili lo faccia in modo sicuro?

SQL Injection The dark side of webapplication *** Siamo davvero certi che chi gestisce i nostri dati sensibili lo faccia in modo sicuro? SQL Injection The dark side of webapplication *** Siamo davvero certi che chi gestisce i nostri dati sensibili lo faccia in modo sicuro? Che cos'e' SQL? Acronimo di 'Structured Query Language E' un linguaggio

Dettagli

Costruzione di Sit Web con PHP e MySQL. Lezione 7 - Esercitazione - Introduzione a MySQL: le tabelle, i tpi di dato, le query

Costruzione di Sit Web con PHP e MySQL. Lezione 7 - Esercitazione - Introduzione a MySQL: le tabelle, i tpi di dato, le query Costruzione di Sit Web con PHP e MySQL Lezione 7 - Esercitazione - Introduzione a MySQL: le tabelle, i tpi di dato, le query Esercitazione In questa lezione si farà insieme una seconda esercitazione che

Dettagli

Laboratorio di Sistemi Fondamenti di JDBC (parte1) Java. Fondamenti di JDBC

Laboratorio di Sistemi Fondamenti di JDBC (parte1) Java. Fondamenti di JDBC Fondamenti di JDBC Concetto di driver Il dialogo fra applicazione e DBMS non è mai gestito direttamente ma passa in genere per un opportuno modulo software chiamato driver che agisce da interfaccia fra

Dettagli

MySQL Controllare gli accessi alla base di dati A cura di Silvio Bonechi per http://www.pctrio.com

MySQL Controllare gli accessi alla base di dati A cura di Silvio Bonechi per http://www.pctrio.com MySQL Controllare gli accessi alla base di dati A cura di Silvio Bonechi per http://www.pctrio.com 15.03.2006 Ver. 1.0 Scarica la versione pdf ( MBytes) Nessuno si spaventi! Non voglio fare né un manuale

Dettagli

L ARCHIVIAZIONE E LA GESTIONE DATI ATTRAVERSO L INTERAZIONE TRA MICROSOFT ACCESS ED EXCEL 1 INTRODUZIONE

L ARCHIVIAZIONE E LA GESTIONE DATI ATTRAVERSO L INTERAZIONE TRA MICROSOFT ACCESS ED EXCEL 1 INTRODUZIONE Roccatello Ing. Eduard L ARCHIVIAZIONE E LA GESTIONE DATI ATTRAVERSO L INTERAZIONE TRA MICROSOFT ACCESS ED EXCEL 1 INTRODUZIONE Agenda Presentazione docente Definizione calendario Questionario pre corso

Dettagli

Programmazione dei Data Base in Visual Basic - DAO

Programmazione dei Data Base in Visual Basic - DAO DAO VB Prof. Claudio Maccherani 2001 / 2002 INDICE DAO (DATA ACCESS OBJECTS)...1 1 - OGGETTO DATABASE...2 2 OGGETTO RECORDSET...3 ESEMPIO GESTIONE ALUNNI...5 DAO (Data Access Objects) DAO è un interfaccia

Dettagli

DBMS. Esempi di database. DataBase. Alcuni esempi di DBMS DBMS. (DataBase Management System)

DBMS. Esempi di database. DataBase. Alcuni esempi di DBMS DBMS. (DataBase Management System) (DataBase Management System) Sistemi di ges3one di basi di da3 Un Database Management System è un sistema software progettato per consentire la creazione e manipolazione efficiente di database (collezioni

Dettagli

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

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. INFORMATICA Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. APPLICAZIONI WEB L architettura di riferimento è quella ampiamente diffusa ed

Dettagli

JDBC. Dispense per il corso di Ingegneria del Web

JDBC. Dispense per il corso di Ingegneria del Web JDBC Dispense per il corso di Ingegneria del Web Revisione 05/11 Giuseppe Della Penna (giuseppe.dellapenna@di.univaq.it) Dipartimento di Informatica Università degli studi dell'aquila Java Database Connectivity:

Dettagli

INDICI. Prevediamo di effettuare spesso interrogazioni simili alle seguenti:

INDICI. Prevediamo di effettuare spesso interrogazioni simili alle seguenti: Date le tabelle: Clienti := < id, nome, cognome, indirizzo,città > Ordini := < id, data_ora_ordine, id_prodotto, id_cliente, quantità> Prodotti := < id, nome, descrizione, costo,scorte > INDICI Prevediamo

Dettagli

2. Costruire un database con Apache, PHP e MySql

2. Costruire un database con Apache, PHP e MySql 2. Costruire un database con Apache, PHP e MySql Lo scopo di questa esercitazione è realizzare un server web e costruire un database accessibile attraverso Internet utilizzando il server Apache, il linguaggio

Dettagli

Applicazione client-server in PHP con database MySQL

Applicazione client-server in PHP con database MySQL Applicazione client-server in PHP con database MySQL Emanuele Scapin 1 1 Liceo Statale F.Corradini, via Milano 1, 36016 Thiene 30/05/2012 1 Premessa Dopo la trattazione di argomenti teorici di progettazione

Dettagli

La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net. di Emanuele Mattei (emanuele.mattei[at]email.

La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net. di Emanuele Mattei (emanuele.mattei[at]email. La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net di Emanuele Mattei (emanuele.mattei[at]email.it) Introduzione In questa serie di articoli, vedremo come utilizzare

Dettagli

Remote SQL Command Execution

Remote SQL Command Execution Remote SQL Command Execution Spesso si ha a che fare con SQL Injection se ci si trova nel campo della sicurezza informatica, ma non sempre si è a conoscenza di quanto una vulnerabilità del genere può essere

Dettagli

WEB TECHNOLOGY. Il web connette. LE persone. E-book n 2 - Copyright Reserved

WEB TECHNOLOGY. Il web connette. LE persone. E-book n 2 - Copyright Reserved WEB TECHNOLOGY Il web connette LE persone Indice «Il Web non si limita a collegare macchine, ma connette delle persone» Il Www, Client e Web Server pagina 3-4 - 5 CMS e template pagina 6-7-8 Tim Berners-Lee

Dettagli

Metodi per la Gestione dei Dati (lezioni di laboratorio)

Metodi per la Gestione dei Dati (lezioni di laboratorio) Università degli Studi di Modena e Reggio Emilia Facoltà di Scienze della Comunicazione e dell Economia Corso di Laurea in Comunicazione e Marketing Titolare del corso: ing. Stefano SETTI Lezioni di laboratorio

Dettagli

RenderCAD S.r.l. Formazione

RenderCAD S.r.l. Formazione Corso Descrizione La durata di questo corso è complessivamente di ore 150 di cui 85 ore di teoria, 35 ore di pratica e 30 ore di stage in azienda. Nel nostro territorio esiste una richiesta di tale figura,

Dettagli

DBMS ed Applicazioni Motivazioni

DBMS ed Applicazioni Motivazioni DBMS ed Applicazioni Motivazioni Sin ora abbiamo visto SQL come linguaggio per interrogare DBMS da interfaccia interattiva Nella pratica, un efficace sfruttamento delle potenzialità dei DBMS deriva dalla

Dettagli

I sinonimi in SQL Server

I sinonimi in SQL Server I sinonimi in SQL Server Di Gianluca Negrelli L'identificazione di un oggetto in SQL Server necessita sempre di un riferimento alla gerarchia che lo contiene. Al vertice della gerarchia si posiziona il

Dettagli

Corso di Web Programming

Corso di Web Programming Corso di Web Programming 11. PHP - Complementi Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di Laurea in Informatica Applicata

Dettagli

MANUALE ESSENZIALE MYSQL

MANUALE ESSENZIALE MYSQL Autore: Classe: Luciano Viviani TERZA INFORMATICA SERALE (3IS) Anno scolastico: 2003/2004 Scuola: Itis Euganeo MANUALE ESSENZIALE MYSQL Manuale La dispensa vuole fornire agli studenti delle classi quinte

Dettagli

Esercitazione 8. Basi di dati e web

Esercitazione 8. Basi di dati e web Esercitazione 8 Basi di dati e web Rev. 1 Basi di dati - prof. Silvio Salza - a.a. 2014-2015 E8-1 Basi di dati e web Una modalità tipica di accesso alle basi di dati è tramite interfacce web Esiste una

Dettagli

Basi di dati Il linguaggio SQL

Basi di dati Il linguaggio SQL Basi di dati Il linguaggio SQL teoria e pratica con Microsoft Access Riepilogando Nelle basi di dati esiste 1. una parte invariante nel tempo, lo schema, costituita dalle caratteristiche dei dati (nomi

Dettagli

Basi di dati Il linguaggio SQL

Basi di dati Il linguaggio SQL Riepilogando Basi di dati Il linguaggio SQL Nelle basi di dati esiste 1. una parte invariante nel tempo, lo schema, costituita dalle caratteristiche dei dati (nomi degli attributi, domini, 2. una parte

Dettagli

ASP: DOMANDE E RISPOSTE (Q&A)

ASP: DOMANDE E RISPOSTE (Q&A) Autore: Classe: Nicola Ceccon QUINTA INFORMATICA (5IA) Anno scolastico: 2003/2004 Scuola: Itis Euganeo ASP: DOMANDE E RISPOSTE (Q&A) Dispensa La dispensa presenta i contenuti fondamentali di ASP nella

Dettagli

Il DBMS Oracle. Express Edition. Donatella Gubiani e Angelo Montanari

Il DBMS Oracle. Express Edition. Donatella Gubiani e Angelo Montanari Gubiani & Montanari Il DBMS Oracle 1 Il DBMS Oracle Express Edition Donatella Gubiani e Angelo Montanari Il DBMS Oracle Il DBMS Oracle Oracle 10g Express Edition Il DBMS Oracle (nelle sue versioni più

Dettagli

Concetti fondamentali dei database database Cos'è un database Principali database

Concetti fondamentali dei database database Cos'è un database Principali database Concetti fondamentali dei database Nella vita di tutti i giorni si ha la necessità di gestire e manipolare dati. Le operazioni possono essere molteplici: ricerca, aggregazione con altri e riorganizzazione

Dettagli

DATABASE. www.andreavai.it

DATABASE. www.andreavai.it Cos'è un database? Quando si usa? Differenze con i fogli elettronici Le tabelle: record, campi, tipi di dati Chiavi e indici Database relazionali (R-DBMS) Relazioni uno-a-uno Relazioni uno-a-molti Relazioni

Dettagli

DBMS (Data Base Management System)

DBMS (Data Base Management System) Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire

Dettagli

Corso di Informatica Modulo T3 B1 Programmazione web

Corso di Informatica Modulo T3 B1 Programmazione web Corso di Informatica Modulo T3 B1 Programmazione web 1 Prerequisiti Architettura client/server Elementi del linguaggio HTML web server SQL server Concetti generali sulle basi di dati 2 1 Introduzione Lo

Dettagli

Impararlo è molto semplice, esistono manuali, o meglio mattoni, su SQL, ma qui verranno illustrati tutti i comandi più utilizzati... e utili.

Impararlo è molto semplice, esistono manuali, o meglio mattoni, su SQL, ma qui verranno illustrati tutti i comandi più utilizzati... e utili. Sql è un linguaggio standard che permette di operare con i database. Per database intendo uno qualsiasi e non il solito Access, ma anche Oracle, Microsoft SQL Server, Informix, DB2, Sybase... Sql sta per

Dettagli

PHP Survival Kit (Ovvero gestire un database MySQL tramite PHP)

PHP Survival Kit (Ovvero gestire un database MySQL tramite PHP) PHP Survival Kit (Ovvero gestire un database MySQL tramite PHP) Augusto Scatolini (webmaster@comunecampagnano.it) (a.scatolini@linux4campagnano.net) Miniguida n. 183 Ver. 1.0 aprile 2013 La prima guida

Dettagli

AJAX. Goy - a.a. 2006/2007 Servizi Web 1. Cos'è il Web 2.0

AJAX. Goy - a.a. 2006/2007 Servizi Web 1. Cos'è il Web 2.0 AJAX Goy - a.a. 2006/2007 Servizi Web 1 Cos'è il Web 2.0 Web 2.0 = termine introdotto per la prima volta nel 2004 come titolo di una conferenza promossa dalla casa editrice O Reilly L'idea è che ci si

Dettagli

Il sistema IBM DB2. Sistemi Informativi T. Versione elettronica: L01.1.IntroduzioneDB2.pdf

Il sistema IBM DB2. Sistemi Informativi T. Versione elettronica: L01.1.IntroduzioneDB2.pdf Il sistema IBM DB2 Sistemi Informativi T Versione elettronica: L01.1.IntroduzioneDB2.pdf IBM DB2 Il DBMS relazionale IBM DB2 è il prodotto di punta dell IBM per la gestione di basi di dati relazionali

Dettagli

Corso di Web programming Modulo T3 A2 - Web server

Corso di Web programming Modulo T3 A2 - Web server Corso di Web programming Modulo T3 A2 - Web server 1 Prerequisiti Pagine statiche e dinamiche Pagine HTML Server e client Cenni ai database e all SQL 2 1 Introduzione In questa Unità si illustra il concetto

Dettagli

La tecnologia ASP.NET e i database

La tecnologia ASP.NET e i database Introduzione alle pagine dinamiche Con il linguaggio HTML si possono creare delle pagine Web statiche. Se invece volessimo creare delle pagine Web dinamiche, pagine il cui codice html viene generato al

Dettagli

3. Programmazione con le pagine ASP classiche

3. Programmazione con le pagine ASP classiche LIBRERIA WEB 3. Programmazione con le pagine ASP classiche 1. Le pagine ASP in generale ASP (Active Server Pages) è una tecnologia Microsoft che consente di scrivere codice eseguibile (script) lato server,

Dettagli

Simulazione seconda prova Esame di Stato Sito Web - Gestione di un centro agroalimentare all ingrosso (Parte seconda)

Simulazione seconda prova Esame di Stato Sito Web - Gestione di un centro agroalimentare all ingrosso (Parte seconda) Simulazione seconda prova Esame di Stato Sito Web - Gestione di un centro agroalimentare all ingrosso (Parte seconda) Il candidato realizzi inoltre il sito Internet del centro che deve permettere, tra

Dettagli

Tecnologie e Programmazione Web

Tecnologie e Programmazione Web Presentazione 1 Tecnologie e Programmazione Web Html, JavaScript e PHP RgLUG Ragusa Linux Users Group SOftware LIbero RAgusa http://www.solira.org - Nunzio Brugaletta (ennebi) - Reti 2 Scopi di una rete

Dettagli

--- PREMESSE INTRODUZIONE. .:luxx:.

--- PREMESSE INTRODUZIONE. .:luxx:. SQL INJECTION --- SICUREZZA.:luxx:. PREMESSE Questa guida accenna ad alcuni metodi di SQL injection e si sofferma sulla prevenzione di tali attacchi, per comprendere al meglio il testo è necessaria una

Dettagli

DB2 Universal Database (UDB) DB2 Universal Database (UDB)

DB2 Universal Database (UDB) DB2 Universal Database (UDB) DB2 Universal Database (UDB) Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: DB2Presentazione2009.pdf Sistemi Informativi L-A DB2 Universal

Dettagli

PIANO DI LAVORO EFFETTIVAMENTE SVOLTO IN RELAZIONE ALLA PROGRAMMAZIONE DISCIPLINARE

PIANO DI LAVORO EFFETTIVAMENTE SVOLTO IN RELAZIONE ALLA PROGRAMMAZIONE DISCIPLINARE Istituto di Istruzione Secondaria Superiore ETTORE MAJORANA 24068 SERIATE (BG) Via Partigiani 1 -Tel. 035-297612 - Fax 035-301672 e-mail: majorana@ettoremajorana.gov.it - sito internet: www.ettoremajorana.gov.it

Dettagli

Basi di dati. Introduzione a PostgreSQL. K.Donno - Introduzione a PostgreSQL

Basi di dati. Introduzione a PostgreSQL. K.Donno - Introduzione a PostgreSQL Basi di dati Introduzione a PostgreSQL Introduzione a PostgreSQL PostgreSQL è un software relazionale e ad oggetti per la gestione di basi di dati PostgreSQL è Open-Source ed il suo sviluppo procede da

Dettagli

MySQL Database Management System

MySQL Database Management System MySQL Database Management System II parte Progetto gestione booking prenotazioni on-line 1. Progettazione e creazione struttura database che chiameremo booking. 2. Progettazione e creazione di un form

Dettagli

FileMaker 11. Guida ODBC e JDBC

FileMaker 11. Guida ODBC e JDBC FileMaker 11 Guida ODBC e JDBC 2004 2010 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker è un marchio di FileMaker, Inc. registrato

Dettagli

PHP E MYSQL CREAZIONE DI UN NUOVO DATABASE DAL PHPMYADMIN

PHP E MYSQL CREAZIONE DI UN NUOVO DATABASE DAL PHPMYADMIN PHP E MYSQL CREAZIONE DI UN NUOVO DATABASE DAL PHPMYADMIN Il metodo migliore per creare nuovi DB è quello di usare l interfaccia del PHPMYADMIN (che viene installata automaticamente con il pacchetto easy

Dettagli

Esercitazione su JDBC

Esercitazione su JDBC Esercitazione su JDBC Basi di Dati L Ingegneria dei Processi Gestionali (Ilaria Bartolini - Roberto Cabras) come usare SQL (1) Le istruzioni SQL possono essere eseguite interattivamente Ese JDBC 2 come

Dettagli