문서 형 데이터베이스 디자인 모드 - 트 리 데 이 터 를 어떻게 저장 합 니까?
이 글 은 트 리 구조 데 이 터 를 저장 하 는 것 을 수요 로 하여 관계 형 데이터 베이스 와 문서 형 데이터 베 이 스 를 이용 하여 저장 하 는 몇 가지 디자인 모델 을 묘사 했다.
A. 관계 형 데이터베이스 디자인 모델 1
id
name
parent_id
1
A
NULL
2
B
1
3
C
1
4
D
2
위의 그림 은 전통 적 인 디자인 방법 중 하 나 를 나타 낸다. 바로 나무 구조의 모든 결점 을 관계 형 데이터 베이스 중의 한 줄 로 저장 하고 모든 결점 은 아버지의 결점 의 지침 을 저장 하 는 것 이다.
id
name
parent_id
left
right
1
A
NULL
1
8
2
B
1
2
5
3
C
1
6
7
4
D
2
3
4
위의 그림 은 패턴 1 을 바탕 으로 두 열, left 와 right 가 더 많아 졌 으 며, btree 의 좌우 분기 에 해당 하 며, 각각 좌우 분기 결점 의 최대 치 와 최소 치 를 저장 하 였 다.
{
"name": "A",
"children": [
{"name": "B", "children": [{"name": "D"}]},
{"name": "C"}
]
}
전체 트 리 구 조 를 하나의 문서 로 저장 하고 문서 구 조 는 트 리 구조 로 간단명료 하고 이해 하기 쉽다.
D. 문서 형 데이터베이스 디자인 모델 2
{"_id": "A", "children": ["B", "C"]}
{"_id": "B", "children": ["D"]}
{"_id": "C"}
{"_id": "D"}
각 결산 점 의 모든 하위 결산 점 을 저장 하 다.
{
"leaf": "A",
"children": [
{"leaf": "B", "children": [{"leaf": "D"}] },
{"leaf": "C"}
]
}
{"_id": "A", ...}
{"_id": "B", ...}
{"_id": "C", ...}
{"_id": "D", ...}
문서 형 저장 schema - less 의 장점 을 충분히 이용 하여 위의 C 방안 을 이용 하여 큰 트 리 문 서 를 저장 한 다음 에 모든 노드 의 다른 정 보 를 따로 저장 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.