과 같은 모든 종류의 제품을 관리하는 데 어려움이 있습니다. 제가 도움이 필요한 부분이 있습니다. 미니 아마존과 같은 웹 사이트 데이터베이스를 디자인하고 싶습니다. 이 데이터베이스는 모든 종류의 제품 (TV, 자동차, 컴퓨터, 서적, 비디오 게임, 연필, 테이블, 바지 등 ...)을 관리 할뿐만 아니라 각 제품에는 색인이 생성되는 속성이 있어야합니다 (예 : 제품 책, 속성은 장르, 년, 저자와 같은 것입니다. 제품이 TV 인 경우 특성은 크기, 색상, 연도와 같을 것입니다. 제품이 자동차 인 경우 속성은 연도, 색상, 모델과 같은 것입니다. 그래서,이 내 생각이다 :문제가 데이터베이스를 설계하는 동안 Amazon의
- 한 표는 (... 전자 책 등) 부서를 관리하는 부서의 범주를 관리 할 수
- 한 테이블이 표는 이전의 자식이 될 것입니다. 부서가 전자 제품 일 경우 오디오, TV 및 비디오, 게임 ... (각 카테고리는 하나의 부서에 속하며, 관계는 여러 카테고리로 구분됩니다)
- 제품을 관리하는 하나의 테이블 (각 제품은 하나의 카테고리, 관계는 많은 제품에 하나의 카테고리 임)
- 속성 (예 : 연도, 색상, 장르, 모델 ...)을 관리하는 하나의 테이블
- 속성이있는 제품에 참여하는 하나의 테이블로이 속성은 ProductProperties
이것이 최선의 방법인지 모르겠다면, 데이터베이스가 커질 것입니다. MySQL 데이터베이스를 개발할 것입니다. 하지만이 방법이 최선의 방법은 아니라고 생각합니다.이 기사에서는 "데이터베이스 추상화 : 집계 및 일반화"http://cs-exhibitions.uni-klu.ac.at/index.php?id=433, 즉 일반 오브젝트 (제 생각에는)이지만이 방법은 오래된 것입니다 (70 년대). 이 기사에서는 http://www.simple-talk.com/sql/database-administration/ten-common-database-design-mistakes/ 섹션의 "모든 도메인 값을 유지하는 하나의 테이블"에서 잘못된 방법이라고 말합니다.이 테이블을 ProductProperties로 작성했기 때문에이 테이블을 만들지 않겠습니까? 각 종류의 제품에 대한 표.
의견이 있으십니까? 아니면 더 좋은 아이디어가 있습니까?
미리 감사드립니다.