2014-12-15 6 views
0

이름이 들리는대로 주소 목록 인 Addresss이라는 모델이 있습니다.내 관계는 일대 다 또는 다 대다입니까?

이 주소는 Client에 속할 수 있으며 클라이언트는 이러한 주소를 많이 가질 수 있습니다. id, client_idaddress_id :

클라이언트에이 주소를 연결하려면 단순히 테이블은 3 열이 ClientAddress라는 것입니다.

여기가 one to many 또는 many-to-many의 관계입니까? 나는 현재 Pharmcon에서 ManyToMany 관계로 설정했지만 실제로는 One to Many인지 확실하지 않습니다.

+0

둘 이상의 클라이언트가 동일한 주소를 가질 수 있습니까? 그렇다면, 그것은 많은 것, 그렇지 않으면 하나 내지 많은 것입니다. –

+0

비즈니스 규칙 관점에서 볼 때, 아니지만 기술적으로는 데이터베이스 관점에서 발생할 수 있습니다. 나의 이해는 '주소'를 '클라이언트'에 연결하는 중간 테이블을 가지고 있다면 이것이 'm : n'이라는 것을 의미한다. – Lock

+1

비즈니스 규칙 관점에서 발생하지 않아야하는 경우 데이터 모델을 통해이 요구 사항을 적용하는 것은 사용자의 몫입니다. 그것은 일대 다 관계로 모델링되어야합니다. –

답변

2

1 대 다 관계입니다. 하나의 클라이언트는 여러 개의 주소를 가질 수 있습니다. 하나의 주소는 하나의 클라이언트에만 속합니다.

clientAddress 테이블에 관해서는 클라이언트 ID를 주소 테이블에 저장할 수 있으므로 삭제 해 줄 것입니다.

경우, 태그를 사용하면 문서를 살펴해야 phalcon을 사용하고 phalcon의 ORM으로 가는가를 결정하고 제안과 같이 Client
에서 시작하자 모든 how you are thinking about your Entities

을 따라 Working with Models

0

그것을 Client에 대한 정보를 저장하려고합니다. 이제 Client에만 하나의 특정 Location이있는 경우 두 가지 옵션이 있습니다. 우리는 직접 아무것도이 경우

고객 테이블 id, f_name, l_name, address, current_city, home_city, etc.... 된 직후 같은 테이블에서 Address 정보를 저장할 수에 대한 Relation

당신이 관심이 있다면 당신은이 테이블을 분할 수에 Location 정보를 저장 다른 표는 addresses으로 이름을 지정할 수 있습니다. 그 다음 과 Address 사이의 Relationone-to-one 릴레이션이됩니다.

이제 Client이 다른 사무실에있는 경우 Location 다른 테이블에 Location 정보를 저장해야합니다. 그러면 Relationone-to-many이되고 Client은 다른 '위치 정보'가 있습니다. 우리가 (수 있습니다 같은 건물) 같은 LocationClient 많은이 우리의 Client 많은 Location 많은 사무실이있는 경우

자, 다음은 many-to-many 관계로 될 것입니다. ClienthasManyAddressAddresshasManyClient로서 우리는 우리의 Relation 정보를 보유하는 pivot 또는 intermediate 테이블을 새.

0

모델이 얼마나 복잡한 지에 따라 다릅니다.

귀하의 "고객"이 국내 회사의 지점이라고 가정합니다. Eech "고객"은 여러 개의 주소 (예 : 배달 주소 및 청구 지 주소)를 가질 수 있습니다.또한 계정 과금 기능이 지역 또는 전국 지사 ("배달 주소"가있을 수도 있고 가지지 않을 수도 있음)로 중앙 집중화 될 수 있기 때문에 청구서 수신 주소는 많은 "고객"간에 공유 될 수 있습니다.

따라서이 시나리오에서는 다 대다 관계입니다.