My SQL

비전공자 SQLD 시험 후기

에멜라 2023. 3. 24. 01:52

생각보다 긴 준비기간을 통해 SQLD 시험을 치뤘다. (4개월, 시험공부는 3주)

 

데이터 관련 업무에서 꼭 필요한 SQL 역량을 기르기 위해 다양한 방법을 고려했으나, 가장 직관적이고 체계적으로 공부할 수 있는 수단은 역시 자격증이라고 생각했다.

 

나는 '2022 빅리더 AI' 최종 프로젝트에서 가공된 실무 데이터를 제공받으며 처음 DB에서 추출 가공한 데이터를 다뤄봤고, 이후 MySQL을 직접 설치해보고 티스토리 및 공유된 책을 따라 SQL 문을 입력해 보며, 데이터 정의어와 데이터 조작어 등을 익혔던 경험이 있다. 그러나 실질적으로 DB가 왜 필요한지, DB를 어떻게 생성하고 관리하는지, SQL 언어를 왜 배워야 하는지에 대해 깊게 고민해보고 공부해본 경험이 없는 듯 하다. 이러한 측면에서 분명 의미있는 공부가 될 거라는 생각에 SQLD 시험을 신청하게 되었다.

 

 

22년 말~23년 초에 공부를 위해 활용했던 mysql 서드파티 앱

 

 

 

사실 이전에 한번의 탈락이 있었다..

 

정확하게 말하면 미응시로 5만원을 땅에 버렸다. 당시 SSafy 면접스터디 장으로서 스터디 준비, 학과 분석 프로젝트, 기말고사 준비 등으로 일정관리가 빡빡했고, 상대적으로 덜 중요하다고 생각했던 SQL 시험준비를 피차일반 미루다 보니 시험 기간 내 모든 진도를 나갈 수 없기도 했고, 기말 시험과 시간이 애매하게 걸쳐 포기했던 기억이 있다.

 

그러다 보니 이번 시험은 10만원 주고 치는 시험이라고 생각하고 정말 열씸히 공부를 했던 것 같다.

 

 

 

 

++ )

결과발표 총 70점으로 합격했습니다. 

 

 


 

 

0. SQLD 시험이 뭔가 ?

 

우리같은 비전공자들은 사실 SQL이라는 단어조차 생소한데, 먼저 SQL에 대해 간단히 소개하자면 아래와 같다.

 

SQL(Structured Query Language)의 정의는 데이터베이스를 직접적으로 액세스할 수 있는 언어로, 데이터를 정의하고(Data Definition), 조작하며(Data Manipulation), 조작한 결과를 적용하거나 취소할 수 있고(Transaction Control), 접근권한을 제어하는(Data Control) 처리들로 구성된다. (위키피디아 중)

 

 

물론 우리같은 비전공자가 읽기에는 설명이라기에 너무 어렵다. 사실 그럴수밖에 없는게 우리는 당장 데이터베이스에 대한 지식이 전무하니 말이다.

 

먼저 데이터베이스에 대해 쉽게 정리해보자면 기업이나 단체에서 여러 군데에서 수집되는 데이터들을, 기업 내부의 여러 사람이 공유해서 사용하기 쉽도록, 한곳에 효율적으로 저장되도록 설계해둔 장소로 생각해볼 수 있다. 이때, 모든 데이터를 한 곳에 하나의 형식으로 모아 관리한다는 점에서, 일반적으로 각 파일의 입력 및 수정, 실행이 독립적으로 작동하는 파일 시스템과 대조된다.

 

