Anticipazioni – Recensioni – Guide – Tutorial nel mondo Microsoft

Dopo aver introdotto il concetto di entità e relazioni nel primo post, scendiamo nel dettaglio della realizzazione. Per rappresentare un’entità con Access utilizziamo una tabella. Ogni colonna corrisponde ad un attributo dell’entità, (detto anche campo) e ogni riga della tabella (detta anche record) rappresenta un’istanza dell’entità (un caso particolare). Entriamo nel dettaglio proponendo i classici esempi su come realizzare un Database.

Database access

Volendo rappresentare ad esempio l’entità persona, possiamo impostare una tabella che abbia come colonne gli attributi di una persona (nomecognomedata di nascitaindirizzo). Ogni riga (o record) corrisponde ad una persona particolare.

Figura 1  – Tabella “Persona”

Tabella Access

Gli attributi (o campi) rappresentano tipi diversi di informazioni, per esempio si possono avere campi con testo o campi rappresentanti date o numeri. In termini informatici questa natura diversa per rappresentare le informazioni viene detta “tipo”. Anche Access lavora con i tipi:

  • il nome, cognome e indirizzo è di tipo testo (o stringa, ossia una sequenza di caratteri alfanumerici)
  • la data è di tipo “data/ora”
  • telefono è di tipo numerico.

Figura 2 – i tipi della tabella “Persona”

Struttura tabella Persona

È importante che i dati siano coerenti con i tipi corrispondenti, ad esempio, se nel campo data di nascita dell’autore inseriamo un numero come 256579, commettiamo un errore di coerenza.

Lo schema della figura è quello che visualizziamo quando chiediamo di visualizzare la struttura della tabella. Nella visualizzazione della struttura possiamo impostare, visualizzare e modificare il tipo degli attributi; ad esempio:

  • nel campo nome e cognome inseriremo solamente delle stringhe di caratteri pertanto il tipo idoneo è il tipo Testo
  • nel campo data di nascita abbiamo assegnato il tipo Data/Ora
  • nel campo indirizzo abbiamo inserito ancora il tipo Testo
  • nel campo telefono inseriremo solamente numeri quindi abbiamo inserito il tipo Numerico

Ma qualcuno di voi si starà chiedendo “il campo ID di tipo Numerazione automatica cos’è?” Quel campo rappresenta la chiave primaria.

Se consideriamo un lungo elenco di persone, come l’elenco del telefono ad esempio, è del tutto logico trovare omonimie tra le persone, questo significa che alla coppia di informazioni nome, cognome corrisponde più di un record. Capirete da soli che risulta indispensabile realizzare un meccanismo che ci permetta di idenitificare in modo univoco i record, anche se hanno tutti i campi uguali tra loro, per questo ci viene in aiuto la chiave primaria.

La soluzione è quella di inserire nella tabella un nuovo campo che funzioni da chiave primaria; è il più importante tra tutti gli attributi e garantisce l’individuazione di un determinato record all’interno di una tabella.

Tipicamente si tratta di un numero intero che viene incrementato automaticamente da Access ogni volta che aggiungiamo un record.

Non è sempre indispensabile creare un campo a parte; a volte esiste già un campo che è univoco per natura (ad esempio il codice fiscale) oppure si riescono a raggruppare un gruppo di più campi che presi tutti assieme costituiscono un elemento univoco. Ma è molto più frequente, specie nelle piccole applicazioni, che la chiave primaria sia un campo numerico, spesso indicato come campo ID (identificatore).

L’unicità di questo campo viene inoltre garantita dal fatto che, quando cancelliamo un record, il suo ID non è più riutilizzato. Ad esempio, se cancelliamo l’autore con identificativo 23, quella chiave viene persa per sempre.

Altro concetto fondamentale da non trascurare è la chiave esterna. Prendendo come esempio la gestione di una libraria possiamo immaginare che ogni libro nella tabella dei libri sia riconoscibile univocamente dagli altri grazie al suo “ID”. Sarà molto comodo poter indicare solo questo numero per raggiungere sicuramente un certo testo.

Abbiamo anche detto che le tabelle possono essere messe in relazione tra loro. Prendiamo ad esempio la relazione tra libro e autore:

Libro   -> è scritto da    -> Autore

Come è ovvio che succeda, un libro è scritto da un autore e  un autore può scrivere più libri. Secondo il discorse della chiave primaria la tabella Autore avrà un codice identificativo ID che rappresenta un determinato autore. Quindi, per associare un libro ad un autore possiamo prevedere un campo, nella tabella Libro che contenga il codice dell’autore. Questo campo viene detto proprio chiave esterna.

Figura 3 – Tabella con chiavi esterne

Tabella con chiavi esterne

Discorsi concettuali a parte i vantaggi nell’utilizzo delle chiavi esterne ci sono, ad esempio  possiamo essere certi che se inseriamo 100 libri dello stesso Autore, scrivendo il nome 100 volte commetteremo qualche errore; oppure prendiamo anche ad esempio la modifica di un dato come l’indirizzo dell’autore. Ci convinciamo facilmente che è molto più semplice modificarlo una volta sola (mantenendo inalterato l’ID) che riscriverlo su centinaia di record dei libri.

to be continued…

<- lezione precedente                          Indice                            lezione successiva ->

Lascia un commento