SQL, che sta per Structured Query Language, è un linguaggio per interagire, in origine, con i dati memorizzati in un database relazionale utilizzato ad oggi molto spesso anche per i database non relazionali.
SQL è un linguaggio standard che è stato progettato per interrogare e gestire i dati nei sistemi di gestione di database
relazionali (RDBMS). Un RDBMS è un sistema di gestione di database basato sul modello relazionale (un modello semantico
per che a sua volta si basa su due rami matematici: la teoria degli insiemi e la logica dei predicati. Molti altri
linguaggi di programmazione e vari aspetti dell'informatica si sono evoluti praticamente grazie all'intuizione. Nella
misura in cui l'SQL è basato sul modello relazionale, esso si basa su una matematica applicata alla base fi rm. Il T-SQL
sta su queste spalle molto ampie e solide. Microsoft fornisce T-SQL come dialetto o estensione di SQL in Microsoft SQL
Server, il suo RDBMS.
Questa sezione fornisce un breve background teorico sull'SQL, la teoria degli insiemi e la logica dei predicati, il
modello relazionale e il ciclo di vita dei dati. Poiché questo libro non è né un libro di matematica né un libro di
design/modellazione dei dati, le informazioni teoriche qui fornite sono informali e non sono affatto complete.
L'obiettivo è quello di fornire un contesto per il linguaggio T-SQL e di fornire i punti chiave che sono parte
integrante della corretta comprensione del T-SQL in seguito nel libro.
Si può pensare a un database relazionale come a una raccolta di tabelle. Una tabella è solo un insieme di righe e colonne, come un foglio di calcolo, che rappresenta esattamente un tipo di entità. Per esempio, una tabella può rappresentare i dipendenti di un'azienda o gli acquisti effettuati, ma non entrambi.
Ogni riga, o record, di una tabella contiene informazioni su una singola entità. Per esempio, in una tabella che rappresenta gli impiegati, ogni riga rappresenta una singola persona. Ogni colonna, o campo, di una tabella contiene un singolo attributo per tutte le righe della tabella. Per esempio, in una tabella che rappresenta gli impiegati, potremmo avere una colonna contenente nome e cognome per tutti gli impiegati.
Mentre l'SQL può essere usato per creare e modificare i database, il primo focus di questo articolo sarà l'interrogazione dei database. Una query è una richiesta di dati da una tabella di database (o una combinazione di tabelle). L'interrogazione è un'abilità essenziale per un Data Scientist, poiché i dati necessari per le analisi spesso sono in database.
In SQL, è possibile selezionare i dati da una tabella utilizzando un'istruzione SELECT. Ad esempio, la seguente query seleziona una colonna da una tabella del dataset:
SELECT nome_variabile
FROM tabella;
Per renderla più chiara si può scrivere anche a capo (maiuscole e minuscole sono a piacere):
SELECT
nome_variabile
FROM
tabella;
In questa query, SELECT e FROM sono chiamate keywords.
In SQL, le parole chiave non sono case-sensitive, il che significa che si possono
scrivere sia in minuscolo che in maiuscolo (è buona abitudine scrivere le
parole chiave SQL maiuscole per distinguerle da altre parti della query, come i
nomi delle colonne e delle tabelle).
Per selezionare più colonne da una tabella, basta separare i
nomi delle colonne con delle virgole:
SELECT
nome_variabile1,
nome_variabile2
FROM
tabella;
A volte, è possibile che sia utile selezionare tutte le
colonne da una tabella. Digitare il nome di ogni colonna sarebbe un problema,
quindi c'è una comoda scorciatoia:
Se si desidera restituire solo un certo numero di risultati,
è possibile utilizzare la parola chiave LIMIT per limitare il numero di righe
restituite:
SELECT TOP 6 *
FROM tabella;
In alcuni casi anche:
SELECT *
FROM tabella
LIMIT 6;