[온톨로지 적용하기] 4주차 Day 2 — 테이블 하나가 개념 하나인가

주차 주제: 우리 테이블에서 개념 꺼내기 | 제조 사례: 테이블 27개에서 개념 11개

오늘의 목표: 합칠 때와 나눌 때의 기준을 세운다.

소요 시간: 30분


1. 답

대개 아닙니다.                             ★
  여러 테이블 → 개념 하나                      ★
  테이블 하나 → 개념 여럿                      ★
  테이블 하나 → 개념 아님                  ★

2. 합치는 경우 넷

① 헤더 / 디테일                            ★
   so_header + so_detail
   → 「수주」 + 「수주품목」                    ★
   (둘이지만 테이블 수와 다릅니다)

② 본체 / 이력                              ★
   item_master + item_master_hist
   → 「품목」 하나                              ★

③ 본체 / 확장                              ★
   item_master + item_ext + item_spec
   → 「품목」 하나                              ★

④ 여러 시스템의 같은 것                    ★
   erp.item + mes.item + plm.part
   → 「품목」 하나  (8주차 바인딩)              ★

3. ①이 헷갈린다

헤더/디테일을 하나로 볼지 둘로 볼지
기준 — 디테일을 따로 물을 일이 있나       ★
있으면 둘

  "이 품목이 들어간 수주가 몇 건?"             ★
  → 「수주품목」 을 직접 물음
없으면 하나

  주문 헤더 + 배송지 확장 테이블               ★
  → 배송지만 따로 물을 일 없음
제조에서는 대개 둘입니다.                  ★
수량·단가·납기가 디테일에 있으니까요.

4. 나누는 경우 셋

① 유형 컬럼으로 갈리는 테이블              ★
   transaction 테이블에
   type='IN'/'OUT'/'ADJ' 가 섞여 있음          ★

② 한 테이블에 여러 것이 들어간 경우        ★
   생산실적 테이블에
   실적·불량·설비가동이 다 있음                ★

③ 공통 테이블                              ★
   attachment · comment · approval            ★
   → 여러 개념에 붙습니다

5. ★ ① 유형 컬럼 — 가장 중요

제조 DB 에 흔합니다.
inventory_transaction
  type    IN / OUT / MOVE / ADJUST / SCRAP    ★
하나의 개념으로 두면

  "입고가 얼마죠?" 에
  전부 더할 수 있습니다.                    ★
나눠야 하나?
판별

  · 속성이 같으면 하나 + 유형 속성         ★
  · 속성이 다르면 나눔                      ★
  · 따로 물어지면 나눔                      ★
대개

  입고/출고는 속성이 같습니다 → 하나 + 유형    ★
  폐기(SCRAP)는 사유·승인이 붙습니다 → 나눔    ★

6. ③ 공통 테이블은 개념이 아니다

attachment · comment · approval_log ·
audit_log · notification                       ★
이것들은

  여러 개념에 공통으로 붙는 것입니다.       ★
  개념으로 올리면 관계가 거미줄이 됩니다.      ★
처리

  개념으로 안 만듭니다.                        ★
  필요하면 속성으로 표시합니다.
    "첨부 있음 여부"                           ★
예외 — 승인은 물어질 수 있습니다          ★

  "승인 대기가 몇 건이야"
  → 그러면 개념으로 올립니다

7. 제조 현장의 실제

어느 업체, 질문 3개 관련 테이블 27개.
분류해 보니
  헤더/디테일 쌍       4쌍 → 개념 8개         ★
  이력 테이블          5개 → 합침              ★
  확장 테이블          3개 → 합침              ★
  공통 테이블          4개 → 제외              ★
  코드 테이블          3개 → 속성으로          ★
  유형으로 갈리는 것    1개 → 개념 2개로 나눔   ★
  단독                 7개 → 개념 7개          ★
27개 테이블 → 개념 17개                   ★
그리고 다른 시스템의 같은 것을 합치니

  개념 11개                                 ★
27 → 11.

8. 세어 보면 대개 절반 이하

경험적 비율
  테이블 100개
    − 공통·코드·집계·임시   25개              ★
    − 이력·확장 (합침)      20개              ★
    − 죽은 테이블           20개              ★
    ──────────────────────
    = 35개 → 다시 시스템 간 합침              ★
    = 개념 20~25개                          ★

9. 이름은 테이블명을 쓰지 마세요

TB_SO_HD → 「수주」                            ★
MST_ITM  → 「품목」                            ★
TRN_PRD_RST → 「생산실적」                     ★
이름 규칙

  · 현장이 쓰는 말로                        ★
  · 한글로 (영문은 따로)                       ★
  · 줄임말 쓰지 않기                           ★
  · 「마스터」 「정보」 「관리」 빼기            ★
    (품목마스터 → 품목)                        ★
AI 가 읽을 이름입니다.
사람이 쓰는 말이어야 합니다.                  ★

10. 오늘 해 볼 것 (15분)

① 테이블을 분류하세요

  관련 테이블  ___개
  - 공통/코드/집계  ___개                      ★
  - 이력/확장       ___개                      ★
  - 죽은 것         ___개                      ★
  - 헤더/디테일 쌍   ___쌍                      ★
  ──────────────
  = 개념 후보  ___개                           ★
② 유형 컬럼을 찾으세요

  테이블      유형 컬럼   값 개수   나눌까      ★
  ________    ________    ___개     ○/✗
  ________    ________    ___개     ○/✗       ★
③ 이름을 다시 지으세요

  테이블명        개념명                       ★
  ____________    ________
  ____________    ________                     ★

11. 내일 할 것

컬럼에서 속성 뽑기 — 되는 것과 안 되는 것.

컬럼명만 보고 속성을 만들면 절반이 틀립니다. 값을 봐야 합니다.


이 글은 온톨로지 적용하기 과정의 4주차 2일차입니다. 과정 전체 보기

진도와 검색이 되는 판: AXPulse 기술따라가기

댓글

이 블로그의 인기 게시물

자재관리는 잘 쓰는데 BOM은 엑셀입니다

협력사 AI 로봇 도입, 공급망 스마트 제조 생태계 대응 전략

개발 테스트 자동화, AI 에이전트와 MCP 도입 전략