Progettare un Database

Bentornato a questo mini-corso introduttivo sulla progettazione dei Database.

Come abbiamo visto nei precedenti post, prima di cominciare un qualunque programma di gestione è importantissimo prendersi del tempo per progettare su carta il nostro software, quanto meglio è possibile. Infatti un errore o una dimenticanza durante questa fase può ripercuotersi nella fase di sviluppo, creando ritardi nella conclusione del progetto, se non problemi gravi di svolgimento. Al contrario un programma ben progettato risulterà semplice nella programmazione ed efficiente nell’utilizzo.

Vediamo allora quali sono i passi fondamentali per la progettazione di un database:

1. Stesura di una descrizione del progetto, partendo dagli obiettivi che si vuole raggiungere

2. Realizzazione del modello Entità-Associazione (ER)

3. Conversione del modello ER nel Modello Relazionale

4. Normalizzazione delle relazioni

Come si può vedere da questi punti, la parte progettuale può essere impegnativa quanto la realizzazione del progetto stesso, ma sforzandoci adesso di ricercare tutte le possibilità progettuali, nella seconda fase ci concentreremo esclusivamente sulla realizzazione, semplificandoci notevolmente la vita

Cominciamo dunque ad addentrarci in queste 4 fasi di progettazione, cercando di capire meglio in cosa consistono e come applicarle nei nostri progetti. Per comprenderli meglio sfrutteremo un esempio concreto che ci servirà poi anche nel proseguo degli articoli.

1. Descrizione del progetto

Il primo passo nella progettazione di un database è la descrizione del progetto, cioè una trascrizione accurata di quello che il programma dovrà fare e di quali informazioni vogliamo memorizzare.


Ma come facciamo ad ottenere queste informazioni?

Nel caso il progetto coinvolga un insieme di persone, sarà necessario contattarle per capire quali aspettative hanno a riguardo e cosa vorrebbero che il software le aiutasse a fare. Ad esempio chi ha commissionato il progetto quali sono i suoi obiettivi, mentre per gli utenti come vorrebbero che fosse l’esperienza del suo utilizzo.

Una volta chiarito i requisiti e i vincoli dell’applicazione, si riassumeranno per punti in una breve ma completa descrizione.

Facciamo un esempio concreto, si vuole creare un database per un negozio di vendita e noleggio DVD e CD. La descrizione del progetto può essere:


Il programma dovrà gestire le informazioni relative ai film ed album musicali :

  • anno realizzazione, casa editrice, genere, descrizione.

Saranno presenti anche informazioni sulle persone che lo hanno realizzato:

  • autore, data di nascita, biografia, ruolo

Inseriremo anche la posizione a catalogo del DVD/CD:

  • Corsia, Scaffale, posizione

Si v

uole che il programma permetta la ricerca del pezzo, la visualizzazione e la gestione delle informazioni, attraverso una maschera unica.


A questo punto è facile capire l’importanza di individuare in modo corretto tutti i dati da inserire all’interno del progetto, in funzione dell’obiettivo che si è posti.

Potremo considerare conclusa l’analisi del nostro programma quando, dalle informazione di descrizione del progetto, saremo in grado di raggiungere l’obiettivo iniziale.

Nella prossimo articolo proseguire la spiegazione di come progettare in modo corretto il nostro database, proseguendo l’esempio. Se hai delle domande o precisazioni che vuoi approfondire mandami una mail all’indirizzo info@creaprogrammando.com





A presto

Paolo Bellesia

P.s. Se ancora non lo hai fatto e vuoi scaricare il primo Special Report gratuito "Crea il tuo programma" iscriviti nel box a fianco potrai cosi cominciare a progettare in modo semplice e divertente tutti i tuoi programmi. Inoltre riceverai le indicazioni di tutti gli articoli che periodicamente inseriamo nel Blog.

Le Basi di dati

Come abbiamo visto nel precedente Post,

risulta essere molto importante quali informazioni vogliamo memorizzare, e se si possono ridurre come quantità, mantenendole tutte quelle che desideriamo.


Se continuiamo l’esempio di una libreria o biblioteca che deve censire migliaia di libri ogni anno, risulta evidente che l’introduzione di un software che ci permetta la gestione di tutti i dati che vogliamo memorizzare, diventa fondamentale per la nostra attività.


Ecco che ci vengono in aiuto un sistema automatizzato che permette la gestione dei dati: il DBMS


Un DBMS (DataBase Management System = sistema di gestione di basi di dati) è un insieme di programmi che permettono agli utenti di creare e gestire una base di dati.

Un DBMS è un software che permette di definire, costruire, manipolare e condividere le informazioni memorizzate nella base dati. Inoltre un’altra sua importante funzione riguarda la protezione sulla perdita dei dati causati da guasti o da accessi non consentiti.

