2010-07-30 3 views
1

서비스 제공 업체를위한 청구 시스템에서 작업 중이며 사용자 지정 환경 설정 스키마라는 것을 구현해야합니다. 주요 기능은 관리자가 다양한 상황에서 필수 필드를 정의 할 수 있어야합니다. 예 : 고객이 사이트에 등록 만하면 이름, 성 및 전자 메일 주소를 입력해야합니다. 청구 가능 항목을 주문하는 경우 기본 주소 데이터를 입력해야하지만 특정 항목을 원하면 결제 및 배송 주소를 입력해야합니다. 관리자가 각 제품 (또는 카테고리)의 주소와 필수 (청구, 배송, 기본 등) 주소가 필수 필드를 정의 할 수있게하고 싶습니다. 하나의 제품/서비스에 둘 이상의 주소가 필요한 경우 모두 필수 필드 목록이 동일합니다. 한 가지 중요한 점은 추가 필드 정의가 허용되어야한다는 것입니다. 주소 스키마 선택 규칙은 제품 및/또는 국가를 기반으로합니다.맞춤형 사용자 주소 구현

제 질문은이 문제에 적절한 모델이어야합니다. 고객 객체에는 주소 목록이 있어야한다고 가정합니다. 모든 주소는 이름 (Billing, Main, Shipping)과 그 값에 대한 참조가 있어야합니다. 데이터베이스 측면에서, 내 생각은 열로 표준 속성을 가진 주소에 대해 하나의 테이블을 가지며 사용자 정의 속성 (관리자가 정의)에 대해 하나의 EAV 테이블을 갖는 것입니다. 클래스 테이블 상속을 고려했지만 주소에 대한 최종 특성 집합이 없기 때문에 여기에는 적합하지 않습니다. 두 번째 옵션은 사용자 지정 특성을 저장하는 데 XML 열을 사용하는 것이지만 해당 데이터 형식을 사용하지 않았기 때문에 성능에 대해 확신하지 못합니다. 나는 EAV가 표준 관계형 디자인이 아니라는 것을 알고 있지만 여기서는 괜찮아 보입니다. 하지만 내가 말한 것처럼이 솔루션에 대해 100 % 확실하지는 않으며 다른 아이디어를 듣고 싶습니다.

미리 감사드립니다.

답변