-- 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 mydb
-- -----------------------------------------------------
DROP SCHEMA IF EXISTS `tourenplaner` ;

-- -----------------------------------------------------
-- Schema mydb
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `tourenplaner` DEFAULT CHARACTER SET utf8 ;
USE `tourenplaner` ;

-- -----------------------------------------------------
-- Table `Disponent`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `Disponent` ;

CREATE TABLE IF NOT EXISTS `Disponent` (
  `idDisponent` INT NOT NULL,
  PRIMARY KEY (`idDisponent`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `Bus`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `Bus` ;

CREATE TABLE IF NOT EXISTS `Bus` (
  `idBus` INT NOT NULL,
  PRIMARY KEY (`idBus`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `Fahrt`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `Fahrt` ;

CREATE TABLE IF NOT EXISTS `Fahrt` (
  `idFahrt` INT NOT NULL,
  `Disponent_idDisponent` INT NOT NULL,
  `Bus_idBus` INT NOT NULL,
  PRIMARY KEY (`idFahrt`, `Disponent_idDisponent`, `Bus_idBus`),
  INDEX `fk_Fahrt_Disponent1_idx` (`Disponent_idDisponent` ASC) VISIBLE,
  INDEX `fk_Fahrt_Bus1_idx` (`Bus_idBus` ASC) VISIBLE,
  CONSTRAINT `fk_Fahrt_Disponent1`
    FOREIGN KEY (`Disponent_idDisponent`)
    REFERENCES `Disponent` (`idDisponent`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_Fahrt_Bus1`
    FOREIGN KEY (`Bus_idBus`)
    REFERENCES `Bus` (`idBus`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `Fahrer`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `Fahrer` ;

CREATE TABLE IF NOT EXISTS `Fahrer` (
  `idFahrer` INT NOT NULL,
  PRIMARY KEY (`idFahrer`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `Ort`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `Ort` ;

CREATE TABLE IF NOT EXISTS `Ort` (
  `idOrt` INT NOT NULL,
  PRIMARY KEY (`idOrt`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `Ankunftszeit`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `Ankunftszeit` ;

CREATE TABLE IF NOT EXISTS `Ankunftszeit` (
  `idAnkunftszeit` INT NOT NULL,
  PRIMARY KEY (`idAnkunftszeit`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `Abfahrtszeit`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `Abfahrtszeit` ;

CREATE TABLE IF NOT EXISTS `Abfahrtszeit` (
  `idAbfahrtszeit` INT NOT NULL,
  PRIMARY KEY (`idAbfahrtszeit`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `Stationen`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `Stationen` ;

CREATE TABLE IF NOT EXISTS `Stationen` (
  `idStationen` INT NOT NULL,
  `Fahrer_idFahrer` INT NOT NULL,
  `Ort_idOrt` INT NOT NULL,
  `Ankunftszeit_idAnkunftszeit` INT NOT NULL,
  `Abfahrtszeit_idAbfahrtszeit` INT NOT NULL,
  PRIMARY KEY (`idStationen`, `Fahrer_idFahrer`, `Ort_idOrt`, `Ankunftszeit_idAnkunftszeit`, `Abfahrtszeit_idAbfahrtszeit`),
  INDEX `fk_Stationen_Fahrer_idx` (`Fahrer_idFahrer` ASC) VISIBLE,
  INDEX `fk_Stationen_Ort1_idx` (`Ort_idOrt` ASC) VISIBLE,
  INDEX `fk_Stationen_Ankunftszeit1_idx` (`Ankunftszeit_idAnkunftszeit` ASC) VISIBLE,
  INDEX `fk_Stationen_Abfahrtszeit1_idx` (`Abfahrtszeit_idAbfahrtszeit` ASC) VISIBLE,
  CONSTRAINT `fk_Stationen_Fahrer`
    FOREIGN KEY (`Fahrer_idFahrer`)
    REFERENCES `Fahrer` (`idFahrer`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_Stationen_Ort1`
    FOREIGN KEY (`Ort_idOrt`)
    REFERENCES `Ort` (`idOrt`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_Stationen_Ankunftszeit1`
    FOREIGN KEY (`Ankunftszeit_idAnkunftszeit`)
    REFERENCES `Ankunftszeit` (`idAnkunftszeit`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_Stationen_Abfahrtszeit1`
    FOREIGN KEY (`Abfahrtszeit_idAbfahrtszeit`)
    REFERENCES `Abfahrtszeit` (`idAbfahrtszeit`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `FahrtStationen`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `FahrtStationen` ;

CREATE TABLE IF NOT EXISTS `FahrtStationen` (
  `idFahrtStationen` INT NOT NULL,
  `Stationen_idStationen` INT NOT NULL,
  `Stationen_Fahrer_idFahrer` INT NOT NULL,
  `Stationen_Ort_idOrt` INT NOT NULL,
  `Stationen_Ankunftszeit_idAnkunftszeit` INT NOT NULL,
  `Stationen_Abfahrtszeit_idAbfahrtszeit` INT NOT NULL,
  `Fahrt_idFahrt` INT NOT NULL,
  PRIMARY KEY (`idFahrtStationen`),
  INDEX `fk_FahrtStationen_Stationen1_idx` (`Stationen_idStationen` ASC, `Stationen_Fahrer_idFahrer` ASC, `Stationen_Ort_idOrt` ASC, `Stationen_Ankunftszeit_idAnkunftszeit` ASC, `Stationen_Abfahrtszeit_idAbfahrtszeit` ASC) VISIBLE,
  INDEX `fk_FahrtStationen_Fahrt1_idx` (`Fahrt_idFahrt` ASC) VISIBLE,
  CONSTRAINT `fk_FahrtStationen_Stationen1`
    FOREIGN KEY (`Stationen_idStationen` , `Stationen_Fahrer_idFahrer` , `Stationen_Ort_idOrt` , `Stationen_Ankunftszeit_idAnkunftszeit` , `Stationen_Abfahrtszeit_idAbfahrtszeit`)
    REFERENCES `Stationen` (`idStationen` , `Fahrer_idFahrer` , `Ort_idOrt` , `Ankunftszeit_idAnkunftszeit` , `Abfahrtszeit_idAbfahrtszeit`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_FahrtStationen_Fahrt1`
    FOREIGN KEY (`Fahrt_idFahrt`)
    REFERENCES `Fahrt` (`idFahrt`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
