본문 바로가기
프로그래밍/SQL

SQLD 합격 후기, 공부 방법 (+ 생활코딩 MySQL 강의 정리)

by hi-rachel 2023. 4. 10.
시험에 응시한 이유

'자기 분야에 시간, 돈 등을 얼마나 투자하는가'도 중요하다는 소리를 들었었고, 다른 공부하는 분들에 최소한 뒤쳐지고 싶지는 않아서 컴퓨터 관련 카테고리에서 상위권에 있는 책들을 한꺼번에 많이 구매했었다. 그중 자격증 관련 책은 하나가 정처기 책이었고 하나는 SQL 개발자 책이었다. 일단 베스트셀러에 있고 후기도 좋아 망설임 없이 책을 구매했다. 내가 처음 접한 DB는 서비스를 따라 만들어보며 mongoDB를 써봤는데 이후 DataBase Management System에 대해 더 잘 알고 싶었다. 책을 구매할 당시는 SQL이 DBMS의 종류이고, 많이 쓴다는 정도만 알고 나머지는 거의 처음 접했다.

SQL 개발자, 정미나, SD에듀

 

공부한 방법

시험 몇 달 전 소마를 준비하면서(2차 코테에서 떨어졌지만) 프로그래머스 SQL 고득점 Kit를 풀기 시작했고 처음 풀려니 잘 모르겠어서 일단 Youtube의 생활코딩 MySQL 강의를 들었다. 시험과 많이 연관된다고는 할 수 없지만 직접 서버 접속하고 터미널에서 DB를 생성, 수정, 삭제하는 법을 알 수 있었고 데이터베이스에 대한 전체적인 그림과 앞으로 공부해 나가야 할 방향을 잡는데 도움이 되었다.

 

이후 프로그래머스 SQL 고득점 Kit를 꾸준히 풀면서 책도 조금씩 봤다. SQL 고득점 Kit는 SQL 문법을 익히는데 도움이 되었고 직접 쓰면서 명령어들은 자연스럽게 익혔다. 책은 어느 정도 SQL를 혼자 공부한 후 보니 궁금했던 점들이 자세히 보여 좋았고, 데이터 모델링, 정규화, 반정규화, 데이터를 왜 그렇게 관리하는지 등에 대한 전체적인 지식도 얻을 수 있어서 좋았다.

 

시험이 얼마 남지 않고 책 뒷부분은 잘 보지 못했는데 아주 빠르게 읽어만 보았고 뒷부분은 SQL 고득점 Kit에서 익혀놓은 명령어들이 많아서 다행이었다. SQL를 공부할 것이라면 책만 보지 말고 실습을 직접 해보며 공부하는 것이 더 재미있고 좀 더 생각하며 풀어나갈 수 있어 추천한다.

 

<내가 공부한 것 요약>

1. 생활코딩 MySQL 강의

2. 프로그래머스 SQL 고득점 Kit 거의 다 품

(고득점 Kit는 풀 수 있는 문제는 풀고 못 풀면 답안 참고, 그때 그때 SQL 문법을 찾아봤다. 계속 쓰이는 건 계속 쓰여서 정리해 놓는다. 구글링 하면 나오는 SQL Cheet Sheet 중 깔끔하게 정리된 것 참고하면 도움 된다.)

3. 책 앞부분 이론은 자세히, 뒤에 명령어 부분 아는 부분은 읽고 넘어감

(시험 하루 전 책 전체적으로 읽기, 책 부록 SQLD 스피드 퀴즈 달달 외움)

 

시험 후기

사는 지역에 시험장이 없어 옆지역으로 가서 시험을 응시했고 응시한 학교는 나름 괜찮았다. 일찍 가서 학교 바로 앞에 있었던 스타벅스에서 조금 읽다가 들어갔다. 수험표는 안 뽑아가고 수험번호만 핸드폰에 적어서만 갔는데 핸드폰은 끄기 때문에 나중에 감독관분이 수험번호를 다 알려주셨다. 응시자 중 절반 정도가 그렇게 한 거 같다. 수험표는 안 뽑아가도 되고 컴퓨터 사인펜은 내가 본 시험장에서 없으면 빌려줬다. 나는 전날 사갔는데 오랜만에 OMR를 작성하려니 좀 불편했다. 확실히 컴퓨터 화면으로 바로바로 답을 체크하는 시험이 편하다. 시험은 약간 영어 장난인 것 같이 느껴지는 문제도 있고 완전 쉽지는 않았다. 그래도 완전 중요한 부분들은 알고 가서 어느 정도 푼 느낌이었다. 각 과목별 40% 이상 점수를 넘겨야 하는데 '데이터 모델링의 이해' 첫 과목이 10문항이고 'SQL 기본 및 활용'이 40문항이라 앞 과목에서 헷갈리는 게 많아 혹시 과락할까 했지만 점수를 받아보니 첫 과목 점수가 생각보다 더 좋았다(8/10). 그래도 공부할 때 '데이터 모델링의 이해'를 안 하면 떨어지기 쉬우니 외울 건 외우고 가자.

