Seguici su Telegram, ne vale la pena ❤️ ➡ @trovalost
Vai al contenuto

Come scrivere le query SQL in Access (guida base)

Parliamo di SQL e della sintassi specifica di Microsoft Access. SQL (Structured Query Language) è un linguaggio utilizzato per gestire e manipolare database relazionali, mentre Microsoft Access è un sistema di gestione di database relazionali (RDBMS) sviluppato da Microsoft che utilizza SQL come linguaggio di query. Di seguito, ti fornirò alcune informazioni sulla sintassi SQL in Microsoft Access.

  1. SELECT: La clausola SELECT viene utilizzata per recuperare dati da una tabella o tabelle specifiche. Ecco un esempio:
sql
SELECT campo1, campo2
FROM tabella
WHERE condizione;
  1. FROM: La clausola FROM specifica la tabella o le tabelle da cui recuperare i dati.
  2. WHERE: La clausola WHERE viene utilizzata per filtrare i dati in base a una condizione specifica. Ad esempio:
sql
WHERE campo = valore
  1. JOIN: Per unire più tabelle in una query, puoi utilizzare le clausole INNER JOIN, LEFT JOIN, RIGHT JOIN, o FULL JOIN, a seconda delle tue esigenze. Ad esempio:
sql
SELECT t1.campo1, t2.campo2
FROM tabella1 AS t1
INNER JOIN tabella2 AS t2
ON t1.campo_corrispondente = t2.campo_corrispondente;
  1. ORDER BY: Per ordinare i risultati in base a una o più colonne, puoi utilizzare la clausola ORDER BY. Esempio:
sql
ORDER BY campo ASC; -- Ordine ascendente
ORDER BY campo DESC; -- Ordine discendente
  1. GROUP BY: Se desideri raggruppare i dati in base ai valori di una colonna, puoi utilizzare GROUP BY. Ad esempio:
sql
SELECT campo, COUNT(*)
FROM tabella
GROUP BY campo;
  1. INSERT INTO: Per inserire dati in una tabella, puoi utilizzare l’istruzione INSERT INTO. Esempio:
sql
INSERT INTO tabella (campo1, campo2)
VALUES (valore1, valore2);
  1. UPDATE: Per modificare i dati esistenti in una tabella, puoi utilizzare l’istruzione UPDATE. Esempio:
sql
UPDATE tabella
SET campo = nuovo_valore
WHERE condizione;
  1. DELETE: Per eliminare dati da una tabella, puoi utilizzare l’istruzione DELETE. Esempio:
sql
DELETE FROM tabella
WHERE condizione;
  1. CREATE TABLE: Per creare una nuova tabella nel database, puoi utilizzare l’istruzione CREATE TABLE. Esempio:
sql
CREATE TABLE nome_tabella (
campo1 tipo_dati,
campo2 tipo_dati,
...
);

Questi sono solo alcuni esempi delle diverse istruzioni SQL che è possibile utilizzare in Microsoft Access. La sintassi specifica può variare leggermente da un RDBMS all’altro, quindi è importante consultare la documentazione di Microsoft Access per ulteriori dettagli e considerare le peculiarità del sistema in uso.

Uso di chiavi primarie e chiavi esterne

Supponiamo di dover creare un database per gestire le informazioni sui dipendenti di un’azienda. Ogni dipendente ha un record con le seguenti informazioni:

  • Codice dipendente (PK): Un numero univoco per ogni dipendente.
  • Nome: Il nome del dipendente.
  • Dipartimento: Il dipartimento in cui lavora il dipendente.
  • Responsabile (FK): Il codice dipendente del responsabile del dipendente (chiave esterna).

Obiettivo:

Creare le tabelle necessarie e inserire alcuni dati di esempio. Assicurarsi che la chiave primaria e la chiave esterna siano utilizzate correttamente. Faremo uso di una tabella Dipendenti che referenzia esternamente (chiave esterna) se stessa, mentre la chiave primaria della tabella Dipendenti sarà il CodiceDipendente. In questo modo possiamo rappresentare una relazione tra il dipendente Francesco che è anche responsabile, ad esempio, del dipendente Paolo e del dipendente Giovanni.

Nella pratica i dati nella tabella saranno, per intenderci:

Dipendenti
---
(100, "Francesco", "Vendite", 0*)  # 0 significa che non ha responsabili
(101, "Paolo", "Vendite", 100*)    # 100 significa che ha Francesco come responsabile
(102, "Giovanni", "Vendite", 100*) # 100, anche qui, significa che ha Francesco come responsabile

