Torna all'elenco degli articoli Articoli
Tempo di lettura: 15 minuti

Perché ogni amministratore di database ha bisogno di SQL

Che cos'è un amministratore di database? Di cosa si occupa? Perché devono conoscere l'SQL e per cosa lo usano? In questo articolo risponderò a queste domande.

Con il progredire della tecnologia, sempre più dati sono disponibili per aiutare le organizzazioni a prendere decisioni informate. Non è possibile rimanere competitivi, o fornire un buon servizio ai clienti, senza le giuste informazioni.

Gli amministratori di database hanno la responsabilità di garantire che i dati giusti siano archiviati in modo sicuro, che siano facilmente accessibili a chi ne ha bisogno e che siano protetti da attacchi dannosi. Si tratta di un lavoro che non scomparirà nel prossimo futuro.

Lo strumento più importante nella cassetta di lavoro dell'amministratore di database è SQL, o Structured Query Language. Con l'SQL è possibile definire quali dati devono essere memorizzati, come saranno memorizzati e chi può accedervi. È possibile estrarre i dati, convertirli in un altro formato e spostarli in un'altra posizione. SQL consente di monitorare le prestazioni del database e di risolvere eventuali colli di bottiglia.

In breve, SQL consente di gestire i dati di un database in tutti i modi possibili.

Se volete saperne di più sui database e su come SQL vi permette di lavorare con essi, il corso LearnSQL.it di SQL per principianti è un ottimo punto di partenza. Imparerete cos'è un database, come memorizza le informazioni e come eseguire semplici query per estrarre e aggregare i dati. Il corso dura circa 10 ore e comprende oltre un centinaio di esercizi interattivi da completare nel browser. Alla fine del corso, saprete se vi piace lavorare con i database e se una carriera nell'amministrazione dei database è qualcosa che potreste voler intraprendere.

Cos'è l'SQL e perché gli amministratori di database ne hanno bisogno?

Negli anni '60, lo sviluppo di migliori tecniche di archiviazione dei dati ha permesso di immagazzinare grandi quantità di dati. Iniziarono a svilupparsi vari programmi per gestire questi dati e accedervi in modo rapido ed efficiente, e nacque il concetto di database.

Negli anni '70, la maggior parte del settore ha adottato una tecnologia nota come Sistema di gestione dei database relazionali (RDBMS). Questo è ancora oggi il metodo più diffuso di archiviazione dei dati, anche se alcuni database specializzati utilizzano strutture diverse orientate a esigenze specifiche. Per saperne di più sui database relazionali, talvolta noti come database SQL, si veda Cos'è un database SQL? Anche molti database basati su Cloud sono database relazionali.

Se volete saperne di più sui tipi di database utilizzati oggi, consultate il nostro articolo sui database più diffusi nel 2023.

SQL, sviluppato inizialmente da IBM, è diventato il linguaggio standard per la creazione, l'accesso e la gestione dei database relazionali. La definizione degli standard e delle revisioni di questo linguaggio è ora di competenza dell'ANSI (American National Standards Institute). Anche i più diffusi database non relazionali consentono di estrarre e gestire i dati con SQL, poiché è comodo e facile da usare.

L'SQL consiste in comandi di tipo inglese per eseguire operazioni relative ai database. Un comando SQL per estrarre i dati può essere simile a questo:

SELECT account_number, name, balance FROM customers ORDER BY account_number;

SQL ha comandi per:

  • Recuperare dati da un database.
  • Creare e modificare la struttura di database, tabelle e indici.
  • Inserire, aggiornare e cancellare dati.
  • concedere e revocare le autorizzazioni per controllare chi può accedere a quali dati
  • Aggiornare le statistiche utilizzate dall'RDBMS per decidere il modo migliore di trovare i dati.

La maggior parte dei sistemi RDBMS conserva molte informazioni sull'utilizzo del database nelle proprie tabelle di sistema. A queste si può accedere tramite SQL per monitorare e mettere a punto le prestazioni del database. Queste attività costituiscono la maggior parte del lavoro degli amministratori di database, quindi l'SQL è lo strumento che utilizzano più di ogni altro. Questo articolo fornisce maggiori informazioni sulle query SQL.