예를 들자. 만약 당신이 가게를 운용하고, 재고 및 물자를 창고에서 관리한다고 한다면, 어떻게 한정된 창고라는 공간을 효율적으로 관리할 수 있을까? 아마 각 식자재 별 공간을 둬 불필요하게 같은 재료를 여기저기 흐트리는 일이 없게 할 것이고, 비슷한 재료끼리는 같은 벽면에 두어 관리 동선을 효율적으로 관리할 수 있을것이다. 그러기 위해서 창고 배치도라던지, 저장 및 보관 규칙이 생길 것이다. 또한, 업종에 따라 별도의 식재료 조합을 자주 꺼내 하나로 합칠 일이 발생할 수도 있고, 특정 재료가 특히 자주 쓰거나 채워질 수 있는 경우도 있을 수 있으므로 이를 고려하여 창고를 설계할 필요도 있을 것이다. 이는 데이터에 대해서도 마찬가지다. 데이터베이스 역시 <누가>, <어떻게> 사용하는지에 따라 공간 설계, 보관규칙, 효율성 등에 차이가 있을 수 있고, 각각의 목적에 맞게 구축 및 관리할 필요가 있다.  

 

1과목의  '데이터모델의 이해 및 분석' 과정은 실제 데이터베이스 환경의 통합시스템 구조, 특징 (데이터 통합, 무결성, 중복 불가, 일관성 등) 을 이해하고 용어들을 디테일하게 설명하는 과정이라고 볼 수 있다.

 

그럼 여기서 SQL이란건 뭘까. 이러한 데이터베이스의 처리와 추출, 조작을 수행하는 언어이며, 이를 통해 데이터를 누가 접근 가능한지, 필요할 때 어떻게 꺼낼지, 어떤 데이터를 어떻게 수정할지 등 모든 행위를 실질적으로 구현할 수 있다. 예시로 돌아가 우리가 어떤 목적을 가지고 창고로 들어갈 때, 모든 창고의 물품을 꺼내놓고 일을 수행할 필요는 없다. 우리가 원하는 재료를 그때그때 목적에 맞게 꺼내서 창고밖에서 활용하면 된다. 이를 데이터베이스에서 SQL 언어의 수많은 함수들을 통해 데이터를 추출하는 과정으로 이해해볼 수 있고, 그렇기에 SQL의 기본적인 함수 활용, 동작 수행 과정(트랜잭션) 등을 간단하게 이해하는 과목이 2과목'SQL 이해 및 활용'이다.

 

SQLD 자격증은 이러한 과정에 대한 간단한 이해도를 평가하는 SQL 개발자 자격검정 국가공인 시험인 것이다.

 

시험에 대해 설명하자면, 시험은 총 100분, 필기 50문제로 구성되어 있으며 '데이터 모델링의 이해(1과목)' 10문항, 'SQL 기본 및 활용(2과목)' 40문항 총 2가지 과목으로 구성되어 있고, 2과목의 경우 단답 서술형 문제도 존재한다. 합격점은 총점 60점 이상이지만, 각 과목에서 40% 이하의 점수를 취득할 경우 과락으로 평가되어 탈락하게 된다.

 

https://www.dataq.or.kr/www/sub/a_04.do

 

데이터자격시험

SQL(Structured Query Language)은 데이터베이스를 직접적으로 액세스할 수 있는 언어로, 데이터를 정의하고(Data Definition), 조작하며(Data Manipulation), 조작한 결과를 적용하거나 취소할 수 있고(Transaction Con

www.dataq.or.kr

 

 

 


 

 

1. 준비기간과 준비방법

 

기존부터 SQL 에 대한 관심이 있었기에, MySQL workbench 하에 여러 SQL 예제 문법을 따라하며 공부한 적이 있다. 

 

 

 

 

 

또한 ADsP를 준비했을때도 마찬가지로, 이런 시험을 준비할 때 비전공자 OO주 합격, 비전공자 O일 준비 합격 등의 멘트들에 현혹되지 않고 나만의 페이스를 유지하기 위해 노력했다.

 

나는 여러 유튜브 자료를 활용하여 SQL 및 데이터베이스에 대한 기본적인 틀을 잡았다.

https://emela12.tistory.com/3

 

SQL이란 무엇인가? (SQL을 배워야 하는 이유)

참고) 현재 데이터 베이스와 SQL을 배우고 있는 과정에서 배운 내용들을 요약/기록중인 블로그입니다. 잘못된 내용이 있을 수 있으며 필요한 범위 내에서 최대한 정확한 정보를 담을 수 있도록