Quindi l’utilizzo di un DBMS ci permette di non doverci preoccupare di moltissime e complicate attività dei Database, come appunto la gestione della multiutenza o della sicurezza.


Inoltre se si utilizzano un programma che permette la relazione tra le informazioni, come abbiamo visto nel precedente post, quando parlavamo della duplicazione dei contenuti, allora utilizzeremo gli RDBMS (Relational DBMS).


Sul mercato esistono diversi DBMS, spesso molto diversi tra loro, ma che condividono lo stesso linguaggio di gestione della basi di dati: il linguaggio SQL (Structured Query Language) . Tale linguaggio è divenuto un vero e proprio standard anche se tutti i DBMS implementano l’SQL con molte variazioni.

Esistono DBMS per tutti i gusti, alcuni gratuiti, come MySQL o PostgreSQL, altri invece possono essere molto costosi, come il famosissimo Oracle.


MySQL è un RDBMS che ha tra i suoi pregi quello di essere considerato tra i più veloci e semplici, tanto da essere il più utilizzato nelle applicazioni web, in particolare con PHP.


Bene, a questo punto ti starai chiedendo … “Benissimo, ma allora cosa mi serve Access?”


Microsoft Access è tutto questo, cioè un RDBMS, che supporta il linguaggio SQL. Ma è molto di più, perché oltre a questo i programmatori di Microsoft si sono spremuto le meningi per darci la possibilità di sfruttare tutto questo ma nel modo più semplice possibile, utilizzando delle operazioni automatiche che trasformano quello che noi vogliamo nella struttura dei RDBMS e nel linguaggio SQL utilizzato dai Database. Inoltre ci permette di creare una interfaccia utente per la visualizzazione, inserimento e tutta la gestione dei dati, da una unica applicazione.


Nella prossimo articolo vedremo come progettare un Database nel migliore dei modi

Se hai delle domande o precisazioni che vuoi approfondire mandami una mail all’indirizzo info@creaprogrammando.com


A presto

Paolo Bellesia


P.s. Se ancora non lo hai fatto e vuoi scaricare il primo Special Report gratuito "Crea il tuo programma" iscriviti nel box a fianco potrai cosi cominciare a progettare in modo semplice e divertente itutti i tuoi programmi. Inoltre riceverai le indicazioni di tutti gli articoli che periodicamente inseriamo nel Blog.

Da dove cominciamo?

Ciao e ben ritrovato in CreaProgrammando.com,


ti starai chiedendo adesso, "ma cominciamo a parlare di access?"

Purtroppo ti devo rispondere negativamente o meglio cominciamo sicuramente a parlare di Database, ma in senso generale.


Diamo innanzitutto una definizione di Database:


“Una base di dati (database) è un insieme di dati correlati, organizzati in modo che possano essere manipolati e che possano evolvere nel tempo.”


Vediamo un esempio di base dati, relativamente alle informazioni di libri:



Quella rappresentata viene chiamata Tabella ed al suo interno troviamo i dati memorizzati relativi all’autore, al titolo del libro, all’anno, all’editore. Quest’ultimi sono chiamati Intestazione o anche Metadati.


Anche se a prima vista una tabella cosi definita sembra corretta, non è sicuramente ottimizzata. Infatti uno dei requisiti fondamentali di un buon progetto di Database, è quella di memorizzare il minor numero possibile di dati, in modo però da avere tutte le informazioni necessarie. Mi spiego meglio, se guardiamo la colonna relativa all’autore, vediamo che Schwarcz Joe è ripetuto 2 volte. Stessa cosa per la casa editrice. Allora perché dovremmo memorizzarli due o più volte?


Si può capire l’importanza della progettazione di un Database, in modo da risultare successivamente più semplice da gestire e con maggiori prestazioni, altrimenti si rischia di avere un Dinosauro grosso e lento invece che un antilope agile e veloce.


La soluzione ottimizzata sarà quella di creare più tabelle collegate fra loro, in modo da inserire solamente una volta una determinata informazione:




Questi tipi di Database sono chiamati Database Relazionali.


La progettazione di un Database

Come si può ben capire, prima di cominciare a usare Access per creare un qualunque programma, sarà necessario analizzare quello che si vuole ottenere dal programma che andremo a costruire, cercando di raggruppare tutte le informazioni possibili sul suo utilizzo e su quello che dovrà fornire.


Un errore in questa fase può ripercuotersi successivamente sull’intero sviluppo del programma e sul suo futuro utilizzo, anche se sarà possibile modificare il programma e migliorarlo, ma sempre a scapito di un lavoro più corposo e di possibili mal funzionamenti.