Cosa fa un amministratore di database?

L'amministratore di database è la persona che si assume la responsabilità dei dati archiviati da un'organizzazione. Si tratta di una posizione di grande responsabilità, perché dati accurati e facilmente accessibili sono essenziali per il successo di qualsiasi azienda. Le informazioni sono necessarie sia per le operazioni quotidiane, sia per i responsabili del marketing e delle decisioni per pianificare le loro strategie.

Vediamo alcuni dei compiti che compongono il lavoro di un amministratore di database.

Creare e modificare la struttura del database

I database relazionali sono costituiti da tabelle contenenti colonne e righe. Queste tabelle sono indicizzate per un accesso rapido e sono collegate tra loro tramite chiavi. Un database ha anche delle regole per garantire l'integrità dei dati: ad esempio, è possibile impostare una regola che stabilisce che il numero di conto inserito in una vendita deve esistere nella tabella. customer tabella.

L'amministratore del database utilizza SQL per creare queste strutture e adattarle in base alle mutevoli esigenze dell'organizzazione. Nelle organizzazioni medio-piccole, l'amministratore del database lavora con gli analisti di business e gli sviluppatori per progettare il database. Nelle organizzazioni molto grandi, questo compito viene svolto da un architetto di database, che molto probabilmente ha già avuto esperienze precedenti come amministratore di database.

Assegnazione dell'accesso agli utenti

In origine, solo il personale informatico aveva accesso ai database. Oggi non è più così. La tendenza alla democratizzazione dei dati - che rende i dati direttamente disponibili ai decisori - significa che un gran numero di persone ha bisogno di accedere ai dati. Per mantenere la riservatezza e l'integrità dei dati, è importante che solo gli utenti giusti abbiano il giusto tipo di accesso alle informazioni.

sql per l'amministratore di database

L'amministratore controlla chi può accedere a quale parte del database e se è autorizzato ad apportare modifiche. In un'organizzazione di piccole dimensioni, può essere l'amministratore del database a progettare le politiche di sicurezza, mentre in un'organizzazione di grandi dimensioni sarà un esperto di sicurezza del database ad assumersi questa responsabilità.

Backup, ripristino e archiviazione

L'amministratore del database deve progettare e implementare adeguate procedure di backup e ripristino per assicurarsi che i dati non vadano persi accidentalmente:

  • non possano essere persi accidentalmente
  • siano recuperabili in caso di danni dolosi.

Per le applicazioni critiche, si può implementare il mirroring dei dati; se un server si guasta, ne subentra automaticamente un altro. È inoltre importante disporre di processi di archiviazione ben progettati, in modo che i vecchi dati vengano spostati in un luogo in cui: 1) siano accessibili quando necessario, ma 2) non ingombrino il database e non ne compromettano le prestazioni.

Garantire le prestazioni di hardware e software

Gli amministratori di database sono di solito responsabili dell'esecuzione degli aggiornamenti e degli upgrade del software. Inoltre, si assicurano che l'hardware funzioni come dovrebbe, aggiungendo dischi rigidi, memoria o potenza di elaborazione supplementari se l'organizzazione supera la configurazione originale del computer.

Attività ETL

L'ETL (extract, transform, load) è il processo in cui i dati vengono spostati e riproposti per usi specifici. Un esempio è la manutenzione di un data warehouse. È buona norma avere un database operativo (che viene utilizzato nelle attività quotidiane, come la vendita o il pagamento di un creditore) insieme a un data warehouse.

Il data warehouse viene utilizzato per archiviare i dati per analizzare le tendenze e creare report; conserva anche i dati storici. Ogni database è ottimizzato per il proprio tipo di attività, quindi quando i dati vengono spostati nel magazzino, possono essere riassunti o privati di tutte le informazioni non storicamente significative.

Automatizzare i processi

Molte attività del database (come i backup, l'ETL, l'archiviazione e la creazione di report regolari) sono ripetitive e devono essere automatizzate. Un amministratore di database imposta questi processi e pianifica i lavori per eseguirli secondo le necessità.

Monitoraggio e ottimizzazione delle prestazioni

