Caratteristiche Mysql 5    

Analizziamo brevemente solo le caratteristiche più significative introdotte dalle varie versioni di mysql:

  • La versione 4.0 ha introdotto le UNIONI (Unions) e il sistema di caching

  • La versione 4.1 ha introdotto le SUBQUERY, il supporto per OpenGIS, un maggior numero di storage engine (prima di questa versione erano supportati solo ISAM, MyISAM, INNODB), un supporto molto scalabile per la localizzazione.

  • La versione 5.0 ha introdotto STORED PROCEDURES, VISTE (Views), Cursors, TRANSAZIONI (Transactions), TRIGGERS, ulteriori storage engine.


Unioni (Unions)


Presenti dalla versione: 4.0, Manuale: http://dev.mysql.com/doc/refman/5.0/en/union.html

Il comando UNION, come il JOIN, serve a creare una relazione tra due tabelle. Se il comando JOIN univa i dati provenienti da due tabelle diverse in un unico record (con una somma quindi orizzontale) il comando UNION esegue un'unione diametralmente opposta permettendo di unire i due risultati come se provenissero da un'unica tabella (somma verticale).

Capita spesso di trovarsi di fronte a un database mal progettato in cui una stessa struttura si ripete in diverse tabelle. Con il comando UNION è possibile eseguire una query su queste tabelle sommando i risultati, proprio come se provenissero da un'unica tabella.

Questo comando agisce sempre come DISTINCT (seleziona cioè sempre record unici). Per poter selezionare anche i "doppioni" è necessario utilizzare UNION ALL.


Subquery


Presenti dalla versione: 4.1, Manuale: http://dev.mysql.com/doc/refman/5.0/en/subqueries.html

L'esempio più comune dell'utilizzo di una subquery è dato dal dover selezionare da una tabella solo i record che non rispettano una determinata relazione con una seconda:

SELECT colonne FROM tabella_1 WHERE valore_1 NOT IN (SELECT valore_2 FROM tabella_2)

Non vi è dubbio però che le subquery rendano di più facile comprensione l'intera query permettendoci più rapidi sviluppi e manutenzioni.



Stored Procedures


Presenti dalla versione: 5.0, Manuale: http://dev.mysql.com/doc/refman/5.0/en/stored-procedure-syntax.html

Esattamente come le funzioni dei linguaggi di programmazione, le stored procedures possono essere composte da valori in input, valori in output, tipi di valori (è necessaria la dichiarazione del tipo di variabile utilizzata), costrutti di controllo del flusso (if/then/else, case, cicli), passaggio di variabili per indice, chiamate ad altre funzioni personalizzate.

Cursori (Cursors)

Presenti dalla versione: 5.0 Manuale: http://dev.mysql.com/doc/refman/5.0/en/cursors.html.

I cursori sono dei puntatori ai recordset di specifiche query utili da utilizzare soprattutto nell'ambito delle procedure personalizzate. Permettono di accedere a questi recordset e, tramite il comando FETCH assegnare i valori dei vari campi a specifiche variabili (un comportamento molto simile a quello che in PHP risulta essere il foreach).



Triggers


Presenti dalla versione: 5.0, Manuale: http://dev.mysql.com/doc/refman/5.0/en/triggers.html

Altra caratteristica molto interessante è rappresentata nel linguaggio SQL dai trigger. Tramite questi strumenti è possibile eseguire specifici comandi (ad esempio una procedura personalizzata) nel momento in cui vengono aggiornati (comando UPDATE), inseriti (comando INSERT) oppure eliminati (comando DELETE) i dati di una tabella.

Al momento per l'esecuzione di TRIGGERS č necessario possedere il privilegio SUPER.
Non č quindi possibile fornire ai clienti tale potenzialitą.


Viste (Views)


Presenti dalla versione: 5.0, Manuale: http://dev.mysql.com/doc/refman/5.0/en/views.html

è anche possibile da questa versione di MySQL creare delle viste sulle query. In questo modo è possibile creare quelle che a tutti gli effetti agiscono come delle tabelle temporanee già popolate.



Transazioni (Transactions)


Presenti dalla versione: 5.0, Manuale: http://dev.mysql.com/doc/refman/5.0/en/transactional-commands.html

Dalla versione 5.0 MySQL introduce anche il concetto di transazioni, anche se limitate alle sole tabelle di tipo InnoDB. Una transazione permette di portare a termine una serie di query solo se tutte quante vanno a buon fine. Nel caso in cui anche una sola delle query generi un errore, è possibile gestirlo per evitare errori nel database.

Le transazioni risultano essere molto utili ad esempio in complicate fasi di INSERT multiple in cui le insert successive dipendono da quelle precedenti: non bisogna gestire i vari errori dal linguaggio di programmazione e si è sicuri di non avere incongruenze nel database.



 


 
     
  Login
  Password
  Recupera Password
 
 
 
   
  Pagamenti
  PayPal
  Carta di Credito
  Bonifico Bancario

  Contatti
  Contatti
  Assistenza
  Approfondimenti
  Faq
  Corsi
  JavaHelp.it
   
 
In caso di emergenza o di impossibilità ad utilizzare il supporto online, inviare un sms al numero 3471520403 indicando i dati account ed il problema riscontrato.
   
Un servizio offerto da Tech - Partita IVA: 03696340615 - © Copyright 2008 - Hosty.it Ver 2.0