집 >데이터 베이스 >MySQL 튜토리얼 >데이터베이스 관계에 대해 구분자 열이 있는 하위 유형이나 단일 테이블을 사용해야 합니까?
데이터베이스 테이블 관계를 위한 하위 유형 설계
데이터베이스 스키마를 설계할 때 주요 고려 사항 중 하나는 하위 유형을 사용할지 여부를 결정하는 것입니다. 객체 지향 프로그래밍의 맥락에서 하위 유형은 상위 유형 또는 상위 클래스에서 속성과 메서드를 상속하는 파생 클래스입니다. 데이터베이스에서 이 개념은 테이블 관계에 적용될 수 있습니다.
주어진 시나리오에서 데이터베이스에는 BOOKS, ARTICLES 및 참고. 각 책이나 기사에는 여러 개의 메모가 있을 수 있으며 원래 디자인에서는 책 메모와 기사 메모를 구별하기 위해 note_type이라는 판별자 열이 있는 단일 NOTES 테이블을 제안했습니다. 그러나 이 접근 방식은 데이터 무결성 문제와 중복으로 이어질 수 있습니다.
질문에서 제안된 대안 접근 방식은 5가지를 사용하는 것입니다. 테이블:NOTES 테이블이 책과 기사 모두에 대해 복제되므로 중복이 발생합니다.
대안 접근 방식을 고려하십시오: 수퍼 유형 테이블과 함께 상위 유형/하위 유형 디자인을 사용하는 것입니다.PUBLICATION이라고 하고 BOOKS에 대한 하위 유형 테이블을 기사. 이 시나리오에서 PUBLICATION 테이블에는 책과 기사 모두에 공통적인 열이 포함되고, 하위 유형 테이블에는 각 유형에 특정한 열이 포함됩니다.
PUBLICATION {
위 내용은 데이터베이스 관계에 대해 구분자 열이 있는 하위 유형이나 단일 테이블을 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!