Con la crescita di un'organizzazione, aumentano anche il volume dei dati memorizzati e il numero di utenti che devono accedervi. Questo comporta problemi di prestazioni, quando l'accesso al database diventa lento. L'amministratore di database deve monitorare costantemente le prestazioni, identificare i colli di bottiglia e trovare il modo di correggere i problemi che si presentano.

SQL per gli amministratori di database

L'SQL è uno strumento versatile che può essere utilizzato per svolgere la maggior parte dei compiti dell'amministratore di database, anche se molti sistemi RDBMS hanno un'interfaccia guidata da menu. Anche quando è disponibile un menu, gli amministratori utilizzano spesso SQL. Questo strumento offre un maggiore controllo ed è facile automatizzare le attività ripetitive con gli script SQL e le stored procedure.

Vediamo alcuni dei modi in cui un amministratore di database può utilizzare l'SQL.

1. Creare la struttura del database

Sebbene questa operazione possa spesso essere eseguita tramite un menu, SQL ha il vantaggio di poter salvare e riutilizzare le istruzioni. Potreste creare le stesse strutture in un altro database o creare strutture simili per uno scopo diverso. SQL consente di farlo apportando poche modifiche allo script.

Esaminiamo una semplice istruzione SQL. Essa creerà una tabella chiamata customer che contiene l'ID del conto, il nome e il saldo di ogni cliente:

CREATE TABLE customer
(
account_id		char(10),
name			varchar(50),
balance		decimal(12,2)
);

Noterete che ho specificato un tipo di dati per ogni colonna (ad esempio char(10) per account_id); questo definisce il tipo di dati che verranno memorizzati in quella colonna. In questo esempio, la colonna può contenere qualsiasi carattere e sarà lunga 10 caratteri.

Se si volesse indicizzare la tabella su account_id, si potrebbe utilizzare questa istruzione SQL:

CREATE INDEX account_index ON customer(account_id);

SQL è in grado di svolgere molte altre operazioni amministrative in questo ambito, come ad esempio:

  • Modificare tabelle esistenti.
  • Impostare vincoli per mantenere l'integrità dei dati.
  • Creare viste per limitare agli utenti la visione dei soli dati rilevanti per il loro ruolo.

Se volete approfondire questo argomento, LearnSQL.it offre diversi corsi che insegnano a creare e mantenere strutture di database:

2. Gestire l'accesso degli utenti

Controllare quali utenti hanno accesso a quali dati è una parte importante del lavoro dell'amministratore. SQL consente di specificare che un utente può accedere a una particolare tabella in un determinato modo:

GRANT SELECT ON TABLE customer TO Fred;
GRANT UPDATE ON TABLE customer TO Charlie;

Questi comandi permettono a Charlie di aggiornare i clienti, ma Fred può solo estrarre informazioni da essi.

sql per l'amministratore di database

Se Charlie lascia l'azienda, è possibile rimuovere le sue autorizzazioni di accesso:

REVOKE UPDATE ON TABLE customer FROM Charlie;

3. Operazioni ETL

L'SQL è il modo più semplice per eseguire le operazioni ETL. Supponiamo di avere un database operativo contenente i dettagli di ogni vendita. Nel data warehouse volete anche una tabella che contenga aggregati per anno, mese, tipo di prodotto, tipo di cliente e località, che possano essere utilizzati dagli analisti dei dati per analizzare rapidamente le tendenze di diversi anni.

Il database operativo può contenere solo le vendite di quest'anno, ma voi volete che i dati analitici risalgano a quando l'azienda ha iniziato la sua attività.

Ogni mese si potrebbe eseguire un'istruzione SQL come quella che segue per estrarre, trasformare e caricare i dati nel data warehouse:

INSERT INTO warehouse.sales_history
SELECT
year(sale_date),
month(sale_date),
product_type,
customer_type,
location,
sum(items) AS num_sales,
sum(sales_value) AS total_value
FROM last_month_sales
GROUP BY year(sale_date), month(sale_date), product_type, customer_type, location;

4. Monitoraggio e ottimizzazione delle prestazioni

La maggior parte dei sistemi RDBMS mantiene tabelle di sistema. L'amministratore può usare SQL per interrogare queste tabelle e ottenere informazioni utili. Ad esempio, può rispondere alle domande

  • Cosa sta causando colli di bottiglia nelle prestazioni?
  • Ci sono utenti che si comportano in modo sospetto?
  • Lo spazio su disco è sufficiente?

