본문 바로가기

데이터베이스4

현실의 업무는 어떻게 데이터가 될까? 데이터 모델의 역할 새로운 업무체계를 만들 때 가장 먼저 화면부터 그리는 경우가 있다. 담당자는 익숙한 신청서나 보고서를 펼쳐 놓고 입력칸과 버튼의 위치를 정한다. 화면이 눈에 보이니 일이 빠르게 진행되는 듯하지만, 막상 개발이 시작되면 같은 단어를 두고 서로 다른 뜻으로 이해했다는 사실이 드러난다.‘장비 상태’가 현재 상태인지 점검 당시의 상태인지, ‘소속’이 장비의 관리부서인지 실제 운용부서인지에 따라 저장해야 할 값과 관계가 달라진다. 처음에는 작은 표현 차이처럼 보였던 문제가 검색, 통계와 다른 체계의 연동 단계에서는 전혀 다른 결과를 만든다.앞선 글에서는 SQL이 저장된 데이터에 질문하고, 인덱스가 필요한 기록으로 가는 길을 줄이는 원리를 살펴보았다. 그러나 질문이 정확하고 길이 빨라도 현실의 대상을 잘못 나누어 .. 2026. 9. 22.
데이터베이스에는 어떻게 질문할까? SQL과 SELECT의 원리 정리된 창고가 있다고 해서 필요한 물건이 저절로 손에 들어오는 것은 아니다. 어느 선반에서 무엇을 몇 개 꺼낼지 알려주어야 한다. 데이터베이스도 비슷하다. 고객, 주문, 장비와 정비 기록을 알맞게 나누어 저장해 두었더라도 사용자가 원하는 조건을 전달하지 않으면 화면에 보여줄 결과를 만들 수 없다.앞선 글에서는 데이터 중복을 줄이고 서로 다른 대상을 나누어 저장하는 정규화를 살펴보았다. 고객 정보는 고객 테이블에, 주문은 주문 테이블에 두면 같은 주소를 여러 번 고치는 문제를 줄일 수 있었다. 대신 지난달 주문이나 특정 고객의 구매내역을 보려면 떨어져 있는 기록 가운데 필요한 것만 골라 다시 연결해야 한다.이때 관계형 데이터베이스에 원하는 결과를 표현하는 언어가 SQL이다. 사람의 질문을 그대로 알아듣는 .. 2026. 9. 22.
데이터는 왜 행과 열로 나눠 저장할까? 지난 글에서는 파일이 많아지고 여러 사람이 같은 정보를 다루기 시작할 때 데이터베이스가 필요한 이유를 살펴보았다. 그런데 데이터를 한곳에 모으는 것만으로는 문제가 해결되지 않는다. 사람마다 이름과 날짜를 적는 방식이 다르고, 같은 대상을 서로 다른 말로 기록한다면 컴퓨터는 그 자료를 제대로 묶거나 비교하지 못한다.창고에 물건을 쌓는 일과 필요한 물건을 꺼내 쓰는 일이 다른 것처럼, 데이터를 저장하는 일과 사용할 수 있게 정리하는 일도 다르다. 데이터베이스가 단순한 전자 보관함이 되지 않으려면 각각의 값이 무엇을 뜻하는지 알아볼 수 있는 구조가 필요하다. 오늘날 가장 널리 쓰이는 구조 가운데 하나가 행과 열로 이루어진 테이블이다.한줄 요약행은 사람이나 장비, 사건처럼 한 건의 대상을 담고 열은 그 대상이 .. 2026. 8. 29.
데이터베이스는 왜 필요할까? 엑셀과 파일 저장의 한계 지난 글에서는 웹페이지가 화면에 나타나기까지 브라우저와 웹서버가 어떤 일을 하는지 살펴보았다. 주소 하나를 입력하고 기다리는 짧은 시간에도 브라우저는 필요한 자료를 요청하고, 서버는 그 요청에 맞는 내용을 찾아 다시 보내준다.그런데 서버가 무엇인가를 찾아 보내려면 당연히 그 정보가 먼저 어딘가에 있어야 한다.쇼핑몰에서 지난달 주문내역을 눌렀는데 내가 구입한 상품이 바로 나타난다. 은행에서는 몇 달 전 거래내역까지 확인할 수 있다. 회사의 업무시스템에서도 오래전에 등록한 장비나 계약, 업무기록을 다시 찾아볼 수 있다.이런 자료는 화면을 열 때마다 새로 생기는 것이 아니다. 이전에 입력하고 처리한 정보가 계속 저장되어 있기 때문에 다시 꺼내볼 수 있다.여기까지는 어렵지 않다. 컴퓨터에는 원래 파일을 저장할 .. 2026. 8. 24.