lunedì 8 giugno 2009

ANSI SLQ


L'SQL (Structured Query Language della American National Standard Institute ) nasce nel 1974 ad opera di Donald Chamberlin, nei laboratori dell'IBM. Si propone come uno strumento in grado di lavorare con un data base seguendo un modello relazionale.Nel 1975 viene sviluppato un prototipo chiamato SEQUEL-XRM; con esso si eseguirono sperimentazioni che portarono, nel 1977, a una nuova versione del linguaggio chiamato SQL. Su di esso si sviluppò il prototipo System R, che venne utilizzato da IBM esclusivamente per usi interni. Ma visto il suo trionfo, anche altre società iniziarono subito a sviluppare prodotti basati su SQL. Nel 1981 IBM iniziò così a vendere alcuni prodotti relazionali. SQL divenne subito lo standard industriale per i software che utilizzano il modello relazionale.

L'American National Standards Institute - Istituto Americano di Normalizzazione, più noto come ANSI, un'organizzazione privata non a fini di lucro che produce standard industriali per gli Stati Uniti, lo adottò con l'obiettivo di standardizzare il linguaggio SQL nelle diverse piattaforme. Negli anni successivi si realizzarono altre versioni, che furono SQL/89, SQL/92 e SQL/2003. Tale processo di standardizzazione mirava alla creazione di un linguaggio che funzionasse su tutti i DBMS relazionali, ma questo obiettivo non fu mai raggiunto. Tanti sono i linguaggi SQL che presentano differenze sostanziali l’uno con l’altro. Tra i più noti ricordo Oracle SQL e My SQL.
L'ANSI lo adottò come standard fin dal 1986. Questo processo di standardizzazione mirava alla creazione di un linguaggio che funzionasse su tutti i DBMS (Data Base Management System) relazionali, ma in realtà lo standard si limita alla sintassi ed al nome dei comandi poiché ogni DBMS parla un dialetto che si differenzia, sia pur minimamente, dagli altri.
Lo standard prevede tre diversi livelli del linguaggio caratterizzati da una complessità crescente: Entry SQL, Intermediate SQL e Full SQL. L’ obiettivo è quello di permettere lo sviluppo di implementazioni a stadi successivi che permettano quindi passare nel tempo dal livello Entry fino a quello Full.
1) Livello entry: costituisce un sotto insieme del livello intermediate (abbastanza simile a SQL-89).
2) Livello intermediate: costituisce un sotto insieme del livello full SQL e contiene le caratteristiche ritenute più importanti per rispondere alle esigenze del mercato (supportato dai DBMS commerciali).
3) Livello full: rappresenta lo standard SQL completo
Si può intendere che il primo sia il livello di compatibilità minima e l'ultimo rappresenti la compatibilità totale

Nessun commento:

Posta un commento