Un esempio di comando SQL che può essere utilizzato per monitorare i dischi in SQL Server è il seguente:

SELECT * FROM sysalerts WHERE name = 'Disk Warning';

Gli amministratori possono anche utilizzare il comando SQL UPDATE STATISTICS per assicurarsi che il motore del database utilizzi statistiche ottimizzate quando decide come eseguire una query.

5. Automatizzare le attività

SQL dispone di due funzioni che possono essere utilizzate per automatizzare le attività:

  • Procedure memorizzate: Si tratta di elenchi memorizzati di comandi SQL che possono essere riutilizzati in qualsiasi momento.
  • Trigger: Si tratta di script SQL che vengono eseguiti automaticamente quando si verifica un determinato evento. Ad esempio, possono essere utilizzati per avvisare i gestori dei conti di una banca quando viene effettuato un prelievo insolitamente grande.

SQL vs NoSQL

Mi è stato chiesto se gli amministratori di database avranno ancora bisogno di SQL in futuro, dato che molte applicazioni utilizzano database NoSQL. La mia risposta è sì, sicuramente lo faranno.

Innanzitutto, il termine NoSQL genera una certa confusione, poiché molti pensano che un database NoSQL non utilizzi affatto SQL. In realtà, il termine è l'abbreviazione di Not Only SQL. I database NoSQL possono (e spesso lo fanno) consentire l'accesso tramite SQL, ma non sono limitati a SQL.

In secondo luogo, le grandi organizzazioni non si affidano a un unico database per tutto. Possono utilizzare un database NoSQL per accedere rapidamente a una gamma limitata di dati, come i dettagli dei prodotti da visualizzare su una pagina web. Allo stesso tempo, spesso utilizzano un database SQL per il data warehouse e un altro per le informazioni contabili e gestionali. Questo perché SQL è flessibile e veloce per gli usi analitici. Inoltre, si integra con molti strumenti di analisi e visualizzazione dei dati, come Tableau e Power BI.

Anche se la vostra organizzazione utilizza esclusivamente un database NoSQL, vale comunque la pena di imparare l'SQL:

  • SQL è di gran lunga il linguaggio di gestione dei database più facile da imparare. Tutti i database hanno molti concetti in comune; imparando SQL, è possibile acquisire rapidamente una buona comprensione delle attività di gestione dei database. Questo vi aiuterà quando imparerete a gestire i database NoSQL.
  • È molto probabile che la vostra organizzazione, man mano che cresce, faccia uso di database SQL e di database NoSQL.
  • Se cambiate datore di lavoro, avrete competenze molto richieste che potranno essere utilizzate nella vostra futura carriera. L'SQL è compatibile con quasi tutti i principali database, quindi non sarete limitati nella ricerca di lavoro.

Sebbene alcuni database utilizzino altri linguaggi per svolgere attività legate ai database, questi sono spesso complessi e difficili da imparare. Confrontiamo una semplice query in SQL con la stessa query in MongoDB. Supponiamo di voler ottenere un elenco di clienti di New York che hanno speso più di 10.000 dollari il mese scorso.

In MongoDB, il comando appare come questo:

db.customer.find({city: "New York", {last_month_purchases: {$gt: 10000}}})	

In SQL, il comando sarebbe:

SELECT * from customer WHERE city = 'New York" and last_month_purchases > 10000;

SQL ha anche il vantaggio di un ampio supporto da parte della comunità. Se non sapete come fare qualcosa, è molto probabile che ci siano esempi in vari forum e gruppi di supporto che vi aiuteranno.

Quindi, anche se il NoSQL ha il suo posto, è essenziale che un amministratore di database abbia eccellenti competenze in SQL.

Sebbene il linguaggio SQL esista da quasi 50 anni, continua a mantenere il suo posto in un mondo in continua evoluzione. Come la ruota, è una grande invenzione che difficilmente diventerà obsoleta. È semplice da usare e fa il suo lavoro. Questo non significa che SQL non si evolva con i tempi: lo fa eccome.

  • Di tanto in tanto vengono aggiunte nuove funzionalità in base alle esigenze.
  • Un numero crescente di strumenti di analisi e gestione dei dati si integra con SQL.
  • I fornitori di cloud storage come Google includono la possibilità di utilizzare SQL per gestire ed estrarre i dati.

