-- MySQL Script generated by MySQL Workbench -- Mon Apr 6 16:12:03 2020 -- Model: New Model Version: 1.0 -- MySQL Workbench Forward Engineering SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'; -- ----------------------------------------------------- -- Schema carriere_studenti -- ----------------------------------------------------- -- ----------------------------------------------------- -- Schema carriere_studenti -- ----------------------------------------------------- CREATE SCHEMA IF NOT EXISTS `carriere_studenti` DEFAULT CHARACTER SET utf8 ; SHOW WARNINGS; USE `carriere_studenti` ; -- ----------------------------------------------------- -- Table `carriere_studenti`.`Corso_di_Laurea` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `carriere_studenti`.`Corso_di_Laurea` ( `codice` INT NOT NULL AUTO_INCREMENT, `nome` VARCHAR(45) NOT NULL, `tipologia` VARCHAR(45) NOT NULL, PRIMARY KEY (`codice`)) ENGINE = InnoDB; SHOW WARNINGS; -- ----------------------------------------------------- -- Table `carriere_studenti`.`Studente` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `carriere_studenti`.`Studente` ( `matricola` INT NOT NULL AUTO_INCREMENT, `cognome` VARCHAR(45) NOT NULL, `nome` VARCHAR(45) NOT NULL, `codice_corso_laurea` INT NOT NULL, PRIMARY KEY (`matricola`), INDEX `Corso_di_Laurea_idx` (`codice_corso_laurea` ASC) VISIBLE, CONSTRAINT `Corso_di_Laurea_key` FOREIGN KEY (`codice_corso_laurea`) REFERENCES `carriere_studenti`.`Corso_di_Laurea` (`codice`) ON DELETE CASCADE ON UPDATE CASCADE) ENGINE = InnoDB; SHOW WARNINGS; -- ----------------------------------------------------- -- Table `carriere_studenti`.`Corso` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `carriere_studenti`.`Corso` ( `codice` INT NOT NULL AUTO_INCREMENT, `nome` VARCHAR(45) NOT NULL, `ore_lezione` INT NOT NULL, `ore_esercitazione` INT NULL, `crediti_lezione` INT NOT NULL, `crediti_esercitazione` INT NULL, PRIMARY KEY (`codice`)) ENGINE = InnoDB; SHOW WARNINGS; -- ----------------------------------------------------- -- Table `carriere_studenti`.`Esame` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `carriere_studenti`.`Esame` ( `matricola_studente` INT NOT NULL, `codice_corso` INT NOT NULL, `data` DATETIME NOT NULL, `voto` INT NOT NULL, INDEX `Matricola_idx` (`matricola_studente` ASC) VISIBLE, INDEX `Corso_idx` (`codice_corso` ASC) VISIBLE, PRIMARY KEY (`matricola_studente`, `codice_corso`), CONSTRAINT `Matricola_key` FOREIGN KEY (`matricola_studente`) REFERENCES `carriere_studenti`.`Studente` (`matricola`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `Corso_key` FOREIGN KEY (`codice_corso`) REFERENCES `carriere_studenti`.`Corso` (`codice`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; SHOW WARNINGS; -- ----------------------------------------------------- -- Table `carriere_studenti`.`Corso_di_Laurea_corsi` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `carriere_studenti`.`Corso_di_Laurea_corsi` ( `codice_corso_laurea` INT NOT NULL, `codice_corso` INT NOT NULL, INDEX `CdL_key_idx` (`codice_corso_laurea` ASC) VISIBLE, INDEX `Codice_c_key_idx` (`codice_corso` ASC) VISIBLE, PRIMARY KEY (`codice_corso_laurea`, `codice_corso`), CONSTRAINT `CdL_key` FOREIGN KEY (`codice_corso_laurea`) REFERENCES `carriere_studenti`.`Corso_di_Laurea` (`codice`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `Codice_c_key` FOREIGN KEY (`codice_corso`) REFERENCES `carriere_studenti`.`Corso` (`codice`) ON DELETE CASCADE ON UPDATE CASCADE) ENGINE = InnoDB; SHOW WARNINGS; SET SQL_MODE=@OLD_SQL_MODE; SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;