-- MySQL Script generated by MySQL Workbench -- Thu Apr 16 15:23:34 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 offerta_formativa -- ----------------------------------------------------- -- ----------------------------------------------------- -- Schema offerta_formativa -- ----------------------------------------------------- CREATE SCHEMA IF NOT EXISTS `offerta_formativa` DEFAULT CHARACTER SET utf8 ; SHOW WARNINGS; USE `offerta_formativa` ; -- ----------------------------------------------------- -- Table `offerta_formativa`.`docente` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `offerta_formativa`.`docente` ( `matricola` INT NOT NULL, `cognome` VARCHAR(45) NOT NULL, `nome` VARCHAR(45) NOT NULL, `citta_residenza` VARCHAR(45) NOT NULL, `ruolo` ENUM('professore ordinario', 'professore associato', 'ricercatore') NOT NULL, PRIMARY KEY (`matricola`)) ENGINE = InnoDB; SHOW WARNINGS; -- ----------------------------------------------------- -- Table `offerta_formativa`.`corso_laurea` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `offerta_formativa`.`corso_laurea` ( `codice` INT NOT NULL, `nome` VARCHAR(45) NOT NULL, `tipologia` ENUM('triennale', 'magistrale') NOT NULL, `presidente` INT NOT NULL, PRIMARY KEY (`codice`), INDEX `Presidente_idx` (`presidente` ASC) VISIBLE, CONSTRAINT `fk_presidente` FOREIGN KEY (`presidente`) REFERENCES `offerta_formativa`.`docente` (`matricola`) ON DELETE CASCADE ON UPDATE CASCADE) ENGINE = InnoDB; SHOW WARNINGS; -- ----------------------------------------------------- -- Table `offerta_formativa`.`corso` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `offerta_formativa`.`corso` ( `codice` INT NOT NULL, `nome` VARCHAR(45) NOT NULL, `ore_lezione` INT NOT NULL, `ore_esercitazione` INT NULL, `crediti_lezione` INT NOT NULL, `crediti_esercitazione` INT NULL, `docente` INT NOT NULL, PRIMARY KEY (`codice`), INDEX `Docente_idx` (`docente` ASC) VISIBLE, CONSTRAINT `fk_docente` FOREIGN KEY (`docente`) REFERENCES `offerta_formativa`.`docente` (`matricola`) ON DELETE CASCADE ON UPDATE CASCADE) ENGINE = InnoDB; SHOW WARNINGS; -- ----------------------------------------------------- -- Table `offerta_formativa`.`corso_di_laurea_corsi` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `offerta_formativa`.`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`, `codice_corso_laurea`), CONSTRAINT `fk_corso_laurea` FOREIGN KEY (`codice_corso_laurea`) REFERENCES `offerta_formativa`.`corso_laurea` (`codice`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `fk_corso` FOREIGN KEY (`codice_corso`) REFERENCES `offerta_formativa`.`corso` (`codice`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; SHOW WARNINGS; SET SQL_MODE=@OLD_SQL_MODE; SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;