Per rendere un database SQL veloce e performante e’ necessario decidere a priori quale sia la struttura di un database Mysql. Una delle operazioni principali da decidere prima di creare un database e’ la normalizzazione. Normalizzare un database significa in primo luogo ottimizzare. Una delle operazioni che viene eseguita durante la normalizzazione e’ quella di scindere in piu’ tabelle una tabella gia’ molto ampia che potrebbe contenere troppe informazioni.
Raggruppare in piu’ tabelle e collegare
Andiamo subito ad un esempio pratico che puo’ essere utile anche per fare la nostra photogallery dinamica in php. Supponiamo che dobbiamo inserire nel nostro database Mysql la lista degli hotel di una particolare citta’ italiana. I nostri campi colonna della tabella tb_hotel potrebbero essere i seguenti:
idInomeIindirizzoIstelleIcategoriaIfoto1Ifoto2Ifoto3Ifoto4Ifoto5Ifoto6
In questo caso la nostra tabella e’ formata essenzialmente da due tipi di dati: dati informativi (nome, indirizzo, stelle, categoria) e foto (foto1, foto2,foto3…). La tabella tb_hotel puo’ essere normalizzata rendendo cosi’ il database piu’ performante. Per normalizzare questa tabella e’ necessario dividerla in due: tb_hotel e tb_foto. Le due tabelle diventeranno cosi’:
tb_hotel
idInomeIindirizzoIstelleIcategoriaI
tb_foto
idIfoto1Ifoto2Ifoto3Ifoto4Ifoto5Ifoto6
Notare che ho aggiunto id anche nella seconda tabella. L’id sara’ infatti l’elemento di congiunzione tra le due tabelle. Tramite la funzione INNER JOIN e’ possibile infatti collegare due tabelle facendo si’ che vi sia lo stesso valore (ad es. id=1 in tb_foto e tb_hotel) per poter ottenere nuovamente la sequenza di dati della vecchia tabella tb_hotel
Nella prossima lezione vedremo praticamente come usare la query SQL di Inner Join per collegare due tabelle. Questa operazione ci permettera’ di capire in seguito come si effettuano photogallery dinamiche per grossi portali in php.
Vorrei fare un video corso su come si crea un semplice portale con dati e foto dinamici. E’ necessario pero’ aver ben chiare le lezioni per fare un sito internet dinamico.
Nessun Commento