動物と動物園の飼育係の間の多対多の関係を含む割り当てがあり(それに応じて答えます)、次のようにこの関係を作成するようにSQLを設定しました。
CREATE TABLE Animal
(
animalID VARCHAR(5) NOT NULL PRIMARY KEY,
-- more rows created here;
);
CREATE TABLE Zookeeper
(
employeeID VARCHAR(5) NOT NULL PRIMARY KEY,
-- more rows created here;
);
CREATE TABLE Animal_Zookeeper
(
animal_id VARCHAR(5) NOT NULL,
employee_id VARCHAR(5) NOT NULL,
PRIMARY KEY (employee_id, animal_id)
);
-- insert data to Animal/Zookeeper tables
ALTER TABLE Animal_Zookeeper
ADD CONSTRAINT FK_Animal_Zookeper_Relation_1
FOREIGN KEY (animal_id)
REFERENCES Animal(animalID)
ON UPDATE RESTRICT
ON DELETE RESTRICT,
ADD CONSTRAINT FK_Animal_Zookeeper_Relation_2
FOREIGN KEY (employee_id)
REFERENCES Zookeeper(employeeID)
ON UPDATE RESTRICT
ON DELETE RESTRICT;
これがこの関係を表す正しい方法であるかどうか、またはこれがどのように動作するかについて完全に自信がないために何かを見逃していないかどうかを確認したいと思います(いくつかの説明があればいいでしょう:D)。私はまた、表すためにゼロ以上から1つ以上の関係を持っています、それは単に上記と同じ方法で行われますか?
事前に感謝します。私が言ったように、それは割り当てのためですので、私のためにそれをしないでください。ちょっとしたチェックといくつかのポインタが役に立ちます:p