[온톨로지 적용하기] 9주차 Day 1 — 관계 이름은 어디서 오는가
주차 주제: 관계 — 지어내지 않고 정의하기 | 제조 사례: 이름 하나로 답이 바뀐 자리
오늘의 목표: 관계 이름이 답을 어떻게 바꾸는지 알고, 이름을 데이터에서 얻는 법을 익힌다.
소요 시간: 30분
1. 2주차와 무엇이 다른가
2주차 관계가 무엇인지 배웠습니다 ★
9주차 바인딩 위에서 확정합니다 ★
바인딩이 있으니
관계도 실제 조인으로 확인됩니다. ★
"있다고 생각하는 것" 이 아니라
"실제로 이어지는 것" 입니다. ★
2. 이름이 답을 바꾼다
같은 연결, 다른 이름
생산실적 ──relates_to──> 설비 ★
생산실적 ──produced_by──> 설비 ★
생산실적 ──inspected_at──> 설비 ★
질문 — "EQ-102 가 만든 제품의 불량률"
relates_to 무엇을 계산할지 모름 ★
produced_by 정확히 계산 ★
inspected_at 엉뚱하게 계산 ★
FK 는 셋 다 같습니다.
이름만 다릅니다. ★
3. ★ 이름은 세 곳에서 옵니다
① 컬럼명 ★
eq_id · produced_eq · inspect_eq
② 업무의 말 ★
"이 실적은 어느 설비에서 나왔나"
③ 쿼리의 쓰임 ★
실제로 어떻게 조인해서 쓰나
③이 가장 확실합니다. ★
4. ① 컬럼명이 알려 주는 것
좋은 컬럼명
produced_eq_id → 생산설비 ★
inspect_eq_id → 검사설비 ★
from_wc_cd → 출발작업장 ★
to_wc_cd → 도착작업장 ★
나쁜 컬럼명
eq_id → 무슨 설비? ★
code1 · ref_id → 알 수 없음 ★
컬럼이 둘 이상 같은 곳을 가리키면
반드시 이름이 달라야 합니다. ★
5. 같은 두 개념 사이에 관계가 여럿
자주 있습니다. 그리고 자주 뭉개집니다. ★
예 — 「수주」 와 「거래처」
수주 ──주문한곳──> 거래처 ★
수주 ──납품처──> 거래처 ★
수주 ──청구처──> 거래처 ★
하나로 두면
"A사 수주가 몇 건" 이
세 배로 나올 수 있습니다. ★
② 기준정보 과정 5주차 Day 3 의
「납품처와 청구처가 다를 때」 입니다. ★
6. ② 업무의 말로 확인
문장을 만들어 보세요. (2주차 Day 3)
"생산실적은 설비 에서 생산되었다" ★
"수주는 거래처 가 주문했다" ★
"검사는 생산실적 을 대상으로 한다" ★
그리고 현업에게 읽혀 보세요. ★
"어색한데요" 라고 하면
· 이름이 틀렸거나 ★
· 관계가 없거나 ★
· 방향이 반대입니다 ★
7. ★ ③ 쿼리의 쓰임 — 가장 확실
실제 쿼리를 보세요.
SELECT ...
FROM prd_result r
JOIN eq_master e ON r.eq_id = e.eq_id ★
WHERE ...
GROUP BY e.eq_name ★
읽을 것
· GROUP BY 가 설비면 ★
"설비별로 실적을 본다" 는 뜻입니다
· → 관계 이름 「생산설비」 ★
그리고 쿼리 제목·화면명이 이름을 줍니다. ★
"설비별 생산실적 조회"
→ 「생산설비」 가 맞습니다 ★
8. 제조 현장의 실제
어느 업체, prd_result 에 eq_id 가 있었습니다.
자동 추출 도구가 만든 관계
prd_result ──has_eq_master──> eq_master ★
그런데 쿼리를 보니
이 컬럼은 검사 설비였습니다. ★
(측정기 ID)
생산 설비는 작업장을 통해 간접으로만 ★
알 수 있었습니다.
prd_result → work_center → equipment ★
(그리고 작업장에 설비가 여러 대) ★
만약 has_eq_master 를 그대로 썼으면
"설비별 불량률" 이
측정기별 불량률로 계산됐을 겁니다. ★
그리고 숫자가 나왔을 겁니다. ★
바로잡은 뒤
prd_result ──검사설비──> 설비 ★
prd_result ──작업장──> 작업장 ★
작업장 ──보유설비──> 설비 (1:N) ★
그리고 적었습니다
"생산 설비는 직접 기록 안 됨. ★
작업장 단위까지만 가능." ★
9. 이름 짓는 규칙
① 역할을 담으세요 ★
검사설비 / 생산설비 (설비 ✗)
② 방향이 보이게 ★
출발작업장 / 도착작업장
③ 우리 말로 ★
produced_by 보다 「생산설비」 ★
(영문 병기는 해도 됩니다)
④ has_ · relates_to 금지 ★
10. 오늘 해 볼 것 (15분)
① 컬럼을 확인하세요
같은 개념을 가리키는 컬럼이 둘 이상인 것 ★
테이블 ________
컬럼 ________ · ________ ★
→ 각각 무슨 뜻인가 ★
② 쿼리로 확인하세요
그 컬럼을 쓰는 쿼리를 찾아
GROUP BY 와 화면 제목을 보세요. ★
→ 관계 이름 ____________ ★
③ 문장으로 읽어 보세요
"____ 은(는) ____ 을(를) ____ 한다" ★
현업에게 읽혀 보세요. 어색한가? ★
11. 내일 할 것
★ 자동 추출이 지어내는 자리.
도구가 무엇을 지어내는지 구체적으로 봅니다.
이 글은 온톨로지 적용하기 과정의 9주차 1일차입니다. 과정 전체 보기
진도와 검색이 되는 판: AXPulse 기술따라가기
댓글
댓글 쓰기