Per saperne di più sul futuro di SQL, consultate il nostro blog. Per ora, torniamo al percorso di carriera dell'amministratore di database. È possibile guadagnarsi da vivere facendo l'amministratore di database?

Opportunità di carriera nell'amministrazione di database

Questo è un lavoro che non sarà sostituito dall'intelligenza artificiale! Poiché l'intelligenza artificiale richiede grandi quantità di dati per prendere decisioni, non può che aumentare la domanda di amministratori per gestire tali dati.

Il Bureau of Labor Statistics (BLS) statunitense prevede un tasso di crescita superiore alla media dell'8% per gli amministratori di database.

La stessa organizzazione pubblica le statistiche relative ai guadagni degli amministratori di database nel 2022. Secondo il loro sito web, lo stipendio medio annuo è di circa 102.000 dollari USA, con un minimo di circa 50.000 dollari e un massimo di 150.000 dollari.

Opportunità di crescita professionale

L'esperienza come amministratore di database è indispensabile per progredire nella carriera in settori quali:

  • Architetto di database. Questo lavoro comporta la pianificazione e l'implementazione di politiche di archiviazione e gestione dei dati per le grandi organizzazioni. Secondo il BLS, la fascia di retribuzione per questo lavoro va da 75.000 a 197.000 dollari USA.
  • Analista della sicurezza informatica. Questo lavoro prevede la pianificazione e l'implementazione di politiche di sicurezza per i dati aziendali. Il BLS indica una fascia salariale compresa tra 66.000 e 175.000 dollari.

Per ulteriori informazioni, leggete questo articolo sui lavori legati ai database e questo sul futuro dei lavori di ingegneria dei dati.

sql per l'amministratore di database

Mantenere aggiornate le competenze di amministratore di database

Poiché la tecnologia dell'informazione è un campo in rapida evoluzione, gli amministratori di database devono tenersi costantemente al passo con le tendenze, le innovazioni e le competenze attuali.

Ecco alcuni suggerimenti per essere sicuri di non rimanere indietro nella vostra carriera.

  • Tenete d'occhio tutte le notizie relative a SQL pubblicate dall'ANSI.
  • Il blog di ANSI pubblica regolarmente articoli informativi su argomenti relativi a SQL.
  • Leggete libri e articoli sui database. Ecco alcuni buoni consigli per i libri.
  • Se siete davvero intenzionati a fare carriera, potreste acquistare il pacchetto LearnSQL.it 'Tutto per Sempre'. Questo non solo vi darà accesso a vita a tutti i nostri corsi esistenti, ma anche a tutti i corsi su SQL che svilupperemo in futuro. Poiché aggiorniamo continuamente i nostri corsi e ne aggiungiamo di nuovi per stare al passo con le ultime tecnologie, sarete in grado di apprendere nuove competenze man mano che SQL e i database relazionali si evolvono.

Fai il primo passo per diventare un amministratore di database

Quella di amministratore di database è una grande carriera. Offre molte opportunità e contribuisce alla crescita del settore informatico.

Se pensate di essere interessati all'amministrazione di database, è una buona idea iniziare ad acquisire alcune competenze in SQL, che non solo vi aiuteranno nella vostra carriera, ma vi permetteranno anche di capire meglio cosa comporta l'amministrazione di database e se vi piace lavorare con i database.

Ecco alcuni suggerimenti per i corsi:

  • SQL per principianti Corso. Questo corso è rivolto ai principianti e insegna a conoscere i database e a estrarre informazioni da essi.
  • Creazione della struttura del database. Questo percorso di apprendimento insegna importanti abilità di amministrazione, tra cui come creare e modificare database, tabelle, indici e vincoli.
  • SQL dalla A alla Z. Questo percorso di apprendimento vi porta dal principiante all'esperto di SQL.

Per essere sempre all'avanguardia, iniziate oggi stesso a imparare l'SQL!