본문 바로가기
데이터

SQL을 어떻게 하면 잘 작성할가

by 웨더맨 2020. 4. 21.
반응형

SQL을 어떻게 하면 잘 작성할가

 

 

 

 

 

IT개발자로 어떤 직종이든 SQL을 다루는 경우가 많습니다.

평소 내가 과연 정확하게 작성하는것이 많는지

본인들이 의문을 품는경우도 많습니다.

 

좀 더 정확하고 효율적인 SQL을 작성하기 위해서는

여러가지가 필요하겠지만 절차적인 측면이라도

정리해보겠습니다.

 

1. 업무요건정의

 

맨 처음 하게되는 것은 업무요건에 대해 협의하게 됩니다.

명확하게 정의된 업무 요건이 있어야 그 방향성에 맞게

SQL을 작성할 수 있기 때문입니다.

SQL을 작업하기 전에 미리 요건을 파악하여 불분명한 부분이나

이해하기 힘든 부분에 대해 확인하는 절차가 필요합니다.

 

 

2. 관련 모델과 데이터의 확인

 

요건이 정의되고 나면 관련모델과 

데이터를 확인해야 합니다.

논리모델에서 관계를 파악하고 

물리모델에서 전체적인 구조를

파악한 후 어떤 테이블을 

기준집합으로 할 것인지 파악합니다.

또한 데이터를 조사하여 정의된 

업무요건을 제대로 반영가능한지

개괄적으로 검토합니다.

만약 요건대로 처리하기 어렵다면 

변경하거나 추가하는 방법으로

업무요건을 재정의하는 시간을 갖는다.

 

 

 

3. 기준집합으로 1차 SQL작성

 

요건 정의가 완료되면 1차 SQL을 작성합니다.

우선 기준집합으로 1차 SQL을 작성합니다. 

기준집합에 둘 이상의 테이블이 필요하다면 필수적인 테이블부터

차례로 조인하여 SQL을 작성한다.

결과 데이터를 확인하며 논리에 문제가 없는지 계속 체크한다.

재정의 해야할 사항이 없는지 확인합니다.

 

 

4. 참조집합을 포함하여 2차 SQL작성

 

1차 SQL이 끝나면 참조집합을 포함하여 부수적인 칼럼들을 

추가하는 2차 SQL을 작성한다.

1차 SQL에서 중요한 내용들을 모두 반영하였으므로,

2차 SQL은 상대적으로 작성하기 쉽다.

2차 SQL에서 주의할점은 아우터 조인 여부이다.

조인이 필요할때는 집합의 누락이 있는지 확인하고

아우터 조인이라면 NULL처리에 주의해야한다.

완성후에는 문제가 없는지 1차 SQL과 비교하며 확인한다.

 

 

5. 2차 SQL을 정제하여 3차 SQL 작성

 

마지막으로 2차 SQL을 기반으로 해서 로직을 통합하거나

필요에 따라 분리하고, 비효일적인 요소들을 제거해주는 것이

3차 SQL 작성입니다.

정확성과 효율성의 측면에서 SQL을 정제해주는 작업이고

정제가 끝나면 반드시 2차 SQL과 비교하여 3차 SQL을 검증한다.

 

 

이제 SQL의 완성되었지만 추가적으로 성능 이슈가 없는지

계속 체크해야 합니다.

 

 

 

 

 

                                                                        SQL 첫걸음 : 하루 30분 36강으로 배우는 완전 초보의 SQL 따라잡기, 한빛미디어    데이터 분석을 위한 SQL 레시피:데이터 처리부터 매출/유저 파악 리포팅 등 각종 데이터 분석과 활용까지, 한빛미디어   

 

728x90
반응형

댓글