emela12.tistory.com

 

이후에 문제집을 실질적으로 풀어보고, 함수에 대한 궁금증이 생길때 마다, MySQL로 직접 함수를 입력해보거나, '애플 코딩' 등의 유튜브 참조, 또는 '티스토리' 에 정리된 함수의 입출력 결과를 손으로 정리하며 공부를 진행했고 책은 1.5바퀴 반복하며 공부하였다.(50시간 ~ 100시간)

 

문제집에 대한 선택은 기본적으로 다들 노랭이 라고 부르는 "SQL 자격검정 실전문제" 를 보고 푸는게, 남들과 진도를 공유하기도, 물어보기도 굉장히 편하다고 생각이 되지만, 나의 경우에는 "국가공인 SQLD 자격검정 핵심노트" 라는 책을 기준으로 공부를 했고 이 책 역시 SQLD 시험을 준비하는 데 있어 부족하지 않은 책이라고 생각한다. 

 

<DBian 디비안의, 국가공인 SQLD 자격검정 핵심노트 문제지>

 

 

시간 분배는 본인은 2-3주 정도 준비를 했으며, 2-3일 정도, SQL 및 데이터베이스에 대한 가장 간단한 동영상들이나 강의 영상을 살펴보며 실질적으로 SQL이 뭔지, 어떻게 동작하는지 실질적인 이해도를 쌓는데 노력했고, 그 이후 약 2주간 본격적으로 책을 풀어보면서, 모르는 개념이 나올 때 마다 실습 및 코드 공부, 이를 노트와 문제집에 꼼꼼하게 정리하며 공부했다. 그리고 마지막 주에 틀린 문제들에 대한 개념정리, 인터넷의 최신 기출문제들을 돌리며, 최대한 다양한 문제유형들을 많이 접하는 쪽으로 준비를 했다. 

 

 

특히 join이나 트랜직선에 대한 내용들, 데이터 관계 설정에 있어 글로된 이론만으로는 접근하기 힘든부분이 많기에, 그림을 그려가며 공부를 하는것을 추천한다.

 

그리고 참고로, 이론공부를 위해 인터넷에 돌아다니는 이론서 pdf 를 읽는것을 굳이 추천하지는 않는데, 그 이유는 너무 중요하지 않은 부분을 길게 풀어 설명할 뿐더러, 쉽고 빠르게 읽을 수 있는 다른 좋은 자료들이 많기에 당장 시험을 준비하더라도, 또는 깊은 이해도를 얻고자 하더라도 이러한 것들을 굳이 참고할 필요는 없다고 개인적으로 생각한다.

 

+ ) 다른 곳에서도 많이 추천해 주는것 처럼 데이터 포럼에서 시험 기출정보나, 문제 질문답변,  합격후기들이 많이 올라오니 필요한 분들은 이 카페를 최대한 많이 활용하길 바란다.

 

 

+ ) 혹시나 나처럼 "SQL 자격검정 실전문제 (흔히 부르는 노랭이)" 대비가 안되서 불안하다고 하시는 분들은 이분의 티스토리를 참고하면 좋을것 같다.

https://bangu4.tistory.com/77

 

[SQLD] SQLD 최신 기출 문제 , 요약 , 책 , 사이트 총정리

1. SQLD 온라인 요약 정리 https://blog.naver.com/liberty264/220567987579 2. SQLD 요약 정리본 (간단한 버전) https://cafe.naver.com/sqlpd/7810 3. SQLD 요약 정리본 (상세한 버전) https://wbslqj3300.blog.me/220301179115 4. SQLD 예상

bangu4.tistory.com

 

 

+ ) 기출문제의 경우에 이 분의 티스토리를 많이 참고하길 바란다. 실질적인 최신 기출 동향을 풀어볼 수 있으며 해설 또한 깔끔해서 굉장히 도움이 많이 되었던 것 같다.

https://yunamom.tistory.com/?page=2 

 

Study with yuna🌷

JAVA 와 SQL 을 공부하고 있습니다.

yunamom.tistory.com