Structured Query Language: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Botcrux (discussione | contributi)
m Bot, replaced: Tipo di dato (database) → Tipo di dato (basi di dati) (5)
Riga 8:
|autore = [[Donald Chamberlin]]
|data = [[1974]]
|versione = SQL:2011<br />([[2011]])
|utilizzo = [[query language|linguaggio di interrogazione]] per [[database]]
|paradigmi = multiparadigma
Riga 141:
=== Operatori logici ===
 
Gli operatori logici di SQL appartengono agli operatori logici [[logica booleana|booleani]] e sono [[Congiunzione logica|AND]] (e), [[Disgiunzione_logicaDisgiunzione logica|OR]] (o, oppure), [[Contraddizione|NOT]] (non), [[Disgiunzione esclusiva|XOR]] (detto anche "OR esclusivo"). <br />
L'operatore logico '''AND''', che lega due condizioni, restituisce il valore TRUE se e solo se entrambi gli operandi sono veri. <br />
L'operatore logico '''OR''', che lega due condizioni, restituisce TRUE se e solo se almeno uno degli operandi è vero. <br />
L'operatore '''NOT''' accetta un solo operando e restituisce il valore inverso: falso se questo è vero, verso se questo è falso.<br />
L'operatore '''XOR''', che accetta due condizioni, restituisce TRUE se e solo se uno solo degli operandi è vero.<br />
 
=== Operatori tra bit ===
Riga 163:
=== Domini Elementari ===
SQL mette a disposizione sei famiglie di domini elementari a partire dai quali si possono definire i domini da associare agli attributi dello schema.<br />
[[Tipo di dato (databasebasi di dati)|Tipo di dato]]
 
== DML: Manipolazione dei dati ==
Riga 169:
 
=== Insert ===
Il comando ha la funzione di inserire i dati nelle [[tabella (databasebasi di dati)|tabelle]].
 
Le [[colonna (databasebasi di dati)|colonne]] (o campi) di destinazione dei valori possono essere o meno dichiarate nel comando. Se non vengono dichiarate, è necessario passare al comando un valore per ogni colonna della tabella, rispettando rigorosamente l'ordine delle colonne stesse. Se, invece, le colonne di destinazione vengono dichiarate, è possibile indicare le sole colonne per le quali vengono passati dei valori, purché vengano inseriti comunque i valori per tutte le colonne ''not null'' (che non possono essere nulle) della tabella.
 
Di per sé il comando insert opera inserendo in tabella una sola riga per volta. È possibile, però, inserire più di una riga "in modo automatico" passando all'insert una serie di righe (o tuple) risultanti da un comando di select, purché tali righe siano compatibili con le colonne della tabella su cui si inseriscono i dati.
Riga 315:
Questa ''query'' estrae l'elenco di tutti gli utenti maggiorenni ordinando l'output in base al cognome.
La definizione di ''select'' è comunque molto più ampia, prevede molte altre opzioni ma in linea di massima con queste opzioni si compongono la maggior parte delle interrogazioni.
 
 
<source lang="sql">
Line 331 ⟶ 330:
questo produce dati estratti ma anche dati calcolati.
La clausola AS serve per dare un nome alla nuova colonna nella nuova tabella che creerà la select.
 
 
Molti DBMS supportano la clausola non standard LIMIT, che deve essere posta per ultima e può avere tre forme:
Line 391 ⟶ 389:
 
== Stored Programs ==
Con il termine Stored Programs, o Business Logic, si intendono quelle routine programmate in SQL, con le estensioni procedurali che permettono il controllo del flusso, i [[Loop_Loop (informatica)|cicli]], i [[Cursori_Cursori (databasebasi di dati)|cursori]] e la gestione degli errori. Nelle implementazioni più complete di SQL, gli Stored Program possono essere di diversi tipi:
* [[Stored procedure|Stored Procedure]]
* Stored Function
* [[Trigger_Trigger (databasebasi di dati)|Trigger]]
 
Inoltre alcuni DBMS, come MySQL, permettono di creare procedure SQL che vengono eseguite a una data ora una sola volta, oppure ripetutamente a un certo intervallo temporale, come i Cron Job dei sistemi Unix.
Line 440 ⟶ 438:
{{Principali linguaggi di programmazione}}
{{portale|informatica}}
 
[[Categoria:Linguaggi di interrogazione]]