🗄️ Schema completo, nell'ordine corretto
Ordine: categorie_directory (indipendente) → schede (referenzia categorie) → recensioni (referenzia schede).
CREATE TABLE categorie_directory (
id INT AUTO_INCREMENT PRIMARY KEY,
nome VARCHAR(100) NOT NULL
);
CREATE TABLE schede (
id INT AUTO_INCREMENT PRIMARY KEY,
nome VARCHAR(200) NOT NULL,
descrizione TEXT,
categoria_id INT,
città VARCHAR(100),
indirizzo VARCHAR(200),
creata_il TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (categoria_id) REFERENCES categorie_directory(id)
);
CREATE TABLE recensioni (
id INT AUTO_INCREMENT PRIMARY KEY,
scheda_id INT,
valutazione TINYINT CHECK (valutazione BETWEEN 1 AND 5),
commento TEXT,
creata_il TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (scheda_id) REFERENCES schede(id)
);
💡 Campi strutturati (città, indirizzo separati, non un unico testo libero) fin dal Passo 1 — è ciò che renderà possibile filtrare per città al Passo 4, invece di dover analizzare testo non strutturato.
✅ Checkpoint — a questo punto hai
3 tabelle in catena, pronte a ricevere schede e recensioni.