내 웹 사이트의 카테고리 및 하위 카테고리 시스템을 만들고 싶습니다. 예제로 StackOverflow의 태그 시스템을 가지고 가서, 내가 좋아하는 계층 구조를 표현하려는 :SQL Server에서 트리를 나타 냅니까?
ProgrammingConcepts
Functions
FlowControl
Branching
Looping
Datastructures
List
Tree
사용자는이 트리를 검색 할 수 있도록 사용자가 FlowControl
를 검색 할 수 및 기사로 태그받을 수 있어야한다 FlowControl
, Branching
또는 Looping
.
데이터베이스에서 어떻게 표시해야합니까? 확실한 해결책은 다음과 같은 표를 사용하는 것입니다.
Categories
CategoryId int <PK>
ParentId int <Nullable>
CategoryName
나는 이것이 쿼리하는 것이 어려울 수도 있다고 생각합니다. 난 그냥 asp.net mvc 배우기 시작했습니다 - 특히 엔티티 프레임 워크 시스템이 이전에 데이터베이스로 작업 한 것보다 훨씬 잘 작동하는 것 같습니다. 나무 구조와 잘 어울리는가?
그렇게 할 것입니다. Common Table Expressions를 사용하면 재귀 쿼리를 수행하여 트리를 탐색 할 수 있습니다. – HABO