
In questo secondo appuntamento collegheremo il terminale al database
ecommerce creato nel primo tutorial per definire la sua struttura relazionale principale tramite le tabelle clienti e ordini.1. Selezione del Database
Assicurati di aver avviato MySQL da XAMPP, aperto la Shell, effettuato il login (
mysql -u root -p) e selezionato il database di lavoro:SQL
USE ecommerce;
2. Creazione della Tabella clienti
Creiamo la prima tabella definendo la colonna
id_cliente come chiave primaria a incremento automatico per identificare in modo univoco ogni utente registrato:SQL
CREATE TABLE clienti (
id_cliente INT AUTO_INCREMENT PRIMARY KEY,
nome VARCHAR(50) NOT NULL,
cognome VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL UNIQUE,
data_registrazione DATETIME DEFAULT CURRENT_TIMESTAMP
);
-
INT AUTO_INCREMENT PRIMARY KEY: Genera un identificativo numerico progressivo unico per ciascun record. -
NOT NULL: Impedisce il salvataggio di campi vuoti o privi di valore. -
UNIQUE: Vieta l’inserimento di indirizzi email duplicati all’interno della tabella.
-
DATETIME DEFAULT CURRENT_TIMESTAMP: inserisce la data e lorario di sistema.
3. Creazione della Tabella ordini con Relazione (FOREIGN KEY)
Definiamo la tabella degli ordini collegando ciascun acquisto a un cliente specifico attraverso l’uso di una chiave esterna:
SQL
CREATE TABLE ordini (
id_ordine INT AUTO_INCREMENT PRIMARY KEY,
id_cliente INT NOT NULL,
data_ordine DATETIME DEFAULT CURRENT_TIMESTAMP,
importo_totale DECIMAL(10, 2) NOT NULL,
CONSTRAINT fk_ordini_clienti FOREIGN KEY (id_cliente) REFERENCES clienti(id_cliente) ON DELETE CASCADE
);
-
DECIMAL(10,2): Tipo di dato ideale per la gestione di valori monetari (fino a 10 cifre totali, 2 decimali). -
FOREIGN KEY (id_cliente) REFERENCES clienti(id_cliente): Stabilisce il vincolo di integrità referenziale relazionando l’ordine all’ID della tabellaclienti. -
ON DELETE CASCADE: Se un cliente viene rimosso, cancella automaticamente tutti gli ordini a lui associati per evitare record orfani.
4. Verifica della Struttura Creata
Controlla la presenza delle due tabelle ed esamina lo schema delle colonne appena create:
SQL
SHOW TABLES;
DESCRIBE clienti;
DESCRIBE ordini;
Suggerimento Pratico per la Riga di Comando
Istruzione DDL originale: Se vuoi visualizzare la query SQL esatta generata dal motore database per costruire la tabella (inclusi indici e vincoli interni), esegui il comando:
SQL
SHOW CREATE TABLE ordini;
Nel prossimo tutorial 3 ci occuperemo dell’Inserimento Dati e le prime Query ((Interrogazione e lettura dei dati) con il comando SELECT e la clausola WHERE
