giovedì 23 ottobre 2008

COSA E' L'SQL E A CHE COSA SERVE?


SQL (Structured Query Language) è un linguaggio creato per l'accesso a informazioni memorizzate nei database.Nasce come strumento per lavorare con database che seguano il modello relazionale.
È un linguaggio, che serve per eseguire varie operazioni sia sui dati che sulle strutture che li contengono. La sigla, acronimo di Structured Query Language, è ormai diventata sinonimo di linguaggio standard per la gestione dei database relazionali.
SQL quindi assolve alle funzioni di Data Description Languge (linguaggio di descrizione dei dati e delle strutture che li conterranno), di Data Manager Language (linguaggio per la manipolazione dei dati) e di linguaggio di interrogazione.
Gli informatici chiamano questo linguaggio di alto livello o dichiarativo perché permette di svolgere operazioni dichiarando cosa si deve ottenere e non come si deve ottenere. Forse la causa del suo grande successo sta nella sua semplicità di utilizzo. Non bisogna, però farsi ingannare, perché se da un lato SQL è intuitivo e semplice, da un altro, per essere capito a fondo richiede di essere studiato con attenzione per capirne tutte le sfumature e le notevoli potenzialità.
Con l'SQL è possibile creare una tabella, modificarne la struttura o cancellarla. E' possibile effettuare ricerche più o meno precise tra i record di una tabella, inserire nuovi dati, modificare o cancellare dati esistenti.E' possibile mettere in relazione due o più tabelle in funzione della struttura delle tabelle e delle esigenze.
CRITICHE A SQL
Sql è un linguaggio di interrogazione pensato per interagire con i database relazionali. I teorici fanno però notare come le caratteristiche originali dell' Sql, ispirate al calcolo delle tuple, in realtà lo violino. Le sue estensioni più recenti supportano pienamente il Modello relazionale, ma hanno peggiorato le suddette violazioni.
Inoltre, vi sono molte critiche sull'utilizzo pratico dell'Sql:
-il linguaggio è piuttosto complesso;
-non fornisce un modo standard per suddividere un lungo comando in comandi più brevi a cui ci si possa riferire tramite un nome (sebbene molte implementazioni in realtà forniscano questa funzionalità);
-le diverse implementazioni sono generalmente incompatibili tra loro;
-si fa troppo affidamento sui valori NULL(un metavalore che secondo alcuni accademici dovrebbe indicare l'assenza di un valore, secondo altri dovrebbe indicare un valore sconosciuto, mentre nella pratica finisce per essere usato in entrambi i modi, o in uno solo, ma in modo incoerente)..

Nessun commento: