관계형 상위 유형/부속 유형 구조에서, 예를 들어 entity_type
열과 수의 유형 테이블을 가진 entity
상위 유형 테이블이있는 경우, 제가 갈 수있는 방법이 있습니까 그들의 전체 레코드를 가진 모든 엔티티를 질의하는 것에 대해, 그것은 어떻게 든 자동적으로 각각의 서브 타입 테이블에 합류하는 것인가? 너무상위 유형/부속 유형 SQL 패턴의 모든 전체 레코드 선택
:
TABLE entity
-- entity_id (INT pk)
-- entity_type_id (INT fk)
TABLE entity_type
-- entity_type_id (INT pk)
-- name //Person, Building, Animal (TEXT)
TABLE person
-- entity_id (INT fk)
-- person_name (TEXT)
-- person_age (INT)
TABLE building
-- entity_id (INT fk)
-- age_built (INT)
등
내가 모든 사람이 특정 열 (person_name
등)에 기록하는 경우 얻을 수있는 모든 개체를 쿼리, 내 결과 집합에하기를 원한다면 기록이 건물이라면 사람이었고 age_built
등 이었습니까? 유형 테이블에 하위 유형 테이블 이름을 저장하는 것에 대해 생각했지만 동적으로 그런 유형을 참조 할 수는 없다는 것을 이해합니다.
나는 여기 무지한 DB 신입 사원인가요? 명시 적으로 조인을 정의하고 각 하위 유형 테이블에 대해 쿼리를 수행하지 않아도 가능합니까?
내 데이터베이스의 다른 곳에서 entity_id
(많은 종류의 엔티티 일 수 있음)에 대한 많은 참조가있을 것이므로 초기 쿼리를 실행하지 않으려 고합니다. 먼저 유형을 확인하십시오.
MySQL에서 작업하며 엔진을 사용하지 않습니다.