ITportal
a- a+

Creare da zero un gestionale in PHP (III Parte)

Pagina 3 di 6

Vantaggi ottenuti dalla normalizzazione
Riepiloghiamo i vantaggi che abbiamo ottenuto conun’ottimizzazione simile:

  • Eliminazione se non totale di gran parte della ridondanza (ripetizione inutile degli stessi valori);
  • Eliminazione delle anomalie di inserimento (la ripetizione continua degli stessi valori aumenta il rischio di errore);
  • Eliminazione delle anomalie di modifica (dovendo modificare lo stesso valore ripetuto in più punti, corriamo il rischio di dimenticare qualche campo invariato, rendendo il database ambiguo e inconsistente);
  • Eliminazione delle anomalie di cancellazione (cancellando ad esempio il record dell'unica vendita effettuata,senza normalizzazione, avremmo perso per sempre anche i dati relativi al cliente).

All'opera: creazione delle tabelle Procediamo adesso conla creazione di tutte le tabelle, usufruendo del comodissimophpMyAdmin, che, se abbiamo scelto di installare EasyPHP,troveremo già attivo e configurato all'indirizzohttp://localhost/mysql/. Creiamo un nuovodatabase gestionale e le 9 tabelle con le seguentiimpostazioni:

    •  Tabella 1: fornitori   --------------------    id TINYINT NOT NULL AUTO_INCREMENT PRIMARY KEY,     nome VARCHAR(50) NOT NULL, telefono VARCHAR(50),     fax VARCHAR(50), indirizzo VARCHAR(250)•  Tabella 2: prodotti   -------------------    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,     nome VARCHAR(100) NOT NULL, categoria_id     TINYINT NOT NULL, fornitore_id TINYINT NOT NULL,     descrizione TEXT, quantità INT NOT NULL•  Tabella 3: prezzo_prodotti   --------------------------    prodotto_id INT NOT NULL, costo_acquisto     FLOAT(10,2), costo_vendita FLOAT(10,2),     data DATE NOT NULL•  Tabella 4: categorie   --------------------    id TINYINT NOT NULL AUTO_INCREMENT PRIMARY    KEY, nome VARCHAR(50) NOT NULL•  Tabella 5: clienti   ------------------    id MEDIUMINT NOT NULL AUTO_INCREMENT PRIMARY KEY,     nome VARCHAR(50) NOT NULL, cognome VARCHAR(50)     NOT NULL, telefono VARCHAR(20), indirizzo     VARCHAR(200)•  Tabella 6: acquisti   -------------------    Colonne: id INT NOT NULL AUTO_INCREMENT PRIMARY     KEY, data DATETIME NOT NULL•  Tabella 7: vendite   ------------------    Colonne: id INT NOT NULL AUTO_INCREMENT PRIMARY     KEY, cliente_id MEDIUMINT NOT NULL, data DATETIME    NOT NULL•  Tabella 8: ordini_acquisti   --------------------------    Colonne: acquisto_id INT NOT NULL, prodotto_id     INT NOT NULL, quantità INT NOT NULL•  Tabella 9: ordini_vendite   -------------------------    Colonne: vendita_id INT NOT NULL, prodotto_id     INT NOT NULL, quantità INT NOT NULL



Figura 8 – Conferma della creazione dellatabella con phpMyAdmin.

 



Ti potrebbe interessare anche

commenta la notizia