Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

mySQL: strutturazione e normalizzazione di un database

Scelta e pianificazione del lavoro da svolgere nel corso di questa guida.
Scelta e pianificazione del lavoro da svolgere nel corso di questa guida.
Link copiato negli appunti

Lo studio, la strutturazione e la normalizzazione di in database realizzato con mySql è molto simile a quella che si svolge con qualsiasi tipo di database. Infatti, in questa fase, il computer non verrà usato ma si userà la classica matita e un bel foglio di carta.

Ora dobbiamo decidere che cosa creare nel corso di questa guida. Ho vagliato diverse ipotesi, tra le quali un guestbook (libro degli ospiti), un mini forum, un sistema di messaggeria, ma, dopo aver valutato quest'ultima, la ricerca si è fermata. Nel corso di questa guida, realizzeremo un sistema di messaggeria sfruttando asp e mySql. Il motivo della scelta è la completezza delle azioni (sia fisiche che a livello di programmazione) che si svolgono in un tale sistema.

Dopo aver scelto il nostro obbiettivo finale, dobbiamo capire quali sono entità fondamentali del nostro progetto e quali valori (i rispettivi campi del database) vogliamo assegnare.

Ad una prima analisi veloce servono fondamentalmente due entità: gli utenti ed i messaggi.

Ora, dobbiamo analizzare quali valori poter assegnare agli utenti e quali al messaggio.

Utenti:

  • Login
  • Password
  • L'indirizzo di posta elettronica

Messaggi:

  • L'utente mittente
  • L'utente destinatario
  • La data e l'ora di invio del messaggio
  • La data e l'ora di lettura del messaggio
  • Il titolo del messaggio
  • Il corpo del messaggio

Ora, dopo aver visto come si compone a grandi linee il nostro progetto, dobbiamo entrare maggiormente nello specifico per realizzare il database: tabelle, campi. In questa parte, non verrà messo il nome specifico del campo in mySql. I campi scritti in modo diverso rispetto agli altri, fungeranno da chiave primaria all'interno della tabella.

Tabella
Nome campo
Descrizione
Utenti Id_user Conterrà il numero identificativo degli utenti
iscritti alla messaggeria
Utenti Login Conterrà la login personale dell'utente
Utenti Password Conterrà la password personale dell'utente
Utenti Mail Conterrà l'indirizzo e-mail dell'utente
   
Messaggi id_msg Identificativo del messaggio
Messaggi id_mitt Individua il mittente
Messaggi id_desti Individua il estinatario
Messaggi dt_invio Indica il giorno e l'ora in cui è stato inviato
il messaggio
Messaggi titolo Titolo del messaggio
Messaggi corpo Corpo del messaggio

Le due tabelle appena create, saranno il cuore del nostro sistema di messaggeria. In questo sistema, non vi sono nè moderatori nè amministratori. L'accesso, dopo aver effettuato l'iscrizione, sarà uguale per tutti.

Prima di concludere, vorrei ricordare qui di seguito quali sono le prime tre regole di normalizzazione di una database:

  • Prima forma di normalizzazione: Una tabella di un database si dice "tabella in prima forma normale" se,e solo se, le informazioni presenti in due colonne sono identiche e quindi abbiamo dati ripetuti. Per portare il database alla prima forma normale, basta eliminare una delle due colonne doppie. Ad esempio, proviamo a pensare cosa succederebbe in termini sia di tempo e di spazio se in una tabella comparissero due campi con nome diversi ma contenenti il nome ed il cognome della persona in questione. Lo spazio sprecato sarebbe molto di più e anche le ricerche (avendo più dati da consultare) si allungherebbero come tempi.
  • Seconda forma di normalizzazione: Una tabella di un database si dice "tabella in seconda forma normale" se, e solo se, non vi è presente al suo interno una colonna che contiene dati che possono derivare da altre colonne presenti all'interno della stessa tabella. Prendiamo come esempio un catalogo prodotti di fine 2001. Ormai è inutile inserire all'interno della tabella una colonna contenente i prezzi in lire ed una coi prezzi in euro. Infatti per ottenere un dato dall'altro basta solamente dividere (se dalle lire si vuol passare all'euro) o moltiplicare (se dall'euro si vuol passare alle lire) per il valore 1936.27 . Se in un database troviamo entrambi le colonne dei prezzi, questa tabella non si può ritenere di seconda forma normale. Se invece è presente solo un prezzo e l'altro lo ricaviamo tramite un semplice calcolo, questa tabella è considerata uniforme alla seconda forma di normalizzazione.
  • Terza forma di normalizzazione: Un database si dice di terza forma normale se e solo se non vi sono dati duplicati all'interno dello stesso. Questo tipo di normalizzazione dobbiamo vederlo come l'ampliamento della prima. Mentre nella prima non vi devono essere dati ripetuti nella stessa tabella, qui la ripetizione dei dati non deve avvenire nelle colonne delle tabelle del database. Basta infatti una sola colonna con determinati valori e poi ci si relaziona a quella.

Ti consigliamo anche