Salve, da ieri ho cominciato a studiare mySQl... e avrei qualche domanda da porvi...
Ho creato questo script (se così si chiama):
Ora non ho ben capito la funzione che svolgono le foreign key...Intanto vorrei capire se le ho assegnate correttamente, e poi non ho capito l'utilità in quanto se le ometto..la query funziona lo stesso.codice:CREATE DATABASE IF NOT EXISTS mydb; USE mydb; CREATE TABLE IF NOT EXISTS MATERIE ( id_materia INT NOT NULL PRIMARY KEY, nome_materia VARCHAR(45) NOT NULL ) ENGINE = INNODB; CREATE TABLE IF NOT EXISTS DOCENTI ( matricola INT NOT NULL PRIMARY KEY, materia INT NOT NULL, eta INT NOT NULL, stipendio INT NOT NULL, FOREIGN KEY (materia) REFERENCES MATERIE (id_materia) ) ENGINE = INNODB; INSERT INTO `mydb`.`MATERIE` (`id_materia`, `nome_materia`) VALUES (901, 'informatica'); INSERT INTO `mydb`.`MATERIE` (`id_materia`, `nome_materia`) VALUES (902, 'basi_di_dati'); INSERT INTO `mydb`.`MATERIE` (`id_materia`, `nome_materia`) VALUES (903, 'telematicuno'); INSERT INTO `mydb`.`MATERIE` (`id_materia`, `nome_materia`) VALUES (904, 'telematica'); INSERT INTO `mydb`.`DOCENTI` (`matricola`, `materia`, `eta`, `stipendio`) VALUES (1, 901, 35, 35000); INSERT INTO `mydb`.`DOCENTI` (`matricola`, `materia`, `eta`, `stipendio`) VALUES (2, 902, 45, 1500); INSERT INTO `mydb`.`DOCENTI` (`matricola`, `materia`, `eta`, `stipendio`) VALUES (3, 903, 45, 45000); INSERT INTO `mydb`.`DOCENTI` (`matricola`, `materia`, `eta`, `stipendio`) VALUES (4, 904, 45, 2000); SELECT * FROM MATERIE, DOCENTI WHERE MATERIE.id_materia = DOCENTI.materia AND stipendio>4000 AND nome_materia = 'informatica';
Confido in un un vostro aiuto, grazie tante.
Davide

Rispondi quotando