2014-07-05 1 views
-1

서브 테이블 (또는 서브 테이블 간의 조인)에 대한 일반화 된 쿼리 방법을 설정하려는 대용량 데이터베이스가 있습니다. 그러나 내가 관심있어하는 테이블은 부모 테이블의 하위 테이블입니다. 부모 테이블의 하위 테이블은 쿼리하는 테이블에 따라 부모 테이블과 관계가 깊지 않은 알 수없는 테이블입니다.알 수없는 중간 테이블 수를 가진 두 테이블 간의 관계 데이터베이스 조인

관심있는 두 테이블 사이의 모든 임시 테이블에 SQL이 자동으로 연결될 수있는 방법이 있습니까? 또는 부모 테이블의 하위 집합에만 질의를 좁 힙니까? 관계의 설정 예를 들어

: Folder_Table-> System_Table-> Items_Table-> Items_Class-> Items_attributes-> Items_Methods-> Method_Data-> Method_History

내가 할 수 있도록하려면이 일반적으로 검색을 수행하거나 조인 결과가 Folder_table의 단 하나의 폴더에 대한 하위 테이블 인 경우 X 테이블 수준의 일련의 명시 적 조인을 수행 할 필요없이 런타임시 일반 쿼리 인터페이스를 작성하는 복잡성이 크게 증가합니다.

답변

2

아니요, 없습니다.

당신이 원하는 것은 프로그래밍 언어 나 데이터베이스의 황금 만병 통치약이 될 유명한 "수행하고 싶은 것을 찾아라"기능입니다.

SQL은 명시 적입니다. 참여할 테이블과 참여 방법을 명시 적으로 나열하여 경로를 지정해야합니다.

이제 특정 사례에 대해 이러한 기능을 수행 할 수 있습니까? 확실한. 특정 테이블 구조 나 테이블 A와 테이블 B 사이의 경로를 자동으로 찾는 데 필요한 정보를 얻는 방법에 대한 지식을 구축하게됩니다. 그러나 이미 존재하는 그러한 내장 함수는 없습니다. 당신이 그것을 사용하기 위해서. 그래서 당신이 그런 기능을 원한다면, 당신 스스로 그것을 써야 할 것입니다.

보너스 질문 : A와 B 사이에 여러 경로를 거기

  • 경우는 어떻게?
+0

나의 변호로, 나는 이것이 "황금의 만병 통치약"범주에 속한다고 생각하지 않는다. 나는 SQL과 같은 해석 언어가 내성을 가질 것으로 기대하는 현대 프로그래밍 언어 패러다임을보고있다. 인트로 스펙 션을하면 명시 적으로 호출하지 않고도 A와 B 간의 관계 체인을 이해할 수 있어야합니다 ... 아마도 여러 개의 병렬 루프가 포함 된 복잡한 상황을 제외하고는 가능합니다 (하지만 정직하게 해결할 수없는 이유는 아닙니다) . –