0 valutazioniIl 0% ha trovato utile questo documento (0 voti)
292 visualizzazioni
SQL - m1 Storia e Standard
Questo documento introduce SQL come linguaggio per l'interrogazione e la gestione di dati memorizzati in strutture relazionali. Descrive le principali caratteristiche di SQL e i tipi di dati standard supportati.
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
0 valutazioniIl 0% ha trovato utile questo documento (0 voti)
292 visualizzazioni
SQL - m1 Storia e Standard
Questo documento introduce SQL come linguaggio per l'interrogazione e la gestione di dati memorizzati in strutture relazionali. Descrive le principali caratteristiche di SQL e i tipi di dati standard supportati.
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Sei sulla pagina 1/ 3
Bocchi Cinzia
Ultimo aggiornamento: 22/09/2014
1 Introduzione a SQL
SQL 1 (Structured Query Language) un linguaggio sviluppato per trattare informazioni memorizzate in strutture dati che seguono il modello relazionale. SQL comprende comandi per: - la definizione dei dati; - il controllo per lintegrit dei dati; - la lettura, linserimento, la modifica e la cancellazione dei dati; - il controllo dellaccesso ai dati da parte dellutente.
Il linguaggio SQL, che inizialmente si chiamava SEQUEL, nasce nei laboratori dellIBM (International Business Machines Corporation) nel 1974, ad opera degli informatici Donald Chamberlin e Raymond Boyce. Le prime implementazioni su DBMS relazionali si hanno intorno al 1981.
A partire dal 1986, l'ANSI 2 e poi lISO 3 lo adottano come standard, senza apportare modifiche sostanziali alla versione originale. Negli anni successivi sono state realizzate numerose altre versioni 4 . Il processo di standardizzazione mirava alla creazione di un linguaggio che funzionasse su tutti i DBMS relazionali, ma questo obiettivo non stato raggiunto pienamente. Infatti, i sistemi commerciali attualmente in uso seguono le specifiche dello standard ad un livello minimo, definito come Entry Level dallANSI 5 e spesso offrono funzionalit aggiuntive che non sono specificate nello standard e dipendono quindi dal sistema usato.
Caratteristiche del linguaggio SQL segue il paradigma dichiarativo; in altri termini, le istruzioni del linguaggio descrivono lobiettivo che si intende raggiungere senza, per, indicare come ottenerlo. I comandi SQL previsti dallo standard sono divisi in quattro gruppi fondamentali: DDL (Data Definition Language): comandi per la definizione della struttura dei dati e delle regole di integrit. DML (Data Manipulation Language): comandi per estrarre, inserire, modificare e cancellare i dati. DCL (Data Control Language): comandi per definire i privilegi degli utenti e per proteggere i dati da accessi non autorizzati. Query Language: comandi per effettuare interrogazioni sui dati.
SQL pu essere utilizzato in due modi : - in maniera interattiva; - in maniera programmatica. Nel primo caso lutente inserisce i comandi SQL a terminale, ottenendo una risposta immediata sullo schermo. Nel secondo caso i comandi SQL vengono incorporati (embed) allinterno di un linguaggio di programmazione ospitante (host language).
1 La corretta pronuncia nellAlfabeto Fonetico Internazionale (IPA) [| s| kju| l], quella informale [| si| kwl]. 2 American National Standards. 3 International Organization for Standardization. 4 http://en.wikipedia.org/wiki/SQL#Standardization 5 Esistono altri due livelli: Intermediate e Full.
Bocchi Cinzia Ultimo aggiornamento: 22/09/2014 2
Implementazioni Un elenco delle principali implementazioni di SQL. RDBMS Produttore/Licenza Tipologia di SW Note Oracle Oracle Corporation proprietario scritto in C Oracle Database XE Oracle Corporation free orientato a studenti e sviluppatori MySQL Oracle Corporation open source e free ( Licenza GNU GPL 6 ) http://www.mysql.com/ DB2 IBM proprietario scritto in C e C++ DB2 Express-C IBM free orientato a piccole aziende e sviluppatori Informix IBM proprietario sviluppato originariamente da Informix Corporation Access Microsoft proprietario MSSQL Server Microsoft proprietario usa una variante del linguaggio SQL standard chiamata Transact-SQL (T-SQL) Firebird SQL Firebird Foundation open source e free (Licenza IDPL 7 ) http://www.firebirdsql.org/ PostrgreSQL PostgreSQL Development Group open source e free (Licenza BSD) un RDBMS a oggetti (ORDBMS) http://www.postgresql.org/
Un caso particolare: SQLite SQLite una libreria scritta in linguaggio C che implementa un RDBMS (con alcune limitazioni). Di conseguenza, per essere utilizzato, deve essere incorporato allinterno di un altro programma. Il suo creatore, D. Richard Hipp, ha rilasciato SQLite nel pubblico dominio, rendendolo quindi utilizzabile senza alcuna restrizione. SQLite integrato nella versione 5 di PHP, viene utilizzato, tra gli altri, in Mozilla Firefox, in Adobe Reader e in Skype. Grazie alle ridotte dimensioni SQLite particolarmente adatto ai sistemi embedded e ai dispositivi mobili. Il sito ufficiale si trova allurl http://www.sqlite.org/.
6 GNU General Public License o semplicemente GPL. 7 Initial Developer's Public License
Bocchi Cinzia Ultimo aggiornamento: 22/09/2014 3 Tipi di dati standard I tipi di dati standard di SQL possono essere suddivisi in quattro categorie: booleani e binari, alfanumerici, numerici, date e ore. La seguente tabella elenca i principali tipi di dati standard fornendo anche la sintassi e una descrizione per ciascuno di essi.
Tipo Sintassi Descrizione booleano bit Pu assumere solo i valori 0 (false) oppure 1 (true). binario bit(x) Una sequenza di bit di lunghezza x. bit varying(x) Una sequenza di bit di lunghezza variabile ma non superiore a x. numerico smallint Intero con segno a 16 bit. integer Intero con segno a 32 bit. real Floating point a 32 bit. double precision Floating point a 64 bit. numeric(p,s) Numero di precisione p e scala s. La precisione p indica il numero complessivo di cifre mentre s indica il numero di cifre della parte decimale. Per esempio numeric(6,2) un numero che ha 4 cifre nella parte intera e 2 nella parte decimale. E utilizzato per i valori che rappresentano valute. decimal(p,s) Come numeric(p,s). float(p) Floating point di precisione p. alfanumerico char(n) Stringa di lunghezza n. Se la stringa ha lunghezza inferiore a n vengono aggiunti spazi alla sua destra, fino ad arrivare alla lunghezza desiderata. varchar(n) Stringa di lunghezza massima n. Se la stringa ha lunghezza inferiore a n non vengono aggiunti spazi alla sua destra. data e ora date Data espressa con anno, mese e giorno. time Ora espressa in ore, minuti e secondi. timestamp Specifica lora e la data e pu includere il fuso orario (time zone).
Quest'opera stata rilasciata con licenza Creative Commons Attribution-ShareAlike 3.0 Unported. Per leggere una copia della licenza visita il sito web http://creativecommons.org/licenses/by-sa/3.0/ o spedisci una lettera a Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.