저는 이제 데이터베이스 디자인을 처음 접했습니다.데이터베이스 정규화 - 관계가없는 테이블을 갖는 것이 좋습니다.
테이블을 추가해야하는 MS SQL 데이터베이스가 있습니다. 이 테이블에는 다른 테이블과 관련된 정보가 들어 있습니다. 그러나 기본 키에 대한 후보는 없습니다 (모든 필드는 중복 될 수 있음). 테이블을 사용하는 유일한 방법은 특정 종류의 쿼리에 필요할 수있는 레코드를 유지하는 것입니다. 다른 테이블에도 포함되지만 (고유하게 사용하지 않는) 필드를 사용하면 쉽게 검색 할 수 있습니다.
특히, 주요 테이블에는 많은 화학 기록이 있습니다. 각 화학 기록은 품질 관리 기록이라고하는 다른 기록 집합과 관련됩니다 (두 번째 표에 있음). 필드는 "BatchID"라는 필드와 연관되어 있습니다. 슈퍼 쉬운 부분은 "이 BatchID로 모든 레코드를 가져와"내가 필요한 것을 정확하게 얻을 수 있다는 것입니다. 그러나 두 테이블의 BatchID 인스턴스가 여러 개있을 수 있습니다 (사실 일반적으로 존재합니다). 그래서 링크를 연결하기 위해 점프해야합니다. 좀 더 일반적인 의미에서, 이론 상으로는 주위에 떠 다니는 탁자를 붙이지 않아도 괜찮습니까?
압도적으로 간단한 솔루션은 화학적 테이블과 아무 관계없이 품질 관리를 db에 넣는 것입니다. 나는 적어도 하나 이상의 다른 테이블을 삽입해야 할 필요가 있습니다. 아마도 더 많은 것, 그리고 그와 같은 제 인생을 복잡하게 만드는 유일한 이유는 데이터베이스 디자인의 중요한 교훈을 위반하고 싶지 않기 때문입니다.
내 질문에, 데이터베이스에 부동 테이블 만 있으면 괜찮습니까? 아니면 그게 맞습니까?
도움 주셔서 감사합니다.
게시 한 시나리오가 너무 추상적이어서 나를 파악할 수 없습니다. 보다 실질적인 본보기를 줄 수 있습니까? (즉, "특정 종류의 쿼리"가 무슨 의미입니까?). 당신은 관계를 설명합니다 ("다른 테이블에도 포함 된 필드를 사용하여 매우 쉽게 검색 할 수 있습니다"). 그래서 당신이 또한 그것을 확장 할 수 있다면 질문에 대답하는 데 도움이됩니다. – Oded
답장을 보내 주셔서 감사합니다. 내 메인 테이블에는 화학 기록이 많이있다. 각 화학 기록은 품질 관리 기록이라고하는 다른 기록 집합과 관련됩니다 (두 번째 표에 있음). 필드는 "BatchID"라는 필드와 연관되어 있습니다. 슈퍼 쉬운 부분은 "이 BatchID로 모든 레코드를 가져와"내가 필요한 것을 정확하게 얻을 수 있다는 것입니다. 그러나 두 테이블의 BatchID 인스턴스가 여러 개있을 수 있습니다 (사실 일반적으로 존재합니다). 그래서 링크를 연결하기 위해 점프해야합니다. 좀 더 일반적인 의미에서, 이론 상으로는 주위에 떠 다니는 탁자를 붙이지 않아도 괜찮습니까? – Stanton
질문을 편집하고 주석 대신 설명을 추가 할 수 있습니까? 댓글은 2 차적인 것으로 간주되며 일부 사용자는 댓글을 읽을 수 없습니다. – Oded