본문 바로가기

정보체계4

두 보고가 서로 다르다면? 데이터 품질과 원출처를 확인하는 방법 화면에는 같은 차량의 위치가 두 곳에 표시되어 있다. 한 보고는 동쪽 출입구를, 다른 보고는 서쪽 주차장을 가리킨다. 둘 다 방금 수신했고 차량번호도 같다. 담당자는 더 늦게 들어온 보고를 선택하려다가 멈춘다. 두 위치 중 어느 쪽이 맞는지 판단할 근거가 화면에 없기 때문이다.앞선 글에서는 늦게 도착한 보고와 반복 수신을 다루었다. 이번에는 순서를 정리한 뒤에도 남는 문제를 살펴본다. 서로 다른 출처가 같은 대상을 다르게 보고하면, 가장 최근의 값이라는 이유만으로 현재 상태를 확정하기 어렵다. 무엇을 관측했고 어떤 과정을 거쳐 전달했는지 확인해야 한다.아래 차량과 위치 보고는 설명을 위해 만든 가상 사례다. 독자가 연동 자료나 상황 화면을 검토할 때 사용할 수 있도록, 충돌의 원인을 좁히는 순서와 확인 .. 2026. 10. 3.
늦게 도착한 데이터가 최신 정보를 덮어쓰면? 순서와 중복을 다루는 방법 장비가 고장났다는 보고를 확인한 지 몇 분 뒤, 화면의 상태가 다시 ‘정상’으로 바뀌었다. 정비가 끝난 줄 알고 담당자에게 연락했는데 돌아온 답은 달랐다. 아직 수리 중이었다. 정상이라는 값은 고장 전에 보낸 보고였고, 통신이 지연되면서 뒤늦게 도착한 것이었다.이런 상황에서는 보고서의 내용이 틀리지 않았을 수도 있다. 두 보고 모두 작성 당시에는 사실이었다. 잘못된 것은 나중에 도착한 보고를 현재의 상태로 받아들인 처리 방식이다. 데이터를 정확하게 표현하고 서로 같은 뜻으로 읽도록 약속해도, 도착 순서와 재전송을 다루는 규칙이 없으면 화면은 현실과 어긋난다.이번 글은 여러 체계가 장비 상태를 주고받는 가상 사례를 따라간다. 늦게 온 정보를 어디에 남길지, 같은 보고가 두 번 도착하면 어떻게 처리할지, 갱.. 2026. 10. 2.
현실의 업무는 어떻게 데이터가 될까? 데이터 모델의 역할 새로운 업무체계를 만들 때 가장 먼저 화면부터 그리는 경우가 있다. 담당자는 익숙한 신청서나 보고서를 펼쳐 놓고 입력칸과 버튼의 위치를 정한다. 화면이 눈에 보이니 일이 빠르게 진행되는 듯하지만, 막상 개발이 시작되면 같은 단어를 두고 서로 다른 뜻으로 이해했다는 사실이 드러난다.‘장비 상태’가 현재 상태인지 점검 당시의 상태인지, ‘소속’이 장비의 관리부서인지 실제 운용부서인지에 따라 저장해야 할 값과 관계가 달라진다. 처음에는 작은 표현 차이처럼 보였던 문제가 검색, 통계와 다른 체계의 연동 단계에서는 전혀 다른 결과를 만든다.앞선 글에서는 SQL이 저장된 데이터에 질문하고, 인덱스가 필요한 기록으로 가는 길을 줄이는 원리를 살펴보았다. 그러나 질문이 정확하고 길이 빨라도 현실의 대상을 잘못 나누어 .. 2026. 9. 22.
데이터베이스에는 어떻게 질문할까? SQL과 SELECT의 원리 정리된 창고가 있다고 해서 필요한 물건이 저절로 손에 들어오는 것은 아니다. 어느 선반에서 무엇을 몇 개 꺼낼지 알려주어야 한다. 데이터베이스도 비슷하다. 고객, 주문, 장비와 정비 기록을 알맞게 나누어 저장해 두었더라도 사용자가 원하는 조건을 전달하지 않으면 화면에 보여줄 결과를 만들 수 없다.앞선 글에서는 데이터 중복을 줄이고 서로 다른 대상을 나누어 저장하는 정규화를 살펴보았다. 고객 정보는 고객 테이블에, 주문은 주문 테이블에 두면 같은 주소를 여러 번 고치는 문제를 줄일 수 있었다. 대신 지난달 주문이나 특정 고객의 구매내역을 보려면 떨어져 있는 기록 가운데 필요한 것만 골라 다시 연결해야 한다.이때 관계형 데이터베이스에 원하는 결과를 표현하는 언어가 SQL이다. 사람의 질문을 그대로 알아듣는 .. 2026. 9. 22.