Soluzione

-- Creiamo la tabella 'Dipendenti'
CREATE TABLE Dipendenti (
CodiceDipendente INT PRIMARY KEY,
Nome VARCHAR(50),
Dipartimento VARCHAR(50),
Responsabile INT,
FOREIGN KEY (Responsabile) REFERENCES Dipendenti(CodiceDipendente)
);

-- Inseriamo alcuni dati di esempio
INSERT INTO Dipendenti (CodiceDipendente, Nome, Dipartimento, Responsabile)
VALUES
(1, 'Mario Rossi', 'Vendite', NULL), -- Mario Rossi non ha un responsabile
(2, 'Anna Bianchi', 'Vendite', 1), -- Anna Bianchi lavora in Vendite e il suo responsabile è Mario Rossi
(3, 'Luigi Verdi', 'Amministrazione', NULL), -- Luigi Verdi non ha un responsabile
(4, 'Giovanna Neri', 'Amministrazione', 3); -- Giovanna Neri lavora in Amministrazione e il suo responsabile è Luigi Verdi

-- Selezioniamo i dati dei dipendenti con i nomi dei loro responsabili
SELECT D1.Nome AS NomeDipendente, D1.Dipartimento AS DipartimentoDipendente, D2.Nome AS NomeResponsabile
FROM Dipendenti AS D1 LEFT JOIN Dipendenti AS D2 ON D1.Responsabile = D2.CodiceDipendente;

In questo esercizio:

  • Abbiamo creato una tabella chiamata ‘Dipendenti’ con un campo chiave primaria ‘CodiceDipendente’.
  • La chiave esterna ‘Responsabile’ fa riferimento alla chiave primaria ‘CodiceDipendente’ nella stessa tabella, consentendo di identificare i responsabili di ciascun dipendente.
  • Abbiamo inserito dati di esempio per quattro dipendenti, assegnando responsabili quando necessario.
  • Infine, abbiamo eseguito una query che estrae il nome e il dipartimento di ciascun dipendente insieme al nome del loro responsabile (se presente), utilizzando una join tra la tabella ‘Dipendenti’ e se stessa.

Questo esercizio dimostra l’uso delle chiavi primarie (PK) e delle chiavi esterne (FK) per stabilire relazioni tra le entità e gestire i dati dei dipendenti in un contesto gestionale.

Schema E/R (cenni)

Lo schema E/R per la tabella ‘Dipendenti’ sarebbe rappresentato come segue:

  1. Entità ‘Dipendente’:
    • Attributi:
      • CodiceDipendente (Chiave Primaria)
      • Nome
      • Dipartimento
      • Responsabile (Chiave Esterna che fa riferimento a CodiceDipendente)
  2. Relazione ‘Riporta a’ (tra l’entità ‘Dipendente’ e se stessa):
    • Questa relazione indica il rapporto di responsabilità tra i dipendenti e i loro responsabili.
    • Chiave esterna: Responsabile (fa riferimento a CodiceDipendente nella stessa entità ‘Dipendente’)

Lo schema E/R sopra rappresenta in modo conciso la struttura della tabella ‘Dipendenti’ e come i dipendenti sono collegati tramite la chiave esterna ‘Responsabile’ per identificare i responsabili dei dipendenti. Puoi creare uno schema E/R grafico utilizzando strumenti di progettazione di database come MySQL Workbench o Microsoft Visio.

  +-------------------+            
   |   Dipendenti     |            
   +-------------------+           
   | CodiceDipendente | <---------| 
   | Nome             |           | 
   | Dipartimento     |           | 
   | Responsabile     |           | 
   +-------------------+          | 
       |                          | 
       |                          | 
       v                          | 
   +-------------------+          | 
   |   Relazione      |           | 
   +-------------------+          | 
   |       Riporta A   | ---------|
   +-------------------+

👇 Da non perdere 👇



Questo portale esiste da 4524 giorni (12 anni), e contiene ad oggi 4039 articoli (circa 3.231.200 parole in tutto) e 16 servizi online gratuiti. – Leggi un altro articolo a caso
Non ha ancora votato nessuno.

Ti sembra utile o interessante? Vota e fammelo sapere.

Questo sito contribuisce alla audience di sè stesso.
Il nostro network informativo: Lipercubo - Pagare online (il blog) - Trovalost.it