PROGRAMMIAMO
VB - DATA BASE: un esempio

Realizzazione di un Data Base con un vettore di record in VB

Consideriamo di nuovo l'esempio di DB relativo ai libri di una biblioteca e proviamo a realizzarlo usando i vettori di record del VB. A tale scopo possiamo definire un nuovo tipo nel seguente modo:

Private Type Libro
  Autore As String
  Titolo As String
  Genere As String
  Editore As String
  Anno As Integer
  Collocazione As String
End Type

A questo punto possiamo dichiarare un vettore di record per contenere le informazioni relative a tutti i libri della biblioteca (supponiamo che i volumi siano al massimo 5000):

Dim libri(1 to 5000) As Libro

Ogni elemento del vettore libri rappresenta un record (cioè un libro) del nostro DB. Allo stesso modo potremmo rappresentare la tabella degli utenti della biblioteca nel seguente modo:

Private Type Utente
  Nome As String
  Cognome As String
  Indirizzo As String
  Citta As String
  Telefono As Integer
  Tessera As Integer
  Scadenza As Date
End Type

...

Dim Utenti(1 to 3000) As Utente

I vettori di record sembrano ideali per memorizzare le informazioni di un DB, dal momento che possono contenere dati di tipi differenti. L'elemento del vettore fornisce poi il numero progressivo di ogni record presente nel DB. Inoltre i vettori di record possono facilmente essere salvati e quindi richiamati da un file.

 

Problemi

Ad una analisi più attenta il nostro DB realizzato con i vettori di record presenta però una serie di problemi:

  1. Per effettuare una ricerca di un record in base al valore di un singolo campo (es. il campo Autore nella tabella dei Libri) o di più campi insieme (es. il campo Nome e il campo Cognome nella tabella degli Utenti) bisogna scrivere in VB un programma piuttosto complicato.
  2. E' difficile verificare la validità dei dati inseriti (es. l'anno di pubblicazione non può essere negativo o maggiore dell'anno corrente) e soprattutto la loro reciproca coerenza (es. lo stesso libro non può essere classificato in due record diversi una volta come romanzo e l'altra come saggio).
  3. Anche le operazioni sulla struttura del DB sono problematiche (es. aggiungere un campo a una tabella) e ancora più problematica è la verifica dell'integrità del DB stesso (es. cosa succede se si vuole eliminare un campo della tabella? che fine fanno i dati in esso già memorizzati?).
  4. Ci possono essere dei problemi anche quando gli stessi dati devono essere condivisi fra applicativi diversi (es. nel caso in cui due biblioteche condividano lo stesso archivio generale, cosa succede quando due utenti chiedono contemporaneamente il prestito dello stesso volume?).

In realtà volendo tutti i problemi precedentemente elencati potrebbero essere risolti in VB, ma ciò richiederebbe la scrittura di una grande quantità di codice e di programmi piuttosto complessi. Inoltre tali programmi dovranno essere completamente riscritti nel caso si voglia gestire un altro DB (es. il programma per la gestione dell'archivio di una biblioteca non potrà ovviamente essere usato per gestire il magazzino di un supermercato).

La soluzione a tutte queste problematiche è rappresentata dall'uso di programmi esterni, scritti appositamente per la gestione di DB. Questi programmi sono genericamente detti Data Base Management System (DBMS). Fra i molti DBMS esistenti citiamo Oracle, Informix, Sybase, MySQL eccetera. A scopi didattici le seguenti due esercitazioni presentano rapidamente uno dei DBMS più diffusi: Microsoft Access (dispense in pdf: Biblioteca1, Biblioteca2).

 

precedente - successiva

Sito realizzato in base al template offerto da

http://www.graphixmania.it