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='TRADITIONAL'; CREATE SCHEMA IF NOT EXISTS mitarbeiterverwaltung; USE mitarbeiterverwaltung; -- ----------------------------------------------------- -- Table mitarbeiterverwaltung.abteilung -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS mitarbeiterverwaltung.abteilung ( id INT NOT NULL AUTO_INCREMENT , name VARCHAR(45) NOT NULL , abkuerzung VARCHAR(5) NOT NULL , mitarbeiter_id INT NULL , PRIMARY KEY (id) , INDEX fk_abteilung_mitarbeiter (mitarbeiter_id ASC) , CONSTRAINT fk_abteilung_mitarbeiter FOREIGN KEY (mitarbeiter_id ) REFERENCES mitarbeiterverwaltung.mitarbeiter (id ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; -- ----------------------------------------------------- -- Table mitarbeiterverwaltung.mitarbeiter -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS mitarbeiterverwaltung.mitarbeiter ( id INT NOT NULL AUTO_INCREMENT , vorname VARCHAR(45) NOT NULL , name VARCHAR(45) NOT NULL , gehalt DECIMAL(7,2) NULL , abteilung_id INT NOT NULL , PRIMARY KEY (id) , INDEX fk_mitarbeiter_abteilung (abteilung_id ASC) , CONSTRAINT fk_mitarbeiter_abteilung FOREIGN KEY (abteilung_id ) REFERENCES mitarbeiterverwaltung.abteilung (id ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; -- ----------------------------------------------------- -- Table mitarbeiterverwaltung.adresse -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS mitarbeiterverwaltung.adresse ( id INT NOT NULL AUTO_INCREMENT , strasse VARCHAR(45) NOT NULL , plz SMALLINT NOT NULL , ort VARCHAR(45) NOT NULL , mitarbeiter_id INT NULL , PRIMARY KEY (id) , INDEX fk_adresse_mitarbeiter (mitarbeiter_id ASC) , CONSTRAINT fk_adresse_mitarbeiter FOREIGN KEY (mitarbeiter_id ) REFERENCES mitarbeiterverwaltung.mitarbeiter (id ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; -- ----------------------------------------------------- -- Table mitarbeiterverwaltung.projekt -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS mitarbeiterverwaltung.projekt ( id INT NOT NULL AUTO_INCREMENT , name VARCHAR(45) NULL , abkuerzung VARCHAR(3) NULL , PRIMARY KEY (id) ) ENGINE = InnoDB; -- ----------------------------------------------------- -- Table mitarbeiterverwaltung.telefon -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS mitarbeiterverwaltung.telefon ( id INT NOT NULL AUTO_INCREMENT , nummer VARCHAR(45) NOT NULL , typ ENUM('B', 'H', 'P') NOT NULL , mitarbeiter_id INT NOT NULL , PRIMARY KEY (id) , INDEX fk_telefon_mitarbeiter (mitarbeiter_id ASC) , CONSTRAINT fk_telefon_mitarbeiter FOREIGN KEY (mitarbeiter_id ) REFERENCES mitarbeiterverwaltung.mitarbeiter (id ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; -- ----------------------------------------------------- -- Table mitarbeiterverwaltung.projekt_mitarbeiter -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS mitarbeiterverwaltung.projekt_mitarbeiter ( mitarbeiter_id INT NOT NULL , projekt_id INT NOT NULL , PRIMARY KEY (mitarbeiter_id, projekt_id) , INDEX fk_mitarbeiter_has_projekt_mitarbeiter (mitarbeiter_id ASC) , INDEX fk_mitarbeiter_has_projekt_projekt (projekt_id ASC) , CONSTRAINT fk_mitarbeiter_has_projekt_mitarbeiter FOREIGN KEY (mitarbeiter_id ) REFERENCES mitarbeiterverwaltung.mitarbeiter (id ) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT fk_mitarbeiter_has_projekt_projekt FOREIGN KEY (projekt_id ) REFERENCES mitarbeiterverwaltung.projekt (id ) ON DELETE NO ACTION ON UPDATE NO ACTION); SET SQL_MODE=@OLD_SQL_MODE; SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;