DISI Dipartimento di Informatica e Scienze dell'Informazione

Domini per gli attributi

Agli attributi possono essere associati domini diversi e per ogni dominio si possono specifcare ulteriori proprietà. Ne vedremo brevemente alcuni.
  • Testo (Text): permette di rappresentare sequenze di caratteri. Ogni dominio ha un suo insieme di proprietà, nel caso del Testo si potranno modificare quelle visualizzate nella seguente finstra.


    Finestra delle proprietà del dominio di tipo Testo


    Osservate che in questo modo stiamo definendo dei vincoli sul dominio degli attributi, vincoli che permettono di prevenire possibili errori durante la fase di inserimento dei dati nella base di dati. Possiamo per esempio specificare:

    1. Dimensione campo (Field size), per definire il numero massimo di caratteri che possono essere inseriti per quell'attributo (il limite massimo nel caso del Testo è 255 caratteri).

    2. Maschera di input, (Input mask) per imporre un formato al testo che verrà inserito nel campo. Access mette a disposizione il wizard seguente per scegliere il tipo di formato.


      Wizard per il formato del Testo


    3. Etichetta (Caption), per definire un nome alternativo dell'attributo da usare nelle maschere e nei report (li vedremo in seguito).

    4. Valore predefinito (Default value), per specificare un valore di default per l'attributo. Tutte le volte che si inserisce una nuova ennupla (riga) in una tabella, il valore di default comparirà come valore dell'attributo.

    5. Valido se (Validation rule), permette di associare un vincolo all'attributo (** ricordate l'esempio del voto che deve essere compreso tra 18 e 30?). Access verifica automaticamente che ogni valore inserito in un campo appartenga al dominio specificato per quel campo. Se c'è anche un vincolo nella proprietà Valido se (Validation rule), viene fatto un ulteriore controllo. Per scrivere questo vincolo si può usare il generatore di espressioni che vedremo nel caso delle query.

    6. Messaggio errore (Validation text), permette di associare un messaggio di errore che viene visualizzato quando si inserisce un valore che non rispetta un vincolo definito nella proprietà Valido se (Validation rule).

    7. Richiesto (Required), può assumere i valori (True) o No (False) e permette di dire se un valore è obbligatorio o meno.

    8. Consenti lunghezzi zero (Allow zero length) permette di inserire stringhe di lunghezza nulla (** una sequenza di caratteri in informatica è chiamata stringa).

    9. Indicizzato (Indexed), permette di associare un indice all'attributo.
      ** Non vedremo gli indici ma di fatto si tratta di strutture dati che permettono di migliorare le prestazioni della base di dati.

    10. Compressione Unicode
      Ricordate la lezione sulla codifica dell'informazione?
Per rappresentare i dati dei campi di tipo Testo (e Memo) in Access 2000 viene utilizzato il sistema Unicode. In Unicode ogni carattere è rappresentato da due byte. I sistemi di codifica che memorizzano ogni carattere in un solo byte limitano l'uso a un'unica tabella di codici, ovvero un set numerato contenente un massimo di 256 caratteri. Al contrario, Unicode può supportare fino a 65.536 caratteri in quanto rappresenta ogni carattere con due byte. Di conseguenza, i dati di un campo di tipo Testo (e Memo) richiedono una maggiore quantità di spazio di memorizzazione rispetto alle precedenti versioni di Access. È possibile compensare questa conseguenza della rappresentazione dei caratteri Unicode e garantire prestazioni ottimali impostando la proprietà Compressione Unicode del campo a . Così facendo qualsiasi carattere il cui primo byte sia 0 viene compresso al momento della memorizzazione ed espanso quando viene recuperato. Siccome il primo byte di un carattere latino (ovvero un carattere di una lingua europea occidentale come l'inglese, l'italiano o il tedesco) è 0, la rappresentazione dei caratteri Unicode non ha effetto sulla quantità di spazio richiesta per la memorizzazione dei dati compressi che consistano esclusivamente di caratteri latini.


Gli altri domini sono visualizzati nel seguente menu a tendina che si apre posizionando il mouse in qualunque cella della colonna Tipo di dati (Field type) nella finestra che definisce la struttura di una tabella.


Ricordate i tipi di dati di Excel?


A seconda del tipo di dominio selezionato, si potranno specificare delle ulteriori proprietà (molte sono comuni a più domini).
  1. Il tipo Memo identifica un testo lungo. Utilizzate il tipo di dati Memo se dovete memorizzare più di 255 caratteri: un campo Memo può memorizzare circa 64.000 caratteri.

  2. Il tipo Numerico (Number) serve per i domini numerici (interi, reali, ...). È possibile decidere quanto spazio occuperà ogni valore selezionando una voce dal menu a tendina che si può aprire nella finestra delle proprietà del campo (alla voce Dimensione campo/Field length).


    Dimensione attributi di tipo numerico


    È anche possibile specificare il numero di cifre decimali che rimarranno visibili nelle celle (Posizioni decimali/Decimal places).

  3. Il tipo Data/Ora (Date/Time) permette di creare domini per la data e l'ora; è disponibile un wizard per la scelta del formato


    Wizard per scegliere il formato di data e ora


  4. Il tipo Valuta (Currency) ** ricordate Excel? permette di scegliere una particolare valuta all'interno di un insieme predefinito che viene visualizzato selezionando la proprietà Formato (Format) nella finestra delle proprietà del campo.


    Scelta della valuta


  5. Il tipo Contatore (AutoNumber) permette di definire un dominio intero che si incrementa automaticamente ad ogni nuova riga della tabella. Assume valori univoci e può essere usato come chiave compatta della tabella stessa.
    ** quando Access crea un campo chiave in modo automatico in una tabella, generalmente crea un attributo di nome ID e con dominio Contatore (AutoNumber)

  6. Il tipo Sì/No (Yes/No) permette di definire un dominio che può assumere solo due valori. Nella colonna dell'attributo corrispondente verranno visualizzate delle caselline: se la casella è selezionata il valore corrispondente è (Yes), se non è selezionata il valore è No.


    Colonna di un campo Sì/No


  7. ...


Definite correttamente i domini e le proprietà delle vostre tabelle e poi passate alle prossime istruzioni ...

Torna all'indice



last update >>>