Я создал простую базу данных, используя Dezign:

Это вывод:
CREATE TABLE `Entity1` (
`Attribute_1` INTEGER NOT NULL AUTO_INCREMENT,
CONSTRAINT `PK_Entity1` PRIMARY KEY (`Attribute_1`)
);
# ---------------------------------------------------------------------- #
# Add table "Entity2" #
# ---------------------------------------------------------------------- #
CREATE TABLE `Entity2` (
`Attribute_2` INTEGER NOT NULL AUTO_INCREMENT,
`Attribute_11` INTEGER NOT NULL,
CONSTRAINT `PK_Entity2` PRIMARY KEY (`Attribute_2`, `Attribute_11`)
);
# ---------------------------------------------------------------------- #
# Foreign key constraints #
# ---------------------------------------------------------------------- #
ALTER TABLE `Entity2` ADD CONSTRAINT `Entity1_Entity2`
FOREIGN KEY (`Attribute_11`) REFERENCES `Entity1` (`Attribute_1`) ON DELETE CASCADE ON UPDATE CASCADE;
Attribute_11
в Entity2
относится к Attribute_1
в Entity1
. Однако, когда я импортирую это на мой сервер MySQL 5.1, я все еще могу вставить строки в Entity2
, даже если поле Attribute_11
не соответствует ни одной из записей в таблице Entity1
.
Как я могу ограничить это с помощью Dezign? Почему ограничения внешнего ключа недостаточно?