계층 데이터베이스 모델 :나는 광고의 3 (주) 범주를해야합니다 애완 동물에 대한 광고 웹 사이트를 설계하고있어
내가 직면하고있어 문제는 3 개 광고 카테고리는 공통점을 가지고있다A- Sale
B- Breeding
C- Jobs
, 그러나 그들은 또한 약간의 차이점이 있습니다.
예를 들어, 카테고리 A, B와 C는 모두 공통적으로 다음과 같습니다
이category_id
ad_id
user_id
location
그러나, 카테고리 B 광고는 B 반면 & C 캔, "판매/찾는 상대"로 분류 할 수 없습니다. 또한 각 카테고리에는 자체 하위 카테고리가 있습니다. 예를 들어 카테고리 A에는 채택 하위 카테고리가 있고 판매 하위 카테고리 & 카테고리 C에는 작업 하위 카테고리와 서비스 하위 카테고리가 있습니다.
또한 카테고리 C에서만 급여와 같은 흔치 않은 속성이 있습니다.
나는 엔티티 - 속성 - 값 모델로 작업을 시작했지만, 나는 몇 가지 문제가 있습니다이 성능에 영향을 미칠 것입니다? 사용자는 일부 고유 속성을 기반으로 검색 할 수 있어야합니다. 따라서 거대한 하나의 테이블을 통해 쿼리하면 성능에 영향을 미치지 않을까요?
내 특성 중 하나는 초기에 Animal 테이블과 Breed 테이블을 갖고 싶었습니다 (위치가 분류 된 DB 모델에 대해 자체 테이블에있는 것과 유사 함). "Animal"(A & B에만 해당) . 하지만 엔티티 속성 모델을 사용하여이 작업을 수행하는 방법을 상상할 수 없습니다. 여기
[업데이트]
, 그것은 EAV 모델보다 더 잘 맞는 것 같았다 그래서 나는이 내 EER 변경 : http://i.imgur.com/JWPjt23.png
작업 광고 및 판매 광고는 분류 할 수있다 "찾는/제공"하지만 속성에 많은 차이가 없을 것입니다 (예 : 가격 대 우선 가격). 그래서 여기에 또 다른 수준의 상속을 추가 할 필요가 있다고 생각합니까? 아니면 번거 로움입니까?
판매용 광고는 판매용 애완 동물, 입양 용 애완 동물, 입양 요청, 애완 동물 사기를 요청할 수 있습니다. 내가 이걸 두 테이블로 나누어야한다고 생각하니? 입양 및 판매? 속성에는 큰 차이가 없으며 아마도 하나의 다른 속성 일 것입니다.
데이터 분석가가 디자인 결정을 내리기에 충분한 정보를 지정하지 않았습니다. 필드가 대부분 null이 아닐 경우 광고 테이블에 nullable 필드가있을 수 있습니다. 고유 한 필드에 대해 [엔티티 속성 값 모델] (http://en.wikipedia.org/wiki/Entity%E2%80%93attribute%E2%80%93value_model)을 가질 수도 있습니다. –
Gilbert에게 감사드립니다. 질문을 명확히하고 구체적으로 설명해 드렸습니다. 편집을보고 나를 도울 수 있습니까? – Youmna