저는 실제로 Doctrine Reference: One to Many, Unidirectional with Join table을 읽습니다. 그러나 이것은 아마 더 많은 SQL quesiton이 될 것입니다. 기본적으로, 이것은 일대 다, 단방향 관계를 모델링하기로되어 있습니다. 나는 PHP 코드 (그 링크에)에서, 그 같은 1 사용자가 많은 phonenumbers 있다고 생각합니다.이 SQL을 이해하는 데 도움이 필요합니다 (doctrine에 의해 생성 됨)
질문은 SQL에서 나온 것입니다. 1 명의 사용자가 많은 전화 번호를 가질 수있는 것처럼 보입니다. 1 개의 전화 번호는 1 명의 사용자에게만 속할 수 있습니다. 내가 맞습니까?
CREATE TABLE User (
id INT AUTO_INCREMENT NOT NULL,
PRIMARY KEY(id)
) ENGINE = InnoDB;
CREATE TABLE users_phonenumbers (
user_id INT NOT NULL,
phonenumber_id INT NOT NULL,
UNIQUE INDEX users_phonenumbers_phonenumber_id_uniq (phonenumber_id),
PRIMARY KEY(user_id,
phonenumber_id)
) ENGINE = InnoDB;
CREATE TABLE Phonenumber (
id INT AUTO_INCREMENT NOT NULL,
PRIMARY KEY(id)
) ENGINE = InnoDB;
ALTER TABLE users_phonenumbers ADD FOREIGN KEY (user_id) REFERENCES User(id);
ALTER TABLE users_phonenumbers ADD FOREIGN KEY (phonenumber_id) REFERENCES Phonenumber(id);
나는 단지 데이터베이스를 단순화 할 수 없습니다 ... 아래 ... 조인 테이블이 필요하지 않습니다.
Users (id, name)
Phonenumbers (id, user [FK], number)
대답을 업데이트했습니다 – garik
사용자가 전화 번호없이 존재할 수 있습니까? (맞는 것 같아요). Phonenumber 사용자는 사용자없이 존재할 수 있습니까? (맞는 것 같아요). 어떤 경우에는 자신의 테이블을 가질 가치가있는 두 엔티티 사이의 관계가 있습니다. 그러나, 나는 phonenumber가 그 자체로 엔티티 라기보다 속성이라고 주장 할 것이다. – onedaywhen
실제로 어떤 식 으로든 쓸모없는 디자인입니다. :) – garik