우리는 계층 적보고 구조를 관리하는 응용 프로그램의 지원을 상속 받았습니다. 테이블 구조는 다음과 같습니다.계층의 SQL 관리
id_from, id_to, 활성, 값 .. 본질적으로 4 티어의 트리입니다.
의 예 존재 : 표에서
A B C D -> item q
A B C E -> item r
A B C F -> item s
A B G H -> item t
우리는 그래서 우리는 한 번만 각각의 고유 한 쌍을 들고
id_from, Id_to, active, Value
A B Y .
B C Y .
C D Y item q
C E Y item r
C F Y item s
B G Y .
G H Y item t
을 누르고 있습니다. 구조체에 대해 프로그래밍 방식으로 많은 변경 사항을 실행해야하는 문제가 있습니다. 일 실시 것 :
A B C D -> item q
가된다 :
A T C D -> item q
그래서 데이터 세트가된다 :
가A T C D -> item q
A B C E -> item r
A B C F -> item s
A B G H -> item t
따라서 테이블
id_from, Id_to, active, Value
A T Y
T C Y
A B Y
B C Y
C D Y item q
C E Y item r
C F Y item s
B G Y
G H Y item t
것이 있지만 당 예 : 이것은 c가 아닙니다. orrect는 트리가 여전히 A B C D와 A T C D의 링크를 생성합니다.
실제로 다른 C 값을 다른 것으로 변경해야합니다.
id_from, Id_to, active, Value
A T Y
T C Y
A B Y
B Cx Y
C D Y item q
Cx E Y item r
Cx F Y item s
B G Y
G H Y item t
이것은 우리가 보는 많은 문제 중 한 가지 예일뿐입니다. 그러나이 구조가 인식 된 모델인지 궁금합니다. 따라서 구조를 관리하기위한 일반적인 알고리즘을 제공 할 수있는 링크가 있습니다.
나는 테이블을 가지고 이해를의 보고서 (ID, 값 1, 값 2, ...) 다른 관계를 가정 해 봅시다 (FromDataId, ToDataId) . 당신의 관계에는 왜 가치 란이 있습니까? –
예제가 약간 혼란 스럽습니다! 나는 이것이 인정 된 모델이라고 생각하지 않는다! 그것은 중첩 된 세트 구조처럼 보입니다. – Daniel
안녕하세요, '관계에 가치 열이있는 이유는 무엇입니까?'이것은 실제 구조의 매우 단순화 된 모델입니다. 전체 세부 정보를 설명하기가 어려울 수 있습니다. 그것을 관리하는 방법을 이해할 필요가 있습니다. – user641399