# Informatica 3 Liceo Scientifico Scienze Applicate/Linguaggio SQL

Informatica 3 Liceo Scientifico Scienze Applicate
Copertina Tutti i moduli · Sviluppo
    CopertinaInformatica 3 Liceo Scientifico Scienze Applicate/Copertina
* I DataBaseInformatica 3 Liceo Scientifico Scienze Applicate/I DataBase
* Modelli di DatabaseInformatica 3 Liceo Scientifico Scienze Applicate/Modelli di Database
* Progettare un database relazionaleInformatica 3 Liceo Scientifico Scienze Applicate/Progettare un database relazionale
* Modello ERInformatica 3 Liceo Scientifico Scienze Applicate/Modello ER
* Modello RelazionaleInformatica 3 Liceo Scientifico Scienze Applicate/Modello Relazionale
** Es Concessionaria MotoInformatica 3 Liceo Scientifico Scienze Applicate/Es Concessionaria Moto
** Es Agenzia ImmobiliareInformatica 3 Liceo Scientifico Scienze Applicate/Es Agenzia Immobiliare
** Es Mercato del Pesce
** Es1 PrenotazioneVaporettoInformatica 3 Liceo Scientifico Scienze Applicate/Es1 PrenotazioneVaporetto
** Es2 InterrogazioniPianificateInformatica 3 Liceo Scientifico Scienze Applicate/Es2 InterrogazioniPianificate
** Es2 TaglioFashionInformatica 3 Liceo Scientifico Scienze Applicate/Es2 TaglioFashion
* Forme Normali Integrità ReferenzialeInformatica 3 Liceo Scientifico Scienze Applicate/Forme Normali Integrità Referenziale
* Linguaggio SQLInformatica 3 Liceo Scientifico Scienze Applicate/Linguaggio SQL
** Query tramite SELECTInformatica 3 Liceo Scientifico Scienze Applicate/Query tramite SELECT
** SubQuery e Group ByInformatica 3 Liceo Scientifico Scienze Applicate/SubQuery e Group By
** Comandi SQL per creare tabelleInformatica 3 Liceo Scientifico Scienze Applicate/Comandi SQL per creare tabelle
** Comandi SQL per inserire datiInformatica 3 Liceo Scientifico Scienze Applicate/Comandi SQL per inserire dati
* Compito1Informatica 3 Liceo Scientifico Scienze Applicate/Compito1
* Compito2Informatica 3 Liceo Scientifico Scienze Applicate/Compito2
* Compito3
* HTMLInformatica 3 Liceo Scientifico Scienze Applicate/HTML
** HTML tag
** HTML formInformatica 3 Liceo Scientifico Scienze Applicate/HTML form
* Mysql e EasyPhpInformatica 3 Liceo Scientifico Scienze Applicate/Mysql e EasyPhp
* MySQL WorkbenchInformatica 3 Liceo Scientifico Scienze Applicate/MySQL Workbench
* PHPInformatica 3 Liceo Scientifico Scienze Applicate/PHP
* PHP tabellaInformatica 3 Liceo Scientifico Scienze Applicate/PHP tabella
* PHP Es. ProgettiInformatica 3 Liceo Scientifico Scienze Applicate/PHP Es. Progetti
** Spiegazione Uso FormsInformatica 3 Liceo Scientifico Scienze Applicate/Spiegazione Uso Forms
** Spiegazione Uso Mysql
** Programmi UtilizzatiInformatica 3 Liceo Scientifico Scienze Applicate/Programmi Utilizzati
** Schema CollegamentiInformatica 3 Liceo Scientifico Scienze Applicate/Schema Collegamenti
** Database ImpiegatoInformatica 3 Liceo Scientifico Scienze Applicate/Database Impiegato
** Modulo CapoProgettoInformatica 3 Liceo Scientifico Scienze Applicate/Modulo CapoProgetto
** Modulo CredenzialiInformatica 3 Liceo Scientifico Scienze Applicate/Modulo Credenziali
** Modulo ProgettiInformatica 3 Liceo Scientifico Scienze Applicate/Modulo Progetti
** Modulo Visualizza ProgettiInformatica 3 Liceo Scientifico Scienze Applicate/Modulo Visualizza Progetti
** CSS pag1 ProgettoInformatica 3 Liceo Scientifico Scienze Applicate/CSS pag1 Progetto
** CSS pag2 ProgettoInformatica 3 Liceo Scientifico Scienze Applicate/CSS pag2 Progetto
** CSS pag3 ProgettoInformatica 3 Liceo Scientifico Scienze Applicate/CSS pag3 Progetto
** CSS pag4 ProgettoInformatica 3 Liceo Scientifico Scienze Applicate/CSS pag4 Progetto
** Realizzazione SitoInformatica 3 Liceo Scientifico Scienze Applicate/Realizzazione Sito
* CSS
** Posizionamento CSSInformatica 3 Liceo Scientifico Scienze Applicate/Posizionamento CSS
Modifica il sommario

