sqld 준비 끄적끄적

2021. 3. 18. 19:26캐리의 데이터 세상/캐리의 데이터 공부 기록

반응형

기출문제 풀이하면서 두꺼운 SQL 기본서 역으로 찾으면서 다시 점검 중. 왠지 시험에 나올 것 같은 개념들 시험 직전에 보려고 올려 봅니다:)

Inner vs. outer vs. cross join 비교

 

 

 

 

 

 



단일행 문자형 함수 예시

 

 

 

 

 

 


ROWNUM / TOP() 사용

 

 

 

 

 

 
View 사용 장점 및 특징

 

 

 

 

+ View는 논리적인 Select 포함하는 Object 로 실제 데이터를 갖고 있지 않고 뷰 정의만 갖고 있음
+ 뷰를 제거하기 위해서는 DROP VIEW 문 사용



SQL 문장 종류

 

 

 

 

+ TCL - savepoint

Drop, Truncate, delete 비교

 

 

 

 


트랜잭션 4가지 특징

 

 

 

 



- Row Chaining / Row Migration 개념 비교

- 도메인 (Domain) : 각 속성은 가질 수 있는 값의 범위가 있는데 이를 그 속성의 도메인이라고 함. 엔터티 내에서 속성에 대한 데이터 타입과 크기, 제약사항을 지정

- 데이터 모델링의 3요소 : Thing, Attributes, Relationship

- 데이터 모델링의 유의사항 : 중복, 비유연성, 비일관성

 


NL vs HASH vs SMJ 조인 비교

1) NL 조인(Nested Loops)
- 주로 랜덤 액세스 방식으로 데이터 읽음
- OLTP 목록 처리 업무에 많이 사용
- 조인 칼럼에 적당한 인덱스가 있어 자연 조인이 효율적일 때 유용
- Driving Table 조인 데이터 양이 큰 영향을 줌
- 유니크 인덱스 활용 수행시간 적게 걸리는 소량 테이블 온라인 조회 시 유용


2) HASH 조인
- 데이터 집계 업무
- EQUI(=) 조인 조건에서만 동작
- 소트 머지 하기에 테이블 커서 소트 부하 심할 때 유용
- 자연조인 비효율적일 때
- 조인 칼럼의 인덱스가 존재하지 않을 경우에도 사용 가능
- 일반적 소트머지 조인보다 성능 우수(반대 경우도 존재)


3) SMJ (Sort Merge Join)
- 데이터 집계 업무
- Driving Table 개념이 중요하지 않은 조인 방식
- 스캔 방식 데이터 읽음
- 조인 조건 인덱스 유무에 영향받지 않음
- EQUI(=) , Non-EQUI 조인에서도 사용 가능


UNION ALL
-칼럼 alias 는 첫 번째 SQL 모듈 기준으로 표시

외래키
-테이블 생성 시 설정
- 널 값 가질 수 있음
- 한 테이블 여러 개 가능
- 외래 키 값은 참조 무결성 제약을 받을 수 있다

고유키- 모든 컬럼 널값 가질 수도 있음



풀이하면서 계속 업데이트~

출처 :SQL 전문가 가이드 / SQL 실전문제 문제집 중

 


SQLD 40회 시험 응시 후기 (2021/3/20일)


먼저 이 시험을 준비한다고 해서 실무에서 제대로 써먹을 수 있을 수준의 시험은 전혀 아니란 점.

SQLD 시험 수준에서는 자격증 커트라인이 목표라면 5만 원짜리 SQL 가이드북을 사서 볼 필요까진 없고 노랭이 실전 문제집과 기출문제 몇 회분량을 몇 번 돌리면서 지문 풀이를 구글링 혹은 카페의 집단지성 해설들을 찾아보며 촘촘하게 바짝 하면 충분이 커트라인 통과는 가능할 듯.


DB쪽 궁금하기도 했고 작년 말에 슬쩍 건드려 보면서 구조를 뜯어보며 공부해보고 싶었기에 시험부터 응시했지만 ADsP랑 동시에 준비하면서 쫄렸는지 가이드북 보며 하나씩 실습해보면서 익히다가 시간이 부족해서 시험 치는 주간에는 노랭이 문제집을 펼쳐놓고 역으로 이론을 급하게 찾아가면서 공부.

가까스로 겨우 커트는 넘을 것 같지만 사놓은 책이 아까우니 틈틈이 실습은 해봐야 할 듯.


기억나는 문제 포인트들.

- Join 구분하는 문제 전혀 안 나옴 (Hash, SMJ, NL 구분하는 거 하나도 안 나옴)

- Left outer join, ntile, rollup, cube, dense_rank 는 객관식, 주관식에 계속 등장 (특히 rollup, cube, grouping sets 구분하는 거 복수 출제)

- nvl, nullif, isnull, is not null 등등 null 관련 문제 다수 출제

- CHAR, VARCHAR 값 채우는 거 비교해서 계산하는 문제

- Union, Union All 계산

- CASCADE, VIEW, GRANT (주관식)

- 정규형, 정규화 (1차 정규형 - 2차 정규화 대상 ... 정규형인지 정규화인지에 따라 차수 구분하는 문제)

- From -> Where -> Group by -> Having -> Select -> Order by 순서 요건 기출이랑 문제집에서도 계속 반복됨.

- Left outer join, Natural Join, Right outer join 등 조인 조건 섞어서 count 하는 문제 몇 개 출제됨.

- 엔터티, 속성 특성, 트랜잭션 특징, 데이터모델링 구분, commit, rollback (오라클 / SQL Server 작동 비교) 등 노랭이 문제집에 출제된 내용 다수 똑같이 or 비슷하게 지문으로 출제. 어떤 문제는 지문과 답까지 거의 동일해서 풀었던 기억으로 찍은 것도 몇 개 있음.


전날 리뷰하면서 왠지 나올 것 같아서 블로그에 정리했던 몇 개 중에 View 주관식으로 등장! 고유키(Unique)도 null값을 가질 수 있다고 위에 정리했었는데 헷갈리던 객관식 문제 보기에 떡하니 등장.

ADsP는 비교적 시간을 좀 더 투자했고 기출이랑 민트색 문제집도 여러 번 훑고 가서 빠른 시간 내에 답안지 제출하고 중도 퇴실했건만 SQLD는....

몇 문제 멍 때리다가 시간 조절을 못해서 주관식 남겨두고 종료 15분 전에 객관식 마킹하고 남은 10분 동안 초스피드로 주관식 문제 해결. 스피디하게 한 것 치고는 10개 중에 7개는 맞은 것 같으니 평타는 친 듯 하나 역시나 공부량이 부족한 게 고스란히 드러났음.


다음 시험 벼락치기하시는 분들! 노랭이와 기출문제들 꼼꼼하게 풀이하면서 가이드북 혹은 이론서 있다면 문제에 겸해서 보시는 게 시간 단축의 길!  이론부터 보면 응용하는데 버퍼링이 걸릴 수 있답니다. 기출 해설은 집단지성의 힘으로 구글링 하면 하나하나 다 찾을 수 있음!!!

그럼.. 합격을 하게 되면 인증 포스팅으로!

참고글

2021.02.21 - [캐리의 도전/시험] - ADSP, SQLD 기출 문제 자료 모음

2021.03.06 - [캐리의 데이터 세상/캐리의 데이터 공부 기록] - 오라클 sql 파일 등록 (sqld 실습 soccer.sql파일)

반응형