Database  »  Articoli  »  MySQL 

Progettare un database per MySQL, trucchi e scorciatoie

di: Claudio Garau     27 Ottobre 2009

Non esistono soluzioni valide universalmente per la progettazione di un database, l'organizzazione di una banca dati è infatti una procedura dipendente dal tipo di applicazione che si desidera realizzare. Vi sono delle semplici regole che è possibile seguire al fine di strutturare basi di dati che consentano di archiviare e manipolare dati in modo semplice ed efficiente.

Nella progettazione di un database è fondamentale tenere presente alcune caratteristiche basilari:

  • il numero delle tabelle che verranno coinvolte dalle interrogazioni lanciate tramite le applicazioni;
  • il numero e il tipo di campi che verranno da creare all'interno delle tabelle;
  • le relazioni interne ed esterne tra i campi.

Le relazioni sono il punto saliente della fase di progettazione, maggiore sarà il numero di relazioni che si sarà in grado di stabilire, più efficiente sarà la struttura del database, più breve sarà il codice da digitare per le applicazioni e inferiore sarà l'esigenza di generare nuovi campi o di memorizzare più volte gli stesso dati.

La logica della progettazione

Progettare un database, in particolare nel caso dei database relazioni come quelli gestiti da un DBMS MySQL, significa definirne la struttura, le caratteristiche e i contenuti gestiti cercando di prevedere quelle che saranno le esigenze dell'applicazione che avrà accesso ai dati; già da questa prima affermazione è possibile introdurre una regola di valore generale: è buona norma progettare il database prima dell'applicazione e non il contrario, la motivazione di questa affermazione è semplice: l'applicazione andrà a gestire i dati contenuti nella base di dati, quindi, migliore sarà la struttura della banca dati più efficiente sarà l'applicazione.

In pratica, progettare un database consiste nella costruzione di un modello di realtà, una base di dati non è altro che un archivio a cui è possibile inviare, attraverso un DBMS, delle interrogazioni sotto forma di query; le query non sono altro che delle "domande", un database dotato di una struttura lineare sarà in grado di rispondere in modo semplice a domande semplici, a livello tecnico la possibilità di inviare semplici domande ottenendo il massimo risultato significa creare applicazioni dotate di codici meno complessi.

La fase di progettazione di un database non può naturalmente prescindere dal tipo di applicazione che si desidera realizzare, le applicazioni vengono scritte per degli scopi (ad esempio: un database manager che gestisca i post di un sito Web), quindi anche i database a cui esse si interfacciano dovranno perseguire gli stessi scopi (conservare i dati relativi alle news); gli scopi per cui si progetta un database possono essere suddivisi in due categorie:

  1. scopi correlati ad esigenze operative: archiviare, mantenere e amministrare informazioni su entità animate (individui accomunati da specifiche caratteristiche), inanimate (oggetti, come dei prodotti) o astratte (ad esempio i prezzi dei prodotti);
  2. scopi correlati ad esigenze decisionali: le decisioni possono essere prese esclusivamente sulla base delle informazioni disponibili, migliore sarà la struttura del database più immediato sarà l'accesso alle informazioni.

La progettazione di una base di dati necessita generalmente di più fasi la cui finalità è quella di generare un modello (o astrazione) in grado di fornire la rappresentazione delle informazioni gestite e delle relazioni esistenti tra di esse.

Guide Database

Guida Access

Iniziare a sviluppare database grazie alla potenza visuale offerta...

Guida SQL Server 2005

L'RDBMS di Microsoft è uno dei più utilizzati, soprattutto in ambito...

Guida Oracle

Scoprire ed approfondire un dei più importanti RDBMS sulla scena...

Altre guide

Newsletter

Ogni settimana, in due distinte newsletter: notizie a approfondimenti su MySQL, SQLserver e Oracle.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Nessun corso previsto

Nessun corso previsto