## Il linguaggio SQL

Tutti i database relazionali supportano il linguaggio SQL (Structured Query Language)che permette di creare il database, modificarne la struttura (nuove tabelle o colonne etc), inserire/cancella e modificare i dati contenuti e di poter interrogare il database per estrarre le informazioni che ci interessano.
Esiste una base comune del linguaggio SQL, supportata da tutti i database, con delle possibili estensioni che sono invece del particolare database scelto.
L'SQL nasce nel 1974 ad opera di Donald Chamberlin, nei laboratori dell'IBM. Nasce come strumento per lavorare con database che seguano il modello relazionale. A quel tempo però si chiamava SEQUEL (la corretta pronuncia IPA è [ˈɛsˈkjuˈɛl], quella informale [ˈsiːkwəl]). Nel 1975 viene sviluppato un prototipo chiamato SEQUEL-XRM; con esso si eseguirono sperimentazioni che portarono, nel 1977, a una nuova versione del linguaggio, che inizialmente avrebbe dovuto chiamarsi SEQUEL/2 ma che poi divenne, per motivi legali, SQL. Su di esso si sviluppò il prototipo System R, che venne utilizzato da IBM per usi interni e per alcuni suoi clienti. Ma, dato il suo successo, anche altre società iniziarono subito a sviluppare prodotti basati su SQL. Nel 1981 IBM iniziò a vendere alcuni prodotti relazionali e nel 1983 rilasciò DB2, il suo DBMS relazionale diffuso ancor oggi 2015. SQL divenne subito lo standard industriale per i software che utilizzano il modello relazionale.
L'ANSI lo adottò come standard fin dal 1986, senza apportare modifiche sostanziali alla versione inizialmente sviluppata da IBM. Nel 1987 la ISO fece lo stesso. Questa prima versione standard è denominata SQL/86. 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 (Data Base Management Systems) relazionali, ma questo obiettivo non fu raggiunto. Infatti, i vari produttori implementarono il linguaggio con numerose variazioni e, in pratica, adottarono gli standard ad un livello non superiore al minimo, definito dall'Ansi come Entry Level.
Originariamente progettato come linguaggio di tipo dichiarativo, si è successivamente evoluto con l'introduzione di costrutti procedurali, istruzioni per il controllo di flusso, tipi di dati definiti dall'utente e varie altre estensioni del linguaggio.
Essendo un linguaggio dichiarativo, SQL non richiede la stesura di sequenze di operazioni (come ad es. i Linguaggi imperativi), piuttosto di specificare le proprietà logiche delle informazioni ricercate. Esso si divide in:
Noi incominciamo a studiare il comando per poter interrogare (query) il nostro database, il comando e' l'istruzione SELECT che ha molte opzioni, la sua struttura sintattica e' la seguente