데이터베이스를 설계하는 중이며 초기 설계 결정에 대해 다시 생각하고 있습니다 ...
제품 유형은 다음과 같습니다 ... 모델, 부품, 교체 부품 키트 및 옵션.
옵션 A (첫 번째 디자인) : 위의 제품 유형에 대해 별도의 테이블을 계획했습니다. 필드의 약 75 %가 각 테이블에서 동일하다고 말하고 싶습니다.
각 제품 유형을 서로 연관시켜야하기 때문에 각 제품 유형을 별도의 테이블로 작성했습니다. 예를 들어, 모델에는 많은 옵션이 있고 옵션에는 많은 모델이있을 수 있습니다. 옵션에는 많은 부품이있을 수 있으며 부품에는 많은 옵션이있을 수 있습니다.
옵션 B : 별도의 테이블을 사용하는 대신 모델, 부품, 교체 부품 키트 및 옵션을 포함하는 Product라는 테이블을 만들 수 있습니다. 모델, 옵션 등을 구별하기 위해 type이라는 하나의 필드를 가질 수 있습니다. 단점은 특정 제품 유형에 대해 여러 필드가 사용되지 않을 것입니다 (왼쪽 null). 나는 이것이 "모범 사례"가 아닌 곳에서 시작될 것이라고 추측하고있다.
옵션 B는 db 디자인의 복잡성을 크게 줄입니다. 또한 쿼리 데이터를 가져올 때 많은 테이블을 참조하는 것에 대해 걱정할 필요가 없습니다 ...