이번주 정식으로 합격 발표가 나지만 합격 예정이다~ 결과는 시험 보고 약 2주 뒤 나왔다. 시험 일정은 공식 홈페이지를 잘 참고하자.

 

시험 공식 사이트

https://www.dataq.or.kr/www/main.do

 

메인화면 : 데이터자격시험

 

www.dataq.or.kr

 

 


추가적으로 생활코딩님 강의를 들으며 정리한 노트를 공유한다. 직접 강의를 들어보기 추천한다!

MySQL

 

[출처 : https://opentutorials.org/course/3161/19535]

 

실행

mysql -uroot -p

⇒ 비밀번호 입력

 

위쪽 화살표 ⇒ 위에 입력한 명령어 보임

; 끝에 꼭 붙여줘야 한다.

 

DATABASE 생성 : CREATE DATABASE [이름];

 

CREATE TABLE topic(

-> id INT(11) NOT NULL AUTO_INCREMENT,

-> title VARCHAR(30) NOT NULL,

-> description TEXT NULL,

-> created DATETIME NOT NULL,

-> author_id INT(11) NULL,

-> PRIMARY KEY(id)

);

⇒ row 생성하며 데이터 유형, 특성 정해주기

 

DATABASE 삭제 : DROP DATABASE [이름];

 

데이터 추가하기

INSERT INTO author (id, name, profile) VALUES(1, 'egoing', 'developer');

INSERT INTO topic(id, title, description, created, author_id) VALUES(1, 'MySQL', 'MySQL is...', '2023-1-6 10:31:00', 1);

 

SHOW DATABASES;

 

USE [이름]

 

SHOW TABLES;

 

RENAME TABLE [기존 이름] TO [바꿀 이름]

 

SELECT * FROM [TABLE 이름];

⇒ * 자리에 불러올 column ,로 나누어 적어줌, *은 모두 가져온다는 뜻

 

값 수정하기

UPDATE [TABLE명] SET [column명]=’바꿔줄 값’ WHERE 조건;

 

관계형 데이터 베이스

JOIN

SELECT * FROM topic LEFT JOIN author ON topic.author_id = author.id;

SELECT topic.id AS topic_id FROM topic LEFT JOIN author ON topic.author_id = author.id;

 

SERVER

     WEB Browser(client) 요청        →   Internet   ←      응답 Web Server

     서비스 요청 고객 - client(갑)                                     서비스를 제공 - server(을)

 

Database client

 

Database server ⇒ 어떠한 형태로든 client를 사용해야 함 ⇒ ./mysql -uroot -p ⇒ MySQL monitor(번들로서 제공하는 기본 클라이언트 - 명령어를 통해서 데이터베이스를 제어하는 프로그램) / Workbench

 

mysql -uroot -p -h[서버주소 e.g. localhost]

 

🌠 앞으로 중요한 점!

  • Index 데이터 색인하기
  • Modeling
  • backup 중요 ⇒ mysqldump, binary log …
  • cloud
  • programing ⇒ Python mysql api … 이 언어로 쉽게 핸들링(조작 장치)
  • 참고할 만한 사이트(SQL Tutorial) : https://www.w3schools.com/sql/default.asp

 


 

제 목표는 단순 자격증 취득이 아니라 'SQL 공부를 하며 이왕이면 자격증도 따자~'여서 정말 자격증만 원하시는 분은 위처럼 굳이 안 하고 책만 봐도 합격 충분히 할 것 같습니다. 하지만 저는 최대한 SQL 실제로 사용해보고 싶어서 위와 같은 방식으로 공부했습니다. 데이터 다루는 것은 알수록 재미있는 것 같습니다. 개발자가 아니라도 관련해서 알고 싶다면 충분히 흥미를 가지고 공부할 것이라 생각합니다 😃