BOM, Arc, Recursive relationship

agnusdei·2025년 5월 3일
0

Database

목록 보기
12/30

1. BOM 관계 (Bill of Materials Relationship)

1.1. 정의

BOM(Bill of Materials, 자재명세서)은 최종 제품이 어떤 부품들로 구성되어 있는지를 계층적으로 표현하는 구조입니다. BOM 관계는 이런 구성 요소 간의 관계를 계층적 Parent-Child 형태로 모델링합니다.

1.2. 주요 구성 요소

  • Parent (상위 항목): 제품 또는 조립품
  • Child (하위 항목): 구성 요소 또는 부품
  • Quantity: 특정 Parent 제품에 대해 Child 부품이 몇 개 필요한지 명시

1.3. 구조 예시 (Tree 구조)

          자동차 (Car)
          ├── 엔진 (Engine)
          ├── 바퀴 (Wheel)
          │   ├── 타이어 (Tire)
          │   └── 휠 (Rim)
          └── 차체 (Body)

1.4. BOM의 유형

유형설명
단일 수준 BOM (Single-level BOM)한 단계의 부품만 표현
다단계 BOM (Multi-level BOM)하위 부품까지 전체 계층 표현
역BOM (Reverse BOM)제품에서 부품을 추적
가상 BOM실물 없이 논리적으로만 존재하는 BOM

1.5. 실무 적용 예

  • ERP 시스템: 자재 소요량 계획(MRP), 재고관리 등
  • PLM 시스템: 제품 개발, 설계 변경 관리

1.6. 장단점

장점단점
제품 구조 이해 용이복잡한 제품일수록 구조 복잡
비용 산출 정확성변경 시 전체 구조 영향
생산 계획 수립실시간 반영 어려움

2. ARC 관 (Access-path, Relational, Class View)

2.1. 정의

ARC 관은 정보 시스템 설계 및 데이터 모델링에서 데이터의 접근, 논리적 관계, 객체지향적 관점을 종합적으로 고려하는 3가지 시각적 모델링 관점입니다.

2.2. ARC의 구성 요소

관점설명목적사용 예시
Access-path 관데이터 접근 방식과 경로 중심성능 최적화인덱스, Join 조건
Relational 관개체(Entity) 간 관계 중심정규화 설계ERD 모델링
Class 관객체간 관계 및 행위 중심재사용성, 캡슐화UML, OOP 설계

2.3. 구조 비교 예시

ERD 기반 예 (Relational)

[회원] 1 --------- N [주문]

클래스 기반 예 (Class)

class Member {
    List<Order> orders;
}

Access-path 기반 예

  • 회원ID 기준 인덱스 생성
  • 주문 테이블에서 회원ID 조건으로 검색

2.4. 특징

  • 시스템 개발 시 각 관점이 다양한 이해관계자의 요구를 수용
  • 모델링을 다각도로 분석할 수 있게 함

2.5. 실무 적용

  • DB 설계: ERD와 테이블 정규화(Relational)
  • 시스템 성능 튜닝: Access-path 기반 인덱스 분석
  • 객체지향 설계: UML 기반 시스템 구조 설계(Class)

3. 재귀 관계 (Recursive Relationship)

3.1. 정의

재귀 관계란 하나의 엔티티가 자기 자신과 관계를 맺는 구조입니다. 즉, 한 개체가 또 다른 같은 개체의 하위 또는 상위로 존재합니다.

3.2. 구조 예시

조직도 예시

[직원]
 ├── 사번: 1001
 ├── 이름: 홍길동
 └── 상사사번: 1000 (다른 직원의 사번)

→ 직원이 또 다른 직원을 상사로 가짐

ERD 표현

[직원] --- 상사관계 (1:N) --- [직원]

3.3. 트리 구조 예시

  • 재귀 관계는 대부분 트리 또는 그래프 구조로 표현됨
  • 예: 폴더 안에 폴더, 댓글에 대한 답글
Root Folder
 ├── Folder A
 │   └── Folder A-1
 └── Folder B

3.4. SQL 예시 (재귀 쿼리)

WITH RECURSIVE OrgChart AS (
  SELECT emp_id, emp_name, manager_id
  FROM employee
  WHERE manager_id IS NULL
  UNION ALL
  SELECT e.emp_id, e.emp_name, e.manager_id
  FROM employee e
  JOIN OrgChart o ON e.manager_id = o.emp_id
)
SELECT * FROM OrgChart;

3.5. 실무 적용

  • 조직 구조 표현 (CEO → 부서장 → 직원)
  • 게시판 시스템 (댓글 → 대댓글)
  • 파일 시스템 구현 (디렉터리 트리)

3.6. 장단점

장점단점
유연한 구조 표현순환 참조로 인한 무한 루프 위험
계층 표현 용이트리 순회 로직 복잡
데이터 재사용성성능 저하 가능성

종합 비교표

항목BOM 관계ARC 관재귀 관계
개념구성품 간 계층 관계데이터 모델링의 3가지 관점자기 자신과의 관계
구조트리 구조다중 관점 모델트리/그래프 구조
사용 분야제조/ERP/PLM시스템 분석/DB 설계조직도/게시판
모델링 방식Parent-ChildERD/UML/인덱스자기참조 관계
실무 적용자재관리, 생산계획성능, 재사용, 데이터 정확성계층적 UI/조직 표현

0개의 댓글