Как мне создать эту реляционную таблицу? - PullRequest
1 голос
/ 17 марта 2011

Ниже приведена часть реляционной базы данных.Я знаю, как создать таблицу Film и назначить ей первичный ключ ... но не преуменьшаю необходимость создания других таблиц и назначения ей первичного ключа.Любая помощь?

enter image description here

таблица 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)
);

как мне создать таблицу FilmFormat и OrderItem?

Ответы [ 2 ]

2 голосов
/ 17 марта 2011
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 голосов
/ 17 марта 2011

Этого достаточно, чтобы показать вам, как создать ограничение внешнего ключа между двумя таблицами. Как уже отмечалось, ограничение 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)
);

Последний стол просто сделает вашу работу за вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...