Corso PHP: 24 – MySQL

24. MySQL

In questo capitolo verrà illustrato il sistema di gestione di un database relazionale facendo specifico riferimento al database MySQL.

La figura che segue sintetizza la struttura client-server:

 

MySQL: Organizzazione Client-Server
Struttura Client-Server

Lato server agiranno sia i nostri programmi PHP sia il database, mentre il browser, lato client, vedrà solamente il risultato delle operazioni eseguite sul server.

Il software del DB MySQL consiste nel server MySQL e diversi programmi di utilità e software di supporto. Il cuore del sistema è il server MySQL che si occupa di gestire il database e quindi di eseguire tutte le operazioni che vengono comandate via PHP.

Il database è una collezione strutturata di dati organizzata in modo che questi possano essre rapidamente ritrovati secondo svariati criteri di ricerca.

Quasi tutti i siti web si appoggiano su un database per memorizzare le loro informazioni. Tra questi il più usato è sicuramente MySQL che si integra perfettamente con PHP.

Come forse saprete, SQL è il linguaggio usato per definire “queries” e interrogare/modificare un database relazionale. Come ci dice il nome stesso a MySQL si può accedere con il linguaggio SQL (Structured Query Language) che andremo quindi a spiegare.

A titolo informativo diciamo che un database relazionale male si adatta ad essere distributo su più servers. Le grandi applicazioni mondiali (es. Google, Facebook ecc.) che devono essere distribuite geograficamente su più servers non possono utilizzare database relazionali ma utilizzano DB di tipo NoSQL. In generale possiamo affermare che un database SQL è sempre utilizzato per applicazioni mono-server, mentre se il database deve essere distribuito su più servers si utilizzerà un database non relazionale.

Qui illustriamo solamente l’utilizzo di MySQL.

Come mostrato in figura sul server del vostro ISP agirà un MySQL server che è adibito alla gestione dei database. Questo server può gestire contemporaneamente diversi database MySQL.

24.1 Struttura di un database MySQL.

Ciascun database avrà una struttura come descritto di seguito e sintetizzato graficamente nell’immagine seguente. I dati del database vengono spesso definiti come organizzati ‘a righe e colonne’ (per semplificare, come una tabella di Excel) oppure come un insieme di tanti records ciascuno col medesimo numero e tipo di campi che costituiscono le informazioni elementari di ciascu elemento. La struttura del database contiene la descrizione dei campi del record ( o se si preferisce delle colonne di ciascuna riga). Un database può avere una struttura senza alcun dato.

Vediamo un po’ di terminologia:

  • Database: E’ un insieme di dati di un singolo progetto
  • Tabella: E’ un’insieme omogeneo di informazioni. Per esempio in un applicazione commerciale si può avere una tabella Clienti con i dati dei clienti, una tabella Testati Ordini, una tabella Dettagli Ordini, una tabella Prodotti, una tabella Fatture
  • Riga o record: in una tabella ci sono tante righe o records. Ogni riga è un insieme di dati. Ad esempio in una tabella Clienti, una riga contiene i dati di un singolo cliente.
  • Colonna o campo: in ogni tabella ci sono anche le colonne o campi. Ad esempio nella tabella Clienti le colonne saranno la il Codice Cliente, Ragione Sociale, l’Indirizzo, la Città
  • Cella: è una singola colonna di una specifica riga
  • Valore: è il contenuto di una singola cella. Ad esempio ‘Mario Rossi’ sarà il valore della colonna Ragione Sociale di una riga della tabella Clienti.
  • Relazione: è un link fra due tabelle. Ad esempio la tabella Dettagli Ordine avrà un link con la tabella Testate Ordini così che le righe d’ordine possano essere associate al proprio ordine.
  • Chiave: è un campo (o più campi) che mette in relazione due tabelle. Per esempio nella tabella Dettagli Ordini ci sarà il campo ‘Numero Ordine’ che corrisponde al campo ‘Numero Ordine’ della tabella Testate Ordini.
  • Indice: è un sistema interno che il database usa per trovare le informazioni più rapidamente. Fa riferimento ad una o più colonne del database

Nella prossima lezione vedremo come organizzare e costruire un piccolo database di prova.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *