MS Access – SQL

Ripasso veloce della sintassi

Sintassi Funzione
“Proietta” tutti campi
… solo Campo1
… i campi elencati (in ordine…)
… Campo1 con etichetta Etichetta1
… il risultato della Funzione1 con Campo1 come argomento
Campo1 della TABELLA1 (facoltativo se non ci sono campi omonimi)
Se un nome contiene degli spazi allora deve essere limitato da parentesi quadre


I record provengono dalla TABELLA1
… dal prodotto delle tabelle …
… dalla congiunzione interna di TABELLA1 con TABELLA2


I record devono soddisfare il criterio
.. NON …
… TUTTI i criteri
… ALMENO un criterio
 …


I record sono ordinati in modo crescente rispetto a Campo1
decrescente
… rispetto a Campo1 e, a parità di valori, rispetto a Campo2

Osserva…

  1. WHERE: i criteri possono essere
    • Campo1 = Valore1
    • Campo1 <> Valore1
    • Campo1 < Valore1
    • Campo1 > Valore1
    • Campo1 <= Valore1
    • Campo1 >= Valore1
    • Campo1 BETWEEN Valore1 AND Valore2
    • Campo1 IN (Valore1, Valore2)
    • Campo1 LIKE “…”
    • Campo1 NOT LIKE “…”
      1. Con *
      2. Con ?
    • Campo1 IS NULL
    • Campo1 IS NOT NULL
  2. Le funzioni di aggregazione sono
    • Avg(Campo1)
    • Count(*)
    • Count(Campo1)
    • Max(Campo1)
    • Min(Campo1)
    • Sum(Campo1)


Da fare

  1. FROM TABELLA1 LEFT JOIN TABELLA2 ON …
  2. FROM TABELLA1 RIGHT JOIN TABELLA2 ON …
  3. GROUP BY
  4. HAVING

Comprendere i database

Le basi teoriche delle basi di dati previste nel Syllabus dell’ECDL

  1. Comprendere cosa è un database.
  2. Comprendere la differenza tra dati e informazioni.
  3. Comprendere come è organizzato un database in termini di tabelle, record e campi.
  4. Conoscere alcuni degli utilizzi più comuni di database di grandi dimensioni
    1. sistemi di prenotazione aerea
    2. dati della Pubblica Amministrazione
    3. dati di conti correnti
    4. dettagli di pazienti in un ospedale.
  5. Comprendere che ciascuna tabella di un database dovrebbe contenere dati relativi ad un solo argomento.
  6. Comprendere che ciascun campo di una tabella dovrebbe contenere un solo dato.
  7. Comprendere che il contenuto di un campo è associato ad un tipo di dato adeguato
    1. testo
    2. numero
    3. data/ora
    4. sì/no.
  8. Comprendere che ai campi sono associate delle proprietà:
    1. dimensione
    2. formato
    3. valore predefinito.
  9. Comprendere cosa è una chiave primaria.
  10. Comprendere cosa è un indice.
  11. Capire come un indice permette di accedere più rapidamente ai dati.
  12. Comprendere che il motivo principale per creare relazioni tra tabelle di un database è minimizzare la duplicazione dei dati.
  13. Comprendere che una relazione viene costruita legando un campo univoco di una tabella ad un campo di un’altra tabella.
  14. Comprendere l’importanza di mantenere l’integrità delle relazioni tra tabelle.
  15. Sapere che i database professionali sono progettati e creati da specialisti di database.
  16. Sapere che l’inserimento di dati, la gestione dei dati e il recupero delle informazioni vengono effettuati dagli utenti.
  17. Sapere che un amministratore di database fornisce accesso a dati specifici agli utenti opportuni.
  18. Sapere che l’amministratore del database è il responsabile del recupero di un database dopo guasti o errori gravi.

Uso delle basi di dati

