Ciao, sto studiando i database relazionali e mi trovo con un grosso punto interrogativo.
Ho letto un po' di post riguardo alle chiavi esterne ma in pratica non ho capito l'utilizzo.
Cioè mettiamo il caso di 2 tabelle AUTORI e LIBRI:
codice:
CREATE TABLE autori 
id_autore int(255) PRIMARY KEY NOT NULL AUTO_INCREMENT,
nome varchar(255) NOT NULL,
cognome varchar(255) NOT NULL,
La tabella autori contiene la chiave primaria id_autore univoca e i campi nome e cognome e fin qui ci sono

codice:
CREATE TABLE libri 
id_libro int(255) PRIMARY KEY NOT NULL AUTO_INCREMENT,
titolo varchar(255) NOT NULL,
editore varchar(255) NOT NULL,
id_autore int(255) NOT NULL,
FOREIGN KEY (`id_autore`) REFERENCES `autori` (`id_autore`)
e a livello logico in una relazione 1 a molti (1 autore molti libri) lo capisco.
La cosa che non mi è chiara e che ad esempio pratico in un inserimento di nuovo libro io dovrei essere a conoscenza dell' id_autore già presente in 'autori' altrimenti non ci potrebbe essere la relazione tra le 2 tabelle, giusto???
Utilizzo da poco mysql con php e onestamente è la prima volta che mi trovo di fronte alle relazioni tra tabelle e non riesco a comprendere in pratica (come ad esmepio con il comando INSERT) come usarle
Vi chiedo una mano perchè tra 15gg ho un bando di concorso e riguardo a questo argomento sono bloccato.
Grazie, Ale.