|
Appunti informatica |
|
Visite: 977 | Gradito: | [ Picolo appunti ] |
Leggi anche appunti:Funzione erroriFUNZIONE ERRORI Scopo: la function calcola l'errore relativo e l'errore Modello a Memoria Globale: Interazioni tra processiModello a Memoria Globale: Interazioni tra processi Nel modello a memoria globale La storia della nascita dell'IBM, il colosso dell'informaticaLa storia della nascita dell'IBM, il colosso dell'informatica |
MySQL è un database SQL server molto veloce, multi-processo, multi-utente e robusto, per cui può rispondere a diverse richieste contemporaneamente, può essere utilizzato contemporaneamente da diversi utenti ed è in grado di gestire grandi quantità di dati con risorse hardware limitate.
Cenni storici.
MySQL è nato in seguito all'intenzione di utilizzare mSQL (noto anche come miniSQL) per connettere una serie di tabelle utilizzando alcune routine di basso livello. Dalla insoddisfazione degli sviluppatori riguardo al risultato ottenuto, nacque una nuova interfaccia SQL al loro database chiamata MySQL. MySQL, dalla sua fondazione al 29 giugno 2000, non è stato un prodotto Open Source, ma poteva essere usato gratuitamente su Unix e le altre piattaforme non.Microsoft.
Funzioni principali.
Completamente multiprocesso
Api per C. C++, Eiffel, Java, Perl, PHP, Python e Tcl
Gestione flessibile e sicura di password e privilegi; possibilità di controlli basati sull'host; connessioni crittografate
Supporto alle funzioni ODBC: si può utilizzare Access per connettersi a un server MySQL
Testato fino a 50,000,000 di record
Scritto in C e C++ e testato con numerosi compilatori
Supporto per differenti set di caratteri
L'ordinamento è basato su il set di caratteri scelto
Il server può gestire i messaggi di errore in differenti lingue
Limitazioni.
MySQL non supporta:
Integrità referenziale
Chiavi esterne
Select di select
Right join
Interazione con pagine web.
Il linguaggio di scripting attualmente più utilizzato per permettere alle pagine HTML di comunicare con il database è PHP. Quando una pagina web che interagisce con un database viene richiesta da un utente, la richiesta viene mandata al web server che richiama lo script PHP. Questo è eseguito dal processore PHP che prende i dati dal database. Il risultato viene poi gestito dallo script PHP che genera il codice HTML necessario.
PHP è un linguaggio di scripting lato server i cui tag vengono inseriti nel flusso del codice HTML e analizzati dal server, che restituisce il risultato al client. In pratica il codice che viene scritto dal programmatore non viene inviato all'utente per essere eseguito localmente, bensì viene eseguito dal server che restituisce semplicemente l'output dell'esecuzione. Il codice viene identificato e distinto dal server grazie a dei tag di apertura e chiusura, analoghi a quelli degli altri programmi di scripting. La sigla PHP, nata come acronimo di Personal Home Page (Tools) è ora intesa come PHP Hypertext Preprocessor. Il nome si riferisce al fatto che PHP pre-processa tramite il suo motore degli elementi ipertestuali. Per essere eseguito il codice PHP necessita che il file sia salvato con un'estensione appropriata (e mappata sul server). Le estensioni comunemente utilizzate sono .php, .php3, .php4.
A differenza che per l'HTML, non c'è nessun modo in cui l'utente possa vedere il codice nativo, a meno che non abbia diritti sufficienti per l'accesso al server, cosa che normalmente non accade. La differenza principale fra HTML puro e PHP è dunque che il primo viene interpretato dal browser, mentre il secondo viene eseguito sul server.
Cenni storici.
PHP è stato creato circa nel 1994 da Rasmus Lerdorf, per controllare gli accessi al un suo curriculum on-line. La prima distribuzione pubblica è stata rilasciata all'inizio del 1995 con il nome di Personal Home Page Tools. Il motore fu cambiato nel 1995 e prese il nome di PHP/FI. A partire dal 1997 PHP smise di essere un progetto individuale di Rasmus per coinvolgere più persone; il motore fu completamente riscritto da Zeev Suraski e Andi Gutmans e il nuovo PHP 3 fu rilasciato nel giugno del 1998. Una stima di NetCraft (ww.netcraft.com) di maggio 2000 vedeva PHP usato da più di 400.000 server al mondo. La combinazione PHP/MYSQL ha ricevuto il premio Database of the Year al Webcon98, una delle principali manifestazioni del settore. L'ultima versione di PHP è la 4 (PHP 4), basata sul motore di Zend.
Cosa può fare.
PHP permette di raccogliere dati, generare contenuti dinamici, interagire con i cookies e permette anche di interagire con altri servizi utilizzando i principali protocolli (IMAP, SNMP, NNTP, POP3).
Alcune fra le applicazioni principali sono nell'autenticazione degli utenti, nella gestione di sistemi di conferencing, nella gestione di templates, nella gestione di file XML, nella creazione dinamica di immagini (tramite la libreria GD), di documenti PDF (tramite la libreria PDF).
Probabilmente la sua caratteristica principale è il supporto di un vasto numero di database (Adabas D, InterBase, Solid, dBase, mSQL, Sybase, Empress, MySQL, Velocis, FilePro, Oracle, Unix dbm, Informix, PostgreSQL).
Perché PHP.
I motivi che possono portare a questa scelta suno raggruppati in aree:
Fattori legati al lato economico: Un sistema LINUX/APACHE/PHP/MYSQL è un sistema nettamente più economico di uno basato su WINDOWS/IIS/ASP/ODBC, come di soluzioni basate su altri server proprietari e commerciali.
- PHP è gratis su tutte le piattaforme. Ciò aiuta a mantenere limitato il costo per lo sviluppo del software. Una soluzione basata su ASP richiede necessariamente come server IIS oppure un server APACHE con le 'Chili Extensions', estensioni per utilizzare ASP su altri server. Sono costi che non limitati.
- PHP funziona con LINUX: Php può essere utilizzato senza problemi con server basati su sistema operativo LINUX. E' un dato di fatto che l'hosting su LINUX (in quanto il sistema operativo è free) è più economico. Costi inferiori del server ricadono sui clienti e permettono maggiore competitività.
- PHP funziona con Apache: Strettamente legato al punto precedente. Anche Apache è free.
- Risorse hardware dal lato server. Le risorse hardware necessarie per la gestione di applicazioni basate su PHP sono limitate. Tipicamente, un server basato su LINUX/APACHE/PHP/MYSQL può essere anche un vecchio Pentium e avere performance accettabili. Non è così per ASP, per esempio: IIS richiede risorse molto, molto elevate (e care, ancora una volta).
Fattori legati alla diffusione: Se uno valuta semplicemente la diffusione, non c'è ombra di dubbio e le soluzioni IIS/ASP sono le più diffuse, soprattutto per la creazione di siti web aziendali di grosse dimensioni. Questo dato sarebbe riduttivo. Intanto Linux, e con lui altre soluzioni free, si stanno diffondendo a vista d'occhio, soprattutto in nicchie in cui riescono a essere una soluzione particolarmente adeguata. La maggior parte dei piccoli provider, in Italia come all'estero, si basa su sistemi Linux/Unix, e così le server farm con prezzi più abbordabili. E questi sono gli interlocutori dei piccoli sviluppatori, a cui sanno dare assistenza e servizi. L'interesse per PHP in Italia è ancora limitato per cui non si può ancora parlare di una vera diffusione.
Fattori legati alla portabilità: PHP è meno vincolante di altre soluzioni. Si possono sviluppare script in PHP in una piattaforma e utilizzarli in un'altra. Tipicamente lo sviluppo dell'interazione con i database può essere realizzato su piattaforma Windows, più amichevole, e poi portato su server LINUX/APACHE. Allo stesso modo, nel caso di cambiamento di server (per es. passaggio a IIS), non è necessario riscrivere tutte le interazioni, cambiare linguaggio. Non è affatto vero per ASP, che necessita sempre si software dedicato e a pagamento per operare.
Fattori legati al supporto: PHP dispone di un forte supporto, sia on-line, sia tramite mailing-list. Esistono centinaia di pagine di documentazione, completamente gratuite e disponibili nei più comuni formati. Inoltre lo stesso progetto di PHP, partito dall'iniziativa personale di Rasmus Lerdorf che aveva bisogno di un po' di script CGI, ora coinvolge un numero consistente di persone, con una forte disponibilità a accettare suggerimenti e contributi esterni. Non si può dire lo stesso dell'industria Microsoft. Lo stesso staff di PHP fornisce spesso risposte alle domande poste nelle mailing list ufficiali (Zeev Zuraski è particolarmente presente, interviene anche lo stesso Rasmus Lerdorf).
- Funzioni MySql gestite dal PHP4
Vediamo nell'insieme quali siano le funzioni previste dal PHP per la gestione di MySql:
mysql_affected_rows => Restituisce il numero di righe coinvolte nella precedente operazione MySql.
mysql_change_user => Cambia l'utente nella corrente connessione
mysql_close => Chiude una connessione MySql Server
mysql_connect => Apre una connessione MySql Server
mysql_create_db => Crea un nuovo DataBase MySql
mysql_data_seek => Muove il puntatore interno del risultato.
mysql_db_name => Preleva il risultato
mysql_db_query => Invia una richiesta SQL a MySql.
mysql_drop_db => Elimina un DataBase MySql.
mysql_errno => Restituisce il numero del messaggio d'errore della precedente operazione MySql.
mysql_error => Restituisce il messaggio d'errore della precedente operazione MySql in formato testo.
mysqli_fetch_array => Restituisce i campi della query eseguita, in un array
mysql_fetch_assoc => Preleva il risultato da una riga per associarlo ad un array.
mysql_fetch_field => Riceve informazioni di un risultato su una colonna per restituirlo come oggetto.
mysql_fetch_lengths => Restituisce la dimensione dei dati di ogni cololonna in un risultato.
mysqli_fetch_object => Preleva una riga del risultato come oggetto.
mysqli_fetch_row => Preleva il risultato di una riga come array numerato.
mysql_field_flags => Restituisce le flag associate con il campo specificato in un risultato.
mysql_field_name => Restituisce il nome del campo specificato in un risultato.
mysql_field_len => Restituisce la lunghezza di un campo specificato.
mysql_field_seek => Restituisce il puntatore di un risultato su uno specifico campo offset.
mysql_field_table => Restituisce il nome della tabella che contiene il campo specificato.
mysql_field_type => Restituisce il tipo di campo in un risultato.
mysql_free_result => Libera la memoria impiegata da un risultato.
mysql_insert_id => Restituisce l'ID generato nella precedente operazione INSERT.
mysql_list_dbs => Elenca il nome dei DataBase presenti in MySql Server.
mysql_list_fields => Elenca i campi MySql presenti in un risultato.
mysql_list_tables => Elenca il nome delle tabelle presenti in un DataBase MySql.
mysql_num_fields => Restituisce il numero di colonne in un risultato.
mysqli_num_rows => Restituisce il numero di righe in un risultato.
mysql_pconnect => Apre una connessione persistente a MySQL Server.
mysql_query => Invia una richiesta SQL a MySql.
mysql_result => Restituisce un risultato.
mysql_select_db => Seleziona un DataBase da MySQL.
mysql_tablename => Preleva il nome da una tabella.
Appunti su: |
|