如何创建此关系表?

问题描述 投票:1回答:2

以下是关系数据库的一部分。我知道如何创建表Film并为其分配主键..但不要低估创建其他表并为其分配主键。有帮助吗?

Film

CREATE TABLE Film (
  Id INTEGER PRIMARY KEY,
  Title VARCHAR(35) NOT NULL,
  Description VARCHAR(256) NOT NULL,
  Year INTEGER NOT NULL CHECK (Year > 1900),
  Rating INTEGER NOT NULL DEFAULT 3 CHECK (Rating BETWEEN 1 AND 5)
);

我如何创建表FilmFormatOrderItem

mysql database-design datatable
2个回答
2
投票
CREATE TABLE `jy` (
  `PKfield` INTEGER UNSIGNED NOT NULL DEFAULT NULL AUTO_INCREMENT,
  `field2` VARCHAR(45) NOT NULL,
  PRIMARY KEY (`PKfield`),
  CONSTRAINT `FK` FOREIGN KEY `FK` (`PKfield`)
    REFERENCES `Film` (`Id`)
    ON DELETE RESTRICT
    ON UPDATE RESTRICT
)
ENGINE = InnoDB;

0
投票

这足以向您展示如何在两个表之间创建外键约束。如评论所述,CHECK约束将被解析但被忽略。

CREATE TABLE Film (
  Id INTEGER PRIMARY KEY,
  Title VARCHAR(35) NOT NULL,
  Description VARCHAR(256) NOT NULL,
  Year INTEGER NOT NULL CHECK (Year > 1900),
  Rating INTEGER NOT NULL DEFAULT 3 CHECK (Rating BETWEEN 1 AND 5)
);

CREATE TABLE FilmFormat (
  FilmId INTEGER not null,
  FormatId INTEGER not null,
  Price decimal(16,4) null,
  Primary Key(FilmId, FormatId),
  Constraint FK_FilmFormat_FilmId FOREIGN KEY (FilmId) REFERENCES Film(Id)
);

做最后一张桌子就是为你做的工作。

© www.soinside.com 2019 - 2024. All rights reserved.