관계형 데이터베이스 디자인에 익숙하지 않아이 데이터베이스를 올바르게 디자인하기위한 정보 하나를 명확히하려고 노력하고 있습니다. 플랫폼으로 Filemaker를 사용하고 있지만 이것이 보편적 인 질문이라고 생각합니다.관계 데이터베이스 디자인 - 개체가 많거나 많다. 자체 조인 테이블 또는 새 테이블을 사용하여 해결할 수 있습니까?
모든 일대 다 관계가 이상적이며 별도의 테이블을 사용하거나 테이블을 조인하여 이상을 해결하는 논리를 사용합니다.
여러 제품 범주로 여러 브랜드로 만든 여러 제품이있는 데이터베이스가 있습니다. 또한 사용자의 요구가 끊임없이 변하기 때문에 가능한 한 많은 방법으로 데이터를 슬라이스하고 다룰 수있는보고 기능을 최대한 확장 할 수 있기를 바랍니다.
그래서 "각 브랜드에는 여러 제품이 있습니까?"라는 질문을하고 "각 제품에 여러 브랜드가 있습니까?"대답은 아니오입니다. 그래서 이것은 일대 다 관계지만 자체 조인 테이블이 필요한 모든 것을 줄 수도 있습니다.
또한이 방법론은 제품 범주와 같은 다른 "제품 관련"정보에 대한 토끼 구멍을 내린 것처럼 보입니다. 각 제품은 하나의 제품 범주에 묶여 있지만 하나의 제품 범주 만 제품과 관련되어 있습니다.
그래서 두 가지 가능성을 확인하고, 세 개의 테이블을 만들고 기본 및 외래 키와 결합합니다 (하나는 브랜드 용, 하나는 제품 카테고리 용, 다른 하나는 제품 용).
두 번째 가능성은 브랜드와 제품 카테고리 및 제품 정보가 모두 하나의 테이블에 포함되어있는 하나의 테이블을 생성하는 것입니다 (모두 제품 관련이므로). 자체 조인 및 다른 쿼리 기반 테이블을 사용하여 향후보고 요구 사항은 시간이 지남에 따라 변경 될 것입니다.
나는 올바른 방향으로 나를 가리킬 수있는 경험으로부터의 의견을 찾고있다. 사전에
감사합니다!
세 개의 테이블 ... 시도해보고 정상화해야합니다. 데이터에 따라 세 개 이상을 사용하고 슬라이스와 다이스를 어느 정도 필요로 할 수도 있습니다. –
답장을 보내 주셔서 감사합니다. 중복성을 줄이거 나 제거하면 관계 데이터베이스에 "일대 다"테이블이 너무 많습니다. –
다른 열이 다른 데이터를 가지고 있기 때문에 테이블에 데이터를 복제하는 경우 다른 테이블로 나누는 것이 더 좋습니다 :) –