[온톨로지 적용하기] 4주차 Day 3 — 컬럼에서 속성 뽑기: 되는 것과 안 되는 것

주차 주제: 우리 테이블에서 개념 꺼내기 | 제조 사례: 컬럼명이 거짓말을 하던 회사

오늘의 목표: 컬럼명이 아니라 값을 보고 속성을 뽑는 법을 익힌다.

소요 시간: 30분


1. 한 문장으로

컬럼명은 믿지 마세요.
컬럼값을 보세요.                           ★

2. 컬럼명이 거짓말하는 다섯 가지

① 이름과 내용이 다르다                     ★
   remark 컬럼에 실제로는 긴급 사유가 들어감

② 용도가 바뀌었다                          ★
   spare1 · spare2 · user_def3
   → 나중에 무언가로 쓰임

③ 비어 있다                                ★
   컬럼은 있는데 NULL 이 99%

④ 값이 정의서와 다르다                     ★
   정의서엔 4개인데 실제 값은 9개

⑤ 같은 뜻을 다른 이름으로                  ★
   item_cd · itm_code · material_id

3. ★ 그래서 반드시 이것부터

속성 후보마다 세 가지를 봅니다.            ★
① NULL 비율                                    ★
   SELECT COUNT(*), COUNT(컬럼) FROM 테이블

② 값의 종류와 분포                              ★
   GROUP BY 컬럼

③ 실제 예시 10건                                ★
   눈으로 봅니다
5분이면 됩니다.
그리고 절반의 오해가 사라집니다.           ★

4. ① NULL 비율이 말하는 것

NULL 0%        필수값. 핵심 속성               ★
NULL 1~30%     선택 입력. 쓸 만함              ★
NULL 30~80%    특정 경우만. 주의 필요          ★
NULL 80%+      안 쓰는 컬럼                 ★
NULL 100%      죽은 컬럼. 제외                 ★
80% 넘는데 중요해 보이면

  왜 비었는지 확인하세요.                   ★
  "입력이 선택사항이라" 면
  그 속성으로는 집계할 수 없습니다.            ★

5. ② 값 분포가 말하는 것

예 — order_type
  값     건수      비율
  ────────────────────────
  N      182,400   91.2%    일반               ★
  S      12,100     6.1%    샘플               ★
  R       4,800     2.4%    재발주
  X         520     0.3%    ?                  ★
  A          14     0.01%   ?                  ★
읽을 것

  · X 와 A 는 정의서에 없습니다            ★
  · 14건짜리 A 는 실수일 수 있습니다       ★
  · S(샘플)가 6% — 집계에서 빼야 하나?         ★
마지막 물음이 개념의 경계입니다.           ★

6. ③ 예시 10건이 말하는 것

숫자로는 안 보이는 것이 보입니다.
예 — remark 컬럼 (VARCHAR, NULL 40%)
실제 값

  "긴급 - 사장님 지시"                         ★
  "납기 6/15 → 6/10 당김"                      ★
  "클레임 재생산"                              ★
  "샘플, 무상"                                 ★
읽을 것

  · 이 컬럼에 중요한 뜻이 들어 있습니다     ★
  · 그런데 구조화가 안 돼 있습니다          ★
  · 집계할 수 없습니다                         ★
적어야 할 것

  "비고 — 긴급 사유·납기 변경 등이 자유 형식으로
   들어감. 집계 불가. 참고용."               ★

「집계 불가」 를 적는 것이 중요합니다. 안 적으면 AI 가 세려고 합니다.


7. 속성으로 안 만드는 것

· NULL 95% 이상                                ★
· 값이 1종류 (전부 같은 값)                    ★
· 시스템 컬럼 (created_at 등)                  ★
· 화면 제어 (sort_order 등)                    ★
· 다른 개념을 가리키는 코드                ★
    → 속성이 아니라 관계입니다             ★
마지막이 자주 틀립니다.

  수주.거래처코드
  → 속성 ✗ · 관계 ○                            ★
    수주 ──거래처──> 거래처                    ★

8. 제조 현장의 실제

어느 업체, 「생산실적」 테이블 컬럼 62개.
값을 확인해 보니
  NULL 95% 이상       19개                  ★
  값 1종류             7개                      ★
  시스템/화면 컬럼     11개                     ★
  다른 개념 참조       6개 → 관계로             ★
  ──────────────────────
  속성으로 남은 것     19개                  ★
그중 놀란 것
· qty_ok 와 qty_good 둘 다 있었습니다.        ★
  값을 보니 항상 같았습니다.               ★
  → 하나는 예전 컬럼. 제외.                    ★

· user_def2 에 로트번호가 들어 있었습니다.  ★
  → 추적성의 핵심이었습니다                    ★
  → 개념 「로트」 가 여기서 나왔습니다          ★
62 → 19. 그리고 숨은 것 하나를 찾았습니다.  ★

9. 5분 점검 쿼리

① 건수와 NULL

  SELECT COUNT(*) 전체,
         COUNT(컬럼) 값있음
  FROM 테이블                                  ★
② 값 분포

  SELECT 컬럼, COUNT(*)
  FROM 테이블 GROUP BY 컬럼
  ORDER BY 2 DESC                              ★
③ 예시

  SELECT * FROM 테이블
  WHERE 컬럼 IS NOT NULL
  ORDER BY 최근순 LIMIT 10                     ★
③은 최근 것을 보세요.                      ★
오래된 건 지금 쓰임과 다를 수 있습니다.

10. 오늘 해 볼 것 (15분)

① 개념 하나의 컬럼을 세세요

  개념  ________
  컬럼 수  ___개
  - NULL 90%+     ___개                        ★
  - 값 1종류      ___개                        ★
  - 시스템/화면   ___개                        ★
  - 다른 개념 참조 ___개 → 관계                ★
  ──────────────
  = 속성  ___개                                ★
② 상태 컬럼의 값을 세세요

  값    건수    비율   정의서에 있나            ★
  ____  ____    ___%   ○/✗
  ____  ____    ___%   ○/✗                    ★
③ 자유 입력 컬럼을 10건 보세요

  컬럼  ________
  들어 있는 것  ________________               ★
  집계 가능?  ○/✗                              ★

11. 내일 할 것

★ 짐작하지 않고 건너뛰는 법.

이 과정을 다른 온톨로지 강의와 가장 크게 가르는 날입니다.


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

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

댓글

이 블로그의 인기 게시물

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

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

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