Q. 한번도 본적 없는 DB에 쿼리를 날려야 합니다. 데이터를 파악하기 위한 기준이 있나요?

 

Q. 한번도 본적 없는 DB에 쿼리를 날려야 합니다. 데이터를 파악하기 위한 기준이 있나요?

  - 강의에서 데이터를 보는 것 처럼 limit을 걸거나 top 등을 통하여 일부 데이터만 샘플하여 데이터를 확인해 나가야 합니다.

       - 하지만 이것만으로는 충분하지 않을 때가 많죠. 샘플 데이터를 보더라도 어떤 데이터인지 아리송할 때가 있기 때문입니다.

 - 어떤 데이터를 결정짓는 조건은 1) 스키마 와 2) 행 발생 규칙이에요. 

       - 스키마란, 컬럼이 무엇무엇이 있는지 컬럼은 어떤 데이터 타입을 허용하고 있는지와 같은 테이블 구조에 대한 설계도에요.

       - 행 발생 규칙이란, 해당 테이블에 데이터 행이 언제 발생하는지, 그 트리거가 되는 시점에 대한 규칙을 말합니다.

           - 스키마까지는 어느정도 쿼리를 날려보신 분들이라면 모두 염두에 두고 있는 부분인데요

           - 의외로 행발생 규칙이 어떠한지는 놓치기가 쉽습니다. 이는 보통 백엔드 서버에서 결정되곤 하는데요

              - 예를 들어, 주문 테이블이라고 했을 때 일반적으로는 주문 1건이 발생했을 때 1개의 row가 생성될 수도 있지만

              - 주문취소가 되었을 경우 기존의 주문 row를 수정하는 형태인지, 아니면 새로운 row를 발생시키는 형태인지 이러한 규칙을 명확히 알아둘 필요가 있습니다.

              - 이러한 규칙은 WAS를 개발하는 백엔드 개발자분이나 백엔드 소스를 분석하여 확인하는 부분이기 때문에 다소 어려울 수 있지만

              - 데이터의 형태를 결정짓는 매우 중요한 부분이기 때문에 새로운 DB를 볼 때는 알고 있는 것이 신뢰성 있는 분석을 위해 중요하겠죠? :-)

 

* SQL과 관련하여 받게되는 질문에 대한 질의 응답을 정리해서 공유드리는 새소식입니다.

채널톡 아이콘