Corso di Microsoft Access

Nozioni di base sui db relazionali

 

Questa serie di lezioni hanno lo scopo di spiegare come funziona Microsoft Access. Si partirà dagli argomenti di base per poi arrivare a trattare anche aspetti più complessi, in modo da cercare di soddisfare sia gli utenti alle prime armi che quelli con un po’ più di esperienza.

Concetti di base
Prima di iniziare a vedere il funzionamento di Access è bene parlare un po’ dei database in generale. Come si sa un database è uno strumento che permette di immagazzinare dati e di richiamarli in maniera organizzata in modo tale che questi dati forniscano delle informazioni. In particolare Access fa parte della categoria dei data base relazionali.
L’idea di base che sta dietro al modello relazionale è che un database consiste in una serie di tabelle che possono essere manipolate usando delle operazioni che restituiscono altre tabelle.

Più semplicemente possiamo dire che le caratteristiche essenziali di un database relazionale sono le seguenti:
1) tutti i dati vengono registrati in tabelle in cui le colonne sono i campi del database e le righe sono i record. Esempio: una tabella che contiene le generalità dei clienti di un’azienda avrà i campi (colonne della tabella) nome, cognome, indirizzo, ecc. I record (righe della tabella) saranno costituiti dall’elenco vero e proprio dei clienti.
2) ciascun record nella tabella deve essere unico; per garantire l’unicità del record nella tabella viene individuato un campo che avrà un valore che non potrà essere ripetuto. Questo campo costituirà la “chiave primaria” della tabella. Riprendiamo il nostro esempio di tabella con le generalità dei clienti: ci serve un campo che identifichi univocamente il Sig. Mario Rossi. In questo caso il campo che fa al caso nostro può essere quello del codice fiscale, infatti come noto il codice fiscale è diverso per ogni persona (almeno in teoria). Non si può scegliere il campo nome perché ci potrebbero essere più clienti che, ad esempio, si chiamano Mario. Se non c’è un campo idoneo a funzionare come chiave primaria, se ne crea uno apposito. Torneremo più avanti sui criteri di scelta della chiave primaria.

3) I dati di un database sono suddivisi in parti più piccole logicamente omogenee. Questo significa che ogni tabella dovrebbe contenere una raccolta di un certo tipo di “cose”. Queste cose (o entità) possono essere oggetti del mondo reale o eventi. Ogni cosa dovrebbe avere la sua tabella. Ritorniamo al nostro esempio: un database delle vendite di prodotti a dei clienti conterrà una tabella che identificherà i clienti (1° cosa), una che identificherà i prodotti (2° cosa), un’altra che conterrà i dati delle vendite (3° cosa) e così via. Le regole che stanno alla base della suddivisione dei dati sono chiamate regole di normalizzazione; andremo ad approfondirle più avanti.
4) Il contenuto di una tabella può essere collegato con quello di altre tabelle, in modo tale che l’estrazione dei dati ci fornisca la serie completa di informazioni che stiamo cercando. I legami tra tabelle si chiamano relazioni.

Le relazioni
Continuiamo a parlare di cose noiose. Purtroppo però questo passo è fondamentale, visto che la prima fase per realizzare un database è la progettazione: un database progettato bene ci evita di dover rifare lo stesso lavoro più volte. E non è possibile progettare un database senza conoscere alcuni concetti di base.
Come già detto le relazioni sono i legami fra tabelle. Come si fa a creare una relazione? Semplice: si inserisce in una tabella un campo che fa riferimento alla chiave primaria di un’altra tabella. Esempio: abbiamo una tabella che contiene i nomi di registi con chiave primaria “NumRegista” e una tabella che contiene titoli di film; volendo legare la tabella registi a quella film includeremo in quest’ultima una colonna che chiameremo ad es. “registi” dove metteremo gli stessi valori del campo “NumRegista”.
Esistono tre tipi di relazioni:
- relazioni 1 a 1
- relazioni 1 a molti
- relazioni molti a molti

Le relazioni 1 a 1 si hanno quando ogni riga della prima tabella corrisponde una sola riga della seconda tabella. Questo tipo di relazione è spesso creata per superare una limitazione del software più che per riprodurre una relazione del mondo reale. Si può usare infatti per superare il limite delle 255 colonne massime per tabella, oppure quando si deve dividere una tabella in due o più per motivi di sicurezza o per migliorare le prestazioni. Ad esempio un database di un ospedale può avere una tabella contenente i dati dei pazienti e un’altra con i dati relativi allo stato di salute; in questo modo si possono impostare maggiori restrizioni alla visibilità della tabella contenente dati più riservati.
Le relazioni 1 a molti si hanno quando per ogni riga nella prima tabella ce ne possono essere zero, una o molte nella seconda tabella, ma per ogni riga della seconda tabella c’è esattamente una sola riga nella prima tabella. Esempio: la tabella  studenti universitari e la tabella scuola di provenienza è legata da una relazioni di 1 a molti; infatti uno studente proviene da una sola scuola, ma da una scuola possono provenire più studenti.

Le relazioni molti a molti si hanno quando per ogni riga della prima tabella ci possono essere molte righe della seconda tabella e viceversa. Esempio: la tabella film e la tabella attori sono legate da una relazione da molti a molti, perché in un film ci sono più attori e un attore (normalmente) ha fatto più di un film. In Access, come in altri database, le relazioni molti a molti non possono essere fatte direttamente; si ricorre al trucco di dividerle in due relazioni 1 a molti mettendoci una tabella nel mezzo che avrà una relazione 1 a molti con le altre due tabelle. Nel nostro esempio apriremo una tabella chiamata “relFilmAttori” i cui due campi saranno la chiave primaria della tabella film e la chiave primaria della tabella attori.

 

Torna all'indice Generale del corso di Corso di Microsoft Access di Software Planet