Le viste in algebra relazionale

Le viste sono rappresentazioni diverse degli stessi dati messe a disposizione di utenti diversi.

A seconda del livello di autorizzazione, l'utente visualizza una vista dei dati oppure un'altra.

Dal punto di vista formale le viste sono relazioni derivate da altre relazioni base.

Generalmente si tratta di viste logiche o virtuali.

Nota. I dati mostrati nella vista sono frutto di una relazione derivata ottenuta registrando dei dati parziali nella base dati (vista materializzata) o semplicemente mostrando dei dati parziali calcolandoli in tempo reale tramite delle funzioni logiche (vista virtuale). Le prime hanno un accesso più veloce ma occupano spazio fisico nella memoria secondaria e potrebbero non essere aggiornate. E' necessario un allineamento dei dati periodico per tenerle aggiornate. Le seconde sono aggiornate e non occupano spazio di memoria ma richiedono del tempo per essere calcolate ogni volta.

A cosa servono le viste

Alcuni motivi per usare le viste sono

  1. Gli utenti sono interessati a vedere soltanto le informazioni più rilevanti. Non necessariamente tutte. Una vista ridotta all'essenziale rende più facile fruire delle informazioni.
  2. Gli utenti hanno autorizzazioni diverse sulle informazioni (accesso, modifica).

    Ad esempio il titolare di un conto bancario e un impiegato di banca hanno autorizzazioni differenti sui dati. Per motivi di privacy il titolare di un conto corrente può accedere ai propri dati soltanto in lettura. Non può modificarli. Non può vedere i dati di altri cliente. L'impiegato di banca, invece, può vederli e compiere modifiche ai dati.

  3. Alcune informazioni non sono disponibili direttamente come attributi (colonne) di una tabella, bensì vanno calcolate con un'espressione algebrica considerando più attributi. Se questa informazione è molto importante, l'utente deve ripetere la stessa operazione ogni volta. La creazione di una vista mi permette di calcolare e visualizzare l'informazione in modo automatico senza aggiungere un'ulteriore colonna alla tabella.

    Un esempio pratico

    Ho una tabella con i titolari di una carta di credito

    un esempio di tabella

    L'utente Paolo Rossi utilizza un'applicazione per sapere la disponibilità residua della sua carta.

    Plafond - SpeseMensili

    Questa informazione non è disponibile nella tabella.

    Quindi, ogni volta l'utente dovrebbe fare un'interrogazione sulla base dati per calcolarla. E' un'operazione ripetuta.

    Per fortuna dell'utente l'applicazione richiama una vista che la calcola in modo automatico.

    La vista mostra all'utente Paolo Rossi direttamente il risultato dell'operazione 1500-500 ossia 1000.

    la tabella sql

    Ecco alcune osservazioni che richiamano l'utilità di una vista

    1. La vista non mostra le altre informazioni della tupla (Plafond, SpeseMensili) perché non sono importanti per l'interrogazione corrente.
    2. La vista non mostra l'informazione Affidabilità perché è utile all'impiegato bancario. Il cliente non è autorizzato a conoscerla.
    3. La vista non mostra le informazioni degli altri clienti della banca. Per motivi di privacy la vista visualizza al richiedente soltanto i suoi dati.

    E così via.

     


     

    Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

    FacebookTwitterLinkedinLinkedin
    knowledge base

    Relational Algebra