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-Child | ERD/UML/인덱스 | 자기참조 관계 |
실무 적용 | 자재관리, 생산계획 | 성능, 재사용, 데이터 정확성 | 계층적 UI/조직 표현 |