>데이터 베이스 >MySQL 튜토리얼 >하위 유형 또는 상위 유형: 다형성 데이터를 가장 잘 처리하는 데이터베이스 디자인은 무엇입니까?

하위 유형 또는 상위 유형: 다형성 데이터를 가장 잘 처리하는 데이터베이스 디자인은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-26 09:42:10232검색

Subtype or Supertype: Which Database Design Best Handles Polymorphic Data?

데이터베이스 설계를 위한 하위 유형과 상위 유형

배경

데이터베이스 설계에서는 하위 유형을 사용할지 여부를 결정합니다. 하위 유형은 특정 유형의 데이터에 다른 유형과 구별되는 추가 속성 또는 속성이 있을 때 사용됩니다. 이 접근 방식에는 각 하위 유형에 대해 별도의 테이블을 생성하여 잠재적으로 많은 수의 테이블이 생성됩니다.

예: 도서 및 기사에 대한 참고 사항

BOOKS, ARTICLES, 그리고 참고. 각 책과 기사에는 여러 개의 메모가 있을 수 있습니다. 초기 디자인에서는

  • note_id
  • note_type
  • note_type_id
  • note_content
가 있는 단일 NOTES 테이블에 메모를 할당했습니다.

별도를 활용한 대안 디자인 테이블

5개를 활용한 대안 디자인 제안 테이블:

  • 기사
  • 노트
  • book_notes
  • article_notes

이것은 책과 기사 메모를 분리하여 데이터를 단순화하는 디자인

각 디자인의 장단점

서브타입 디자인의 장점(기존 디자인):

  • 노트 통합으로 데이터 저장 단순화 한 테이블에.
  • 메모만 저장하여 冗余 방지
  • 데이터 검색에 더 적은 수의 조인이 필요합니다.

하위 유형 디자인의 단점:

  • 다음과 같이 데이터 이상이 발생할 수 있습니다. 노트 유형은 변경될 수 있습니다.
  • 노트 유형에 따라 관리가 복잡할 수 있습니다. proliferate.

상위 유형 디자인(대체 디자인)의 장점:

  • 상위 유형과 하위 유형 관계를 명시적으로 정의하여 데이터 무결성을 촉진합니다.
  • 새로운 출판 유형을 쉽게 추가할 수 있습니다(예: 잡지).
  • 데이터 계층 구조와 관계를 보다 명확하게 표현합니다.

상위 유형/하위 유형 접근 방식

수정된 접근 방식에서는 상위 유형 두 가지 하위 유형이 있는 출판 테이블을 사용하는 것이 좋습니다. : 책과 기사. 이 모델은 출판에 대한 외래 키가 있는 단일 Note 테이블을 허용하여 모든 출판 유형(도서, 기사, 잡지 등)에 걸쳐 조인을 가능하게 합니다.

위 내용은 하위 유형 또는 상위 유형: 다형성 데이터를 가장 잘 처리하는 데이터베이스 디자인은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.