개발자의 길/SQLD

[SQLD] 한큐에 요약 정리 (개념, 기출문제 등)

snapcoder 2024. 3. 8. 20:58
728x90
반응형
SMALL

대문짝만한 로고 박아두고 시작

 

 

📌 시험 주요 내용

< 데이터 모델링의 이해 (10 문제 : 20점) >
1. 데이터 모델링의 이해
 · 데이터모델의 이해, 엔터티, 속성, 관계, 식별자
2. 데이터 모델과 성능
 · 정규화, 반정규화, 대용량 데이터에 따른 성능, DB 구조, 분산DB 데이터에 따른 성능

< SQL 기본 및 활용 (40 문제 : 80점) >
1. SQL 기본
 · DDL, DML, TCL, WHERE절, FUNCTION, GROUP BY, HAVING 절, ORDER BY 절, 조인
2. SQL 활용
 · 표준조인, 집합연산자, 계층형 쿼리, 서브쿼리, 그룹 함수, 윈도우 함수, DCL, 절차형 SQL
3. SQL 최적화 기본 원리
 · 옵티마이저와 실행계획, 인덱스 기본, 조인 수행 원리

 

 

 

 

 

 

📌 데이터 모델링의 이해

< 데이터 모델링의 이해 >
1. 추상화 vs 단순화 vs 명확화
 - 추상화 : 현실세계를 일정한 형식에 맞춰 표현

 - 단순화 : 약속된 규약에 의해 제한된 표기법이나 언어로 쉽게 표현

 - 명확화 : 애매하지 않게 표현

 

< 데이터 모델과 성능 >
1. 성능 데이터 모델링 고려사항
 - 이쁜말 다 고르면 됨

 

이거 정리하려면 20년정도 걸림.

어차피 기출문제 돌려막기니까 구글링 돌려서 효율적으로 공부하기.

 

 

 

📌 SQL 기본 및 활용

< SQL 기본 >
1. DDL vs DML vs DCL vs TCL
 - DDL(Data Definition Language) : 테이블과 컬럼 정의언어

      o CREATE

      o ALTER

      o  DROP

      o  RENAME

      o  TRUNCATE

 - DML(Data Manipulation Language) : 조회 추가 삭제 변경 등의 조작언어

      o  SELECT

      o  INSERT

      o  UPDATE

      o  DELETE

 - DCL(Data Control Language) : 권한 관련 제어언어

      o  GRANT

      o  REVOKE

 - TCL(Transaction Control Language) : 딱봐도 트랜잭션 제어언어

      o  COMMIT

      o  ROLLBACK

      o  SAVEPOINT

   ※ 특징 4가지 (시험 자주나옴)

      1. 원자성 : 트랜잭션이 모두 반영되던가 그렇지 않아야 함

      2. 일관성 : 데이터타입이 바뀌면 안됨

      3. 독립성 : 트랜잭션 끼어들 수 없음

      4. 지속성 : 결과가 영구반영되어야 함

 

2. WHERE절

3. GROUP BY + HAVING 절

4. ORDER BY

5. JOIN

현직자인 경우 DBA 아니더라도 로그좀 까보셨으면 문제없으리라 봅니다.

기출문제 돌려보시고 효율적으로 공부합시다.

 

< SQL 활용 >
1. 일반적인 조인

 - INNER : 교집합

 - OUTER(FULL) : 합집합

 - LEFT : 왼쪽기준

 - RIGHT : 오른쪽기준

 - CROSS(PRODUCT) : 실뜨기처럼 N대N 전부다 쪼인

2. 집합연산자

 - UNION : 합집합 + 중복제거

 - UNION ALL : 합집합 + 중복무관

 - INTERSECT : 교집합

 - MINUS(EXCEPT) : 차집합

3. 계층형 쿼리

 - START WITH 절 : 루트 지정

 - CONNECT BY 절 : 자식 지정

 - PRIOR b = a 절 : a > b 방향 전개

 - ORDER SIBLINGS BY : 형제끼리만 정렬

4. 서브쿼리

5. 집계(그룹)함수

 - GROUP BY

 - GROUP BY ROLLUP : 소그룹간 합계 NULL로 표시

 - GROUP BY CUBE : 다차원 합계 NULL로 표시

 - GROUP BY GROUPING SETS : 특정항목 합계

 - SELECT CASE GROUPING(text) + ROLLUP : 소그룹간 합계 원하는 text로 표시

6. 윈도우함수

 - RANK() OVER(ORDER BY sabun ASC) : 1등 2등 2등 4등

 - RANK() OVER(PARTITION BY dept ORDER BY sabun ASC) : 부서별 RANK임 (부서별 1등 각각 존재)

 - DENSE_RANK() OVER : 1등 2등 2등 3등 (동일순위 하나의 건수로 취급)

 - ROW_NUMBER : 1등 2등 3등 4등 (고유순위)

7. DCL

 - GRANT, REVOKE 정도 주관식으로 나올 수 있음

8. 절차형 SQL : 나오면 걍 틀리자

 

< SQL 최적화 기본 원리 >
1. 옵티마이저와 실행계획
 - 설명

2. 인덱스 기본

3. 조인 수행원리

 

 

 

 

📌 참고자료

 - 개념정리 엄청 잘되어있음 : https://blog.naver.com/liberty264/220567987579

 - 기출문제 구글링 찬스

 - 유튜브 기출문제 및 신유형 예상문제 1시간 반짜리 : https://www.youtube.com/watch?v=5fTVqNUE5sg

 

 

 

 

 

728x90
반응형
LIST