계층형 데이터 모델 다루기

SQL Server에서의 계층형 및 재귀 쿼리

Jasmin Ludolf

Content Developer

계층형 데이터 모델

계층형 데이터 모델의 특성:

  • 트리 구조로 표현
  • 하나의 루트 요소 보유
  • 각 자식 기록은 하나의 부모를 가짐

트리로 표현한 계층형 데이터의 한 예

장점:

  • 이해하기 쉬움
  • 조회 속도 빠름

단점:

  • 구조가 경직됨
  • 구조 변경이 복잡함
SQL Server에서의 계층형 및 재귀 쿼리

계층형 데이터 모델 예시

고객-청구서-상품 관계:

한 고객은 여러 청구서를 가질 수 있고, 각 청구서에는 여러 상품이 있을 수 있습니다

CREATE TABLE Customer (   
    ID INT NOT NULL);
CREATE TABLE Bill (   
    BillID INT NOT NULL,  
      CustomerID INT);
CREATE TABLE Article (   
    ArticleID INT NOT NULL,  
      BillID INT);

고객-청구서-상품 관계의 계층 표현

SQL Server에서의 계층형 및 재귀 쿼리

네트워크형 데이터 모델

네트워크형 데이터 모델의 특성:

  • 계층형 모델과 유사
  • 다대다 관계
  • 탐색 경로가 다양함

트리로 표현한 네트워크형 데이터의 한 예

장점:

  • 엄격한 계층 없음
  • 해결 경로가 다양함
  • 실제 사례가 많음

단점:

  • 대규모 모델에서 가독성 저하
SQL Server에서의 계층형 및 재귀 쿼리

네트워크형 데이터 모델 예시

고객-주문-상품 관계:

다수의 고객이 여러 주문을 가질 수 있고, 각 주문에는 여러 상품이 있을 수 있습니다.

CREATE TABLE Customer (   
    ID INT NOT NULL);
CREATE TABLE Order (   
    OrderID INT NOT NULL,  
      CustomerID INT);
CREATE TABLE Article (   
    ArticleID INT NOT NULL,  
      OrderID INT);

고객-주문-상품 관계의 네트워크 표현

SQL Server에서의 계층형 및 재귀 쿼리

연습해 봅시다!

SQL Server에서의 계층형 및 재귀 쿼리

Preparing Video For Download...