2011-09-08 3 views
0

나는 나의 mysql 데이터베이스에서해야 할 일대일 관계에 대한 도움이 필요하다. 나는 stackoverflow 질문에 대답을 찾으려고하지만 그것을 찾을 수 없습니다. 테이블 연락처 및 테이블 주소가 테이블 연락처에 4 개의 주소 ID가 있으므로이 ID는 주소 테이블의 외래 키 4 개가되어야하며 주소 테이블에는 외래 키 연락처가 있어야합니다. 이게 정확합니까? 그러면 (연락처) 1 : * (주소) 관계가 생깁니 까?mysql에서 관계 카디널리티를 일대일로 설정하는 방법은 무엇입니까?

어떻게이 관계를 만들 수 있습니까?

+0

네, 테이블을 어떻게 세울 계획인지에 관해 당신이 말하는 것은 정확합니다. 그것은 당신에게 1 : * rel을 줄 것입니다; 그러나 "1 대 1의 카디널리티"를 설정하는 방법을 묻는 질문에 1 : 1 rel이 아니기 때문에 질문 제목이 오해의 소지가 있습니다. – Icarus

+0

나는 하나의 사용자가 연락처 테이블에있는 각각의 id_address에 하나의 주소를 가지고 있다는 것을 알고 싶기 때문에 일대일로 알고있다. (그 중 4 개는 –

+0

) 당신은 개념이 섞여있다. 그것은 여전히 ​​일대일 관계입니다. Joe가 제안한 Bridge 테이블없이 원하는 것을 얻으려면 contact_id 열을 주소 테이블에 추가하기 만하면됩니다. 그러나 나는 그것이 일대 다 관계라고 주장한다. – Icarus

답변

0

여기에 다 대다 관계가 있습니다. Contact 테이블과 Address 테이블 모두에 외래 키가 포함 된 새로운 브리지 테이블 ContactAddressXref을 도입하여이 문제를 해결해야합니다.

+0

좋아,하지만 연락처 테이블에 4 id_address 유지합니까? –

+0

해당 주소 ID는 새 브리지 테이블에 들어갑니다. 주소를 참조하는 연락처 테이블에는 열이 없어야합니다. –

+0

네,하지만 그 브리지 테이블에서 나는 연락처에 주소가 4 개 밖에 없다는 것을 알 수 없습니다. –

관련 문제