[기준정보 따라가기] 1주차 Day 4 — 기준정보를 업무 데이터에 섞으면
주차 주제: 기준정보란 무엇인가 | 제조 사례: 이름이 바뀌자 과거가 바뀐 일
오늘의 목표: 섞였을 때 생기는 네 가지 사고를 알고, 푸는 순서를 안다.
소요 시간: 30분
1. 한 문장으로
섞인 테이블은 조용히 사고를 낸다.
오류가 안 나기 때문이다. ★
2. 섞이는 두 방향
① 업무 데이터에 기준정보를 복사해 넣는다 ★
수주 테이블에 거래처명·주소를 통째로
② 기준정보에 업무 값을 덧붙인다 ★
거래처 테이블에 누적매출·최근수주일
둘 다 흔하고, 사고 모양이 다릅니다.
3. ① 복사해 넣으면 — 갱신이 안 된다
수주 테이블
수주번호 · 거래처코드 · 거래처명 · 주소 · 금액
거래처가 이사했습니다.
기준정보의 주소를 고쳤습니다.
→ 과거 수주의 주소는 옛 주소 ★
→ 진행 중인 수주의 주소도 옛 주소 ★
그래서 출고가 옛 주소로 나갑니다.
정상 동작은
과거 수주 옛 주소 (그때 사실) ← 맞습니다
진행 중 수주 새 주소 ← 참조여야 합니다 ★
복사와 참조를 섞어서 쓴 것이 원인입니다. 어제 본 ㉮㉯ 판단입니다.
4. ② 덧붙이면 — 덮어쓰기 사고
거래처 테이블
거래처코드 · 이름 · 주소 · 누적매출 · 미수금
관리 화면에서 담당자를 고쳤습니다.
저장했습니다.
→ 화면이 들고 있던 옛 누적매출이 같이 저장됐습니다 ★
→ 그 사이 들어온 매출이 사라졌습니다
그리고 아무 오류도 안 납니다. ★
숫자가 조금 틀릴 뿐입니다.
5. ★ 사고 셋 — 권한이 무너진다
거래처 테이블에 「여신한도」가 있습니다.
거래처 관리 권한을 가진 사람이면
여신한도를 고칠 수 있습니다. ★
그런데 여신한도는
· 재무가 정하는 값이고
· 승인이 필요하고
· 바꾸면 기록이 남아야 합니다 ★
한 테이블에 있으면 권한을 나눌 수 없습니다.
컬럼마다 권한을 거는 것도 가능하지만, 대개 안 합니다. 그래서 「같은 테이블 = 같은 권한」이 됩니다.
6. 사고 넷 — 이력이 뒤섞인다
거래처 변경 이력
· 담당자 변경 (자주)
· 주소 변경 (가끔)
· 누적매출 갱신 매 수주마다 ★
이력 테이블이 누적매출 갱신으로 가득 찹니다.
"이 거래처 주소가 언제 바뀌었지?"
→ 10만 건 중에서 찾아야 합니다. ★
7. 푸는 순서
① 세 칸으로 나눈다 (Day 1 의 실습) ★
② 계산된 값을 뺀다
저장할 필요가 있는지 먼저 따집니다
필요하면 집계 테이블로 옮깁니다 ★
③ 업무 값을 뺀다
"최근 수주번호" 같은 것 → 조회로 대체
④ 복사한 기준정보를 정리한다
그때 값이 필요한 것만 남기고
나머지는 코드만 두고 참조로 바꿉니다 ★
8. ④가 가장 어렵다
이미 쌓인 데이터가 있기 때문입니다.
수주 100만 건에 거래처명이 복사되어 있습니다.
안전한 순서
① 새 수주부터 참조로 바꿉니다 ★
② 화면은 참조로 읽게 고칩니다
③ 과거 데이터의 복사본은 그대로 둡니다 ★
(지우면 그때 이름을 잃습니다)
④ 컬럼 이름을 바꿔 둡니다
거래처명 → 거래처명_당시 ★
과거를 고치려 하지 마세요. 4주차 Day 3 에서 본 원칙과 같습니다.
9. 오늘 해 볼 것 (15분)
Day 1 에서 나눈 세 칸을 보고
「섞임 사고」가 실제로 있었는지 확인하세요.
□ 기준정보를 고쳤는데 과거 문서가 바뀐 적 ★
□ 저장했더니 다른 값이 덮어써진 적 ★
□ 안 고쳐야 할 값을 고칠 수 있는 사람이 있나
□ 이력이 특정 컬럼 갱신으로 가득 차 있나 ★
그리고 하나를 골라 푸는 순서를 적으세요.
[테이블: ____________]
뺄 것 ____________________
어디로 집계 / 조회 / 별도 테이블
언제부터 ____________________ ★
과거 데이터 그대로 / 컬럼명 변경
10. 내일 할 것
이번 주를 마무리합니다.
우리 데이터를 세 칸에 넣기 — 회사 전체 데이터를 흐르는 것 · 남는 것 · 쌓이는 것으로 가르는 한 장을 만듭니다.
이 글은 기준정보 따라가기 과정의 1주차 4일차입니다. 과정 전체 보기
진도와 검색이 되는 판: AXPulse 기술따라가기
댓글
댓글 쓰기