Le competenze pratiche previste dal Syllabus dell’ECDL

  1. Aprire, chiudere un’applicazione di database.
  2. Aprire, chiudere un database.
  3. Creare un nuovo database e salvarlo all’interno di un’unità disco.
  4. Mostrare, nascondere le barre degli strumenti.
  5. Minimizzare, ripristinare la barra multifunzione (ove disponibile).
  6. Usare la funzione di Guida in linea (help) del programma.
  7. Aprire, salvare e chiudere una tabella, una query, una maschera, un report.
  8. Cambiare modalità di visualizzazione di una tabella, query, maschera, report.
  9. Eliminare una tabella, una query, una maschera, un report.
  10. Navigare tra i record di una tabella, di una query, di una maschera.
  11. Ordinare i record di una tabella, maschera, risultato di una query
    1. in ordine numerico crescente o decrescente
    2. in ordine alfabetico crescente o decrescente.
  12. Inserire, eliminare record in una tabella.
  13. Inserire, modificare, eliminare dati in un record.
  14. Creare e assegnare un nome a una tabella e specificarne i campi con i relativi tipi di dati
    1. testo
    2. numero
    3. data/ora
    4. sì/no.
  15. Applicare le proprietà dei campi
    1. dimensioni del campo
    2. formato numerico
    3. formato data/ora
    4. valore predefinito.
  16. Creare una regola di validazione per numeri, data/ora, valuta.
  17. Comprendere le conseguenze quando
    1. si modificano i tipi di dati
    2. le proprietà dei campi di una tabella.
  18. Definire un campo come chiave primaria.
  19. Indicizzare un campo
    1. con duplicati
    2. senza duplicati.
  20. Inserire un campo in una tabella esistente.
  21. Modificare l’ampiezza delle colonne di una tabella.
  22. Usare il comando di ricerca per trovare una specifica parola, numero, data in un campo.
  23. Applicare un filtro ad una tabella, maschera.
  24. Eliminare l’applicazione di un filtro da una tabella, maschera.
  25. Comprendere che una query viene utilizzata per estrarre e analizzare dei dati.
  26. Creare e salvare una query, usando specifici criteri di ricerca
    1. su una sola tabella
    2. su due tabelle.
  27. Aggiungere criteri ad una query utilizzando uno o più dei seguenti operatori
    1. = (uguale), <> (diverso da)
    2. < (minore di), <= (minore di o uguale a)
    3. > (maggiore di), >= (maggiore di o uguale a).
  28. Aggiungere criteri ad una query utilizzando uno o più dei seguenti operatori logici:
    1. AND
    2. OR
    3. NOT.
  29. Utilizzare un carattere jolly in una query:
    1. *, %
    2. ?, _.
  30. Modificare una query
    1. aggiungere, modificare, eliminare dei criteri
    2. aggiungere, eliminare, spostare, nascondere, visualizzare dei campi.
  31. Eseguire una query.
  32. Comprendere che una maschera viene usata per visualizzare e gestire i record.
  33. Creare e assegnare un nome ad una maschera.
  34. Utilizzare una maschera per
    1. inserire nuovi record
    2. eliminare record
    3. inserire, modificare, eliminare dati in un record.
  35. Inserire, modificare testo nell’intestazione, piè di pagina di una maschera.
  36. Comprendere che un report viene utilizzato per stampare informazioni selezionate da una tabella o da una query.
  37. Creare e assegnare un nome ad un report basato su una tabella, una query.
  38. Modificare la collocazione dei campi di dati e le intestazioni all’interno di un report.
  39. Presentare campi specifici in un report raggruppati per somma, minimo, massimo, media, conteggio, con punti di interruzione adeguati.
  40. Inserire, modificare il testo nell’intestazione, piè di pagina di un report.
  41. Esportare una tabella, il risultato di una query in formato foglio elettronico, testo (.txt, .csv), XML all’interno di un’unità disco.
  42. Modificare l’orientamento (verticale, orizzontale) di una tabella, maschera, risultato di una query, report.
  43. Modificare le dimensioni della carta.
  44. Stampare una pagina, record selezionato/selezionati, tabella completa.
  45. Stampare tutti i record, o pagine specificate, usando la visualizzazione maschera.
  46. Stampare il risultato di una query.
  47. Stampare una o più pagine specifiche di un report, stampare un report completo.

2004 – Portfolio studente

Dopo attenta valutazione delle richieste…

Schema E/R

E/R Portfolio

SOTTOSCHEMI E QUERY

Un ente organizza corsi esterni che, insieme a quelli interni, sono attivati diverse volte…

image

Dato un corso, quali sono i dati relativi ad esso

Dato un corso, quali sono i dati relativi ad esso (+ dati corso esterno)

ENTE_CORSOESTERNO: i dati dei corsi esterni

Dato un corso, quali sono i dati relativi ad esso (+ corso esterno + ente). Risolve il problema del left join + inner join con la query ENTE_CORSOESTERNO

Gli studenti frequentano una classe all’anno

image

Dato uno studente quali classi ha frequentato, in quali anni scolastici e con quali esiti finali

Gli studenti frequentano i corsi attivati

image

SCHEMA RELAZIONALE / QUERY

image

Dato un anno scolastico, quali corsi interni sono stati attivati

Dato uno studente, quali corsi ha frequentato, di che tipo, per quale monte ore e in quale anno scolastico

Data una classe, quali studenti di quella classe hanno frequentato corsi e di che tipo

Dato un anno scolastico, quali corsi interni sono stati attivati e da quali studenti sono stati seguiti

1999 – Agenzia immobiliare

Un’agenzia immobiliare vuole realizzare un’applicazione software per la realizzazione di un archivio delle case disponibili.

Per ogni casa sono disponibili le seguenti informazioni:

  • la zona;
  • il costo;
  • superficie in metri quadrati;
  • l’anno di costruzione;
  • una breve descrizione di non più di 100 parole;
  • eventualmente una fotografia che non necessariamente esiste per tutte le case.

L’applicazione deve consentire all’operatore almeno le seguenti operazioni:

  1. introduzione delle informazioni relative a una nuova casa o cancellazione di quelle di una casa non più disponibile
  2. ricerca di una casa in archivio in base a uno o più dei seguenti elementi di ricerca:
    • fascia di prezzo;
    • superficie;
    • zona;
  3. visione di tutte le informazioni associate alla casa trovata e, su richiesta, anche della fotografia o una scritta “non disponibile”.

Nel caso che la ricerca offra più case con le caratteristiche desiderate deve essere possibile esaminarle una per una.

Il candidato, formulate le ipotesi aggiuntive che ritiene necessarie, deve:

  1. illustrare uno schema generale delle procedure per la realizzazione delle diverse funzioni;
  2. indicare quali strumenti software intende utilizzare per realizzarle;
  3. illustrare come propone di organizzare e rappresentare i dati;
  4. realizzare, con lo strumento software prescelto, almeno una parte di una delle due funzioni seguenti:
    • introduzione in catalogo delle informazioni relative a una nuova casa;
    • ricerca in archivio di una casa con le caratteristiche desiderate.