Hallo,
ich noch nicht so viel Erfahrung mit Datenbanken und habe mit My SQL Workbench ein SQL Schema erstellt.. In der Tabelle Autoliste refferenzieren 2 FOREIGN KEYS (`Automodel_id` , `Automodel_Autohersteller_id`) auf einen Primary Key,. Bisher dachte ich immer, dass nur ein Foreign Key auf einen Primary Key refferenzieren kann? Vielleicht kann mir das jemand erklären?
Danke.
ich noch nicht so viel Erfahrung mit Datenbanken und habe mit My SQL Workbench ein SQL Schema erstellt.. In der Tabelle Autoliste refferenzieren 2 FOREIGN KEYS (`Automodel_id` , `Automodel_Autohersteller_id`) auf einen Primary Key,. Bisher dachte ich immer, dass nur ein Foreign Key auf einen Primary Key refferenzieren kann? Vielleicht kann mir das jemand erklären?
Danke.
Code:
-- MySQL Script generated by MySQL Workbench -- Sat Mar 7 00:03:48 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='TRADITIONAL,ALLOW_INVALID_DATES'; -- ----------------------------------------------------- -- Schema mydb -- ----------------------------------------------------- -- ----------------------------------------------------- -- Schema mydb -- ----------------------------------------------------- CREATE SCHEMA IF NOT EXISTS `mydb` DEFAULT CHARACTER SET utf8 ; USE `mydb` ; -- ----------------------------------------------------- -- Table `mydb`.`Autohersteller` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `mydb`.`Autohersteller` ( `idAutohersteller` INT NOT NULL, `Autoherstellercol` VARCHAR(45) NULL, PRIMARY KEY (`idAutohersteller`)) ENGINE = InnoDB; -- ----------------------------------------------------- -- Table `mydb`.`Automodel` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `mydb`.`Automodel` ( `idAutomodel` INT NOT NULL, `Automodelcol` VARCHAR(45) NULL, `Autohersteller_id` INT NOT NULL, PRIMARY KEY (`idAutomodel`, `Autohersteller_id`), INDEX `fk_Automodel_Autohersteller_idx` (`Autohersteller_id` ASC), CONSTRAINT `fk_Automodel_Autohersteller` FOREIGN KEY (`Autohersteller_id`) REFERENCES `mydb`.`Autohersteller` (`idAutohersteller`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; -- ----------------------------------------------------- -- Table `mydb`.`Autoliste` -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `mydb`.`Autoliste` ( `idAutoliste` INT NOT NULL, `Autolistecol` VARCHAR(45) NULL, `Automodel_id` INT NOT NULL, `Automodel_Autohersteller_id` INT NOT NULL, PRIMARY KEY (`idAutoliste`, `Automodel_id`, `Automodel_Autohersteller_id`), INDEX `fk_Autoliste_Automodel1_idx` (`Automodel_id` ASC, `Automodel_Autohersteller_id` ASC), CONSTRAINT `fk_Autoliste_Automodel1` FOREIGN KEY (`Automodel_id` , `Automodel_Autohersteller_id`) REFERENCES `mydb`.`Automodel` (`idAutomodel` , `Autohersteller_id`) 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;
Kommentar