Corsi on-line
Chiudi
Newsletter:
  • Seguici su Facebook
  • Seguici su Twitter
  • Seguici su Google+
  • Seguici via RSS
  • Seguici col tuo Smartphone

Relazionare due tabelle

Nel capitolo 4 abbiamo creato due tabelle ed abbiamo già visto secondo quale criterio sono state strutturate al fine di essere messe in relazione tra loro.

Col termine relazione si intende appunto legare due o più tabelle in modo da fornire un risultato unico in funzione di una interrogazione volta a più parti, secondo il principio umano del lavoro di squadra, dove i membri della squadra sono le tabelle.

(L'articolo continua più sotto...)

Abbiamo creato una tabella separata per le categorie per non dover ripetere N volte il nome della categoria, evitando quindi la ridondanza dei dati. Per essere ancora più precisi avremmo potuto creare una tabella separata anche per gli autori, ma sarebbe stato un lavoro troppo oneroso per chi è alle primissime armi.

Alla fine del capitolo, comunque, vi mostrerò la struttura relazionale del database con le tabelle delle categorie, degli autori e dei libri.

Il tipo di relazione che intercorre tra la tabella delle categorie e quella dei libri, secondo le strutture definite nel capitolo 4, è di uno a molti ovvero ad una categoria possono corrispondere più libri e non viceversa.

Vediamo come si fa in Access a creare una relazione. Accedete alla scheda delle Query ed una volta che la maschera iniziale vi chiederà di aggiungere una tabella, selezionatele entrambe, aggiungetele e chiudete la maschera.

Cliccate poi col tasto sinistro del mous sul campo id della tabella delle categorie e, senza lasciare il mouse, trascinate fino al campo rif_categoria della tabella dei libri. Otterrete il risultato mostrato nell'immagine seguente:

Andate adesso nel menu
Visualizza / SQL
per vedere cosa ha scritto Access per noi
SELECT
FROM categorie INNER JOIN libri
ON categorie.id = libri.rif_categoria;
Se notate mancano i nomi dei campi tra le istruzioni SELECT e FROM per il motivo che non li abbiamo esplicitamente specificati in fase di costruzione visuale... a questo serve conoscere l'SQL (a questa questa pagina potete trovare la guida al linguaggio SQL).

in cui troverete un capitolo che spiega come costruire relazioni via codice. Intanto modifichiamo a mano la query aggiungendo un asterisco (*) tra i comandi SELECT e FROM in modo da specificare tutti i campi

SELECT *
FROM categorie INNER JOIN libri
ON categorie.id = libri.rif_categoria;
Attenzione: le due tabelle contengono il campo id quindi per specificare il campo dell'una o dell'altra si utilizza la forma
nome_tabella.nome_campo
quindi
categorie.id
per la tabella delle categorie e
libri.id
per la tabella dei libri.

Salvate la query col nome relazione.

Corsi
Corso MS AccessCorso MS Access
Impara a creare e gestire database in maniera semplice e veloce. A partire da 39 €.
Corso MySQLCorso MySQL
Gestione del database open-source. A partire da 49 €.
Corso SQL e DatabaseCorso SQL e Database
Creazione e gestione di database relazionali. A partire da 39 €.
Sommario
Annunci

Mr.Webmaster

Pubblicità
Chi Siamo
Contattaci
Collabora
Note Legali
© 2003 - 2012 Mr.Webmaster - Il portale dei Webmaster Italiani - Tutti i diritti riservati | Powered by IKIweb Internet Media S.r.l. - PIVA 02848390122