Una base di dati ben progettata risulta invece più efficiente e semplifica lo sviluppo delle applicazioni che ne faranno uso.


La progettazione di un database ben eseguito segue i seguenti passi fondamentali:

  • Stesura di una descrizione del progetto e delle sue caratteristiche.
  • Creazione di una rappresentazione a diagramma del progetto
  • Traduzione del modello a diagramma nel Modello Relazionale.
  • Normalizzazione delle relazioni
  • Creazione della struttura della base dati

Nei prossimi post approfondiremo questi passi uno ad uno, cosi da essere pronti per creare il nostro primo database.

Cosa ne pensi di questo inizio? Vuoi scoprire come proseguire?


Se vuoi scaricare il primo Report gratuito "Crea il tuo programma" iscriviti nel box a fianco potrai cosi cominciare a progettare in modo semplice e divertente itutti i tuoi programmi. Inoltre riceverai le indicazioni di tutti gli articoli che periodicamente inseriamo nel Blog.

Bellesia Paolo

Benvenuto

Ciao e benvenuto nel Blog di Creaprogrammando.


Oggi è il primo giorno in cui inserisco un post in questo Blog e devo dire di essere molto emozionato. L’emozione nasce da due distinti pensieri:

il primo è di dar vita finalmente ad un mio desiderio, condividere con altre persone quello che per me è una passione: la programmazione, attraverso uno strumento che non ho mai utilizzato prima, il Blog.

il secondo è di sentire la responsabilità di riuscire nel mio intento, cioè quello di trasmettere la passione per Access.


Entriamo subito nel vivo cominciando a parlare di Microsoft Access.


Cos’è Access? E soprattutto cosa potrai fare con lui?


Microsoft Access è un programma della suite di Office, la più conosciuta e venduta suite di programmi per l’utilizzo dei computer. Più nello specifico è un Database, cioè un programma che serve a gestire una “Base di Dati”, quindi informazioni di qualsiasi tipologia e dimensione. Consente di strutturare dei dati in tabelle, di metterli in relazione tra loro come si desidera e di realizzare delle estrazioni specifiche in modo molto semplice, per esempio con delle maschere pre-impostate sulla base delle esigenze di chi vuole utilizzare questi dati.


Come ho accennato Access è interno alla suite Office e ne va a completare le funzionalità, infatti Office è composto da:


· Outlook 2007 è il gestore della posta elettronica

· Word 2007 è il programma di video scrittura

· Excel 2007 è un foglio di calcolo

· Access 2007 permette di creare i database

· PowerPoint 2007 permette di creare delle presentazioni

· Publisher 2007 per pubblicazioni e materiali di marketing

· Communicator 2007 gestisce i servizi di comunicazione

· Groove 2007 condivide le informazioni con i membri del team

· InfoPath 2007 raccoglie e gestisce le informazioni

· OneNote 2007 condivide le note e le informazioni


Access si integra pienamente con gli altri programmi perché permette di gestire in modo ottimale tutti quelli che sono i dati che ogni utente potrà utilizzare all’interno della suite.


Vediamo in concreto qualche esempio quello che potrai sviluppare con il programma.


Partendo dalle applicazioni più semplici potrai gestire la tua raccolta di DVD o CD, memorizzarti tutti gli allenamenti e le tue prestazioni sportive, farti il tuo programma per la gestione del tuo conto corrente… Se invece lo vuoi utilizzare per lavoro, potrai crearti la tua applicazione per gestire i tuoi clienti o fornitori, i loro ordini, l’inventario dei tuoi prodotti, effettuare statistiche approfondite …


Ma nel Blog di cosa andrò a parlare?


Nei prossimi post cominceremo ad approfondire quello che sono le tematiche legate allo sviluppo di programmi in Access, e più specificatamente ti darò le informazioni per come cominciare a programmare in modo efficace per creare i tuoi primi programmi Database.


Inoltre ti fornirò tutte le informazioni che ti saranno utile decidere come progettare al meglio un programma, dove ricercare quello che ti serve all’interno del programma, perchè utilizzare uno strumento invece che un altro, ecc… cioè tutto quello che può servirti per cominciare.

Ma non è tutto, infatti lo farò creando insieme a te dei programmi, via via sempre più complessi ed approfonditi che ti aiuteranno a capire come programmare nel modo più efficace.


Allora cosa aspettiamo?

Iscriviti alla mia mailing list, potrai scaricare il primo report gratuito dove troverai una presentazione piu approfondita del sito e di Access stesso, inoltre potrai essere sempre aggiornato sui miei articoli che periodicamente inserirò nel blog.


Buon divertimento insieme a me.


Un saluto da

Paolo Bellesia


Ps. Sentiti libero di scrivermi qualunque informazione o commento che vorrai esprimere, te ne sarò grato.