본문 바로가기

SQL12

[SQLD] 제 42회 SQLD 시험 후기 취업 준비를 할 당시, 서류상 가점을 받기위해 SQLD 자격증을 취득하고자 했는데,,, 운이 좋게 취업을 먼저하게 되었고, 이후 SQL에 대한 이해와 역량을 높이려는 취지로 SQLD를 공부하여 [42회 SQLD 시험]에 응시 및 합격했습니다!!! 시험준비 과정 준비기간 : 6주(업무와 병행하였기 때문에 약 4주정도..??) 사용한 교재(문제집) : [SQL 자격검정 실전문제](A.K.A 노랭이), [국가공인 SQLD 자격검정 핵심노트] 이외에도 인터넷에 올라와있는 기출문제들을 풀어보았습니다. 준비기간동안 2개의 문제집을 각각 3회 반복하여 풀었습니다.(복습의 중요성! 🤔) 시험준비 SQL에 대한 제 실력을 간단히 말씀드리면, 대학시절 '데이터베이스' 전공수업 수강과 SSAFY에서의 SQL 교육으로 기본적.. 2021. 10. 3.
[2과목] - SQL 최적화 기본 원리 CBO(Cost Based Optimizer) - 비용기반 옵티마이저 테이블 및 인덱스 등의 통계 정보를 활용하여 SQL문을 실행하는데 소요될 처리시간 및 CPU, I/O 자원량 등을 계산하여 가장 효율적일 것으로 예상되는 실행계획을 선택하는 옵티마이저 실행계획을 통해서 알 수 있는 정보 액세스 기법 질의 처리 예상 비용(Cost) 조인 방법 조인 순서 +) 실행계획을 읽는 순서는 위에서 아래로, 안에서 밖으로 읽는다. +) 실행계획은 SQL 처리를 위한 실행 절차와 방법을 표현한 것이다. +) CBO의 실행계획에는 단계별 예상 비용 및 건수 등이 표시된다.. cf) 실행계획은 예상 정보이다. 실제 처리 건수는 트레이스 정보를 통해서 알 수 있다. cf) 실행계획 즉, 실행방법이 달라진다고 해서 동일 S.. 2021. 8. 23.
[2과목] - SQL 활용 순수 관계 연산자와 SQL 문장 비교 순수 관계 연산자에는 SELECT, PROJECT, JOIN, DIVIDE가 있다. SELECT 연산은 WHERE 절로 구현 PROJECT 연산은 SELECT 절로 구현 (NATURAL) JOIN 연산은 다양한 JOIN 기능으로 구현 DIVIDE 연산은 현재 사용되지 않음 ANSI / ISO SQL에서 표시하는 FROM 절의 JOIN 형태 INNER JOIN NATURAL JOIN USING 조건절 ON 조건절 CROSS JOIN - M*N 건의 데이터 조합이 발생한다. OUTER JOIN(LEFT, RIGHT, FULL) +) ORACLE에서는 OUTER JOIN 구문을 (+) 기호를 사용하여 처리할 수도 있다. 집합 연산자의 종류 집합 연산자 연산자의 의미 UNI.. 2021. 8. 22.
[2과목] - SQL 기본 SQL 문장들의 종류 명령어의 종류 명령어 설명 데이터 조작어 (DML : Data Manipulation Language) SELECT 데이터베이스에 들어 있는 데이터를 조회하거나 검색하기 위한 명령어를 말하는 것으로 RETRIEVE 라고도 한다. INSERT UPDATE DELETE 데이터베이스의 테이블에 들어 있는 데이터에 변형을 가하는 종류의 명령어들을 말한다. 예를 들어 데이터를 테이블에 새로운 행을 집어넣거나, 원하지 않는 데이터를 삭제하거나 수정하는 것들의 명령어들을 DML이라고 부른다. 데이터 정의어 (DDL : Data Definition Language) CREATE ALTER DROP RENAME 테이블과 같은 데이터 구조를 정의하는데 사용되는 명령어들로 그러한 구조를 생성하거나 변경.. 2021. 8. 18.
[1과목] - 데이터 모델과 성능 성능데이터모델링 데이터베이스 성능향상을 목적으로 설계단계의 데이터 모델링 때부터 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것 반정규화(역정규화) 데이터 모델링 단계에서 성능을 충분히 고려하기 위한 성능 데이터 모델링 수행 절차 데이터모델링을 할 때 정규화를 정확하게 수행 데이터베이스 용량산정을 수행 데이터베이스에 발생되는 트랜잭션의 유형을 파악 용량과 트랜잭션의 유형에 따라 반정규화를 수행 이력모델의 조정, PK/FK조정, 슈퍼타입/서브타입 조정 등 수행 성능관점에서 데이터모델을 검증 반정규화는 정규화된 엔터티, 속성, 관계에 대해 시스템의 성능향상과 개발과 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링의 기법을 의미한다. 반정규화는 데이터를 중복하여 성능을 향.. 2021. 8. 16.
[1과목] - 데이터 모델링의 이해 발생시점에 따른 엔터티 분류 기본/키엔터티 중심엔터티 행위엔터티 분류 설명 기본 업무에 원래 존재하는 정보로 다른 엔터티와 관계에 의해 생성되지 않고 독립적으로 생성된다. 다른 엔터티의 부모 엔터티로 다른 엔터티로부터 식별자를 상속 받지 않고 자신의 식별자를 가진다. - 사원, 부서, 고객, 상품, 자재 중심 기본 엔터티로부터 발생되며 업무에서 중심적인 역할을 한다. 많은 데이터가 발생하고 다른 엔터티와의 관계를 통해 행위 엔터티를 생성한다. - 계약, 사고, 예금원장, 청구, 주문, 매출 행위 2개 이상의 부모 엔터티로부터 발생하고, 자주 내용이 변경되거나 많은 데이터가 생성된다. - 주문목록, 사원변경이력 데이터모델링 정보시스템을 구축하기 위한 데이터 관점의 업무 분석 기법 현실세계의 데이터(what.. 2021. 8. 13.
[SQL] Programmers : Level 4 📌 우유와 요거트가 담긴 장바구니 코딩테스트 연습 - 우유와 요거트가 담긴 장바구니 CART_PRODUCTS 테이블은 장바구니에 담긴 상품 정보를 담은 테이블입니다. CART_PRODUCTS 테이블의 구조는 다음과 같으며, ID, CART_ID, NAME, PRICE는 각각 테이블의 아이디, 장바구니의 아이디, 상품 종류, 가 programmers.co.kr 데이터 분석 팀에서는 우유(Milk)와 요거트(Yogurt)를 동시에 구입한 장바구니가 있는지 알아보려 합니다. 우유와 요거트를 동시에 구입한 장바구니의 아이디를 조회하는 SQL 문을 작성해주세요. 이때 결과는 장바구니의 아이디 순으로 나와야 합니다. SELECT CART_ID FROM CART_PRODUCTS WHERE NAME IN ('Milk'.. 2021. 3. 26.
[SQL] Programmers : Level 3 📌 없어진 기록 찾기 코딩테스트 연습 - 없어진 기록 찾기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 천재지변으로 인해 일부 데이터가 유실되었습니다. 입양을 간 기록은 있는데, 보호소에 들어온 기록이 없는 동물의 ID와 이름을 ID 순으로 조회하는 SQL문을 작성해주세요. ON INS.ANIMAL_ID = OUTS.ANIMAL_ID 대신 USING (ANIMAL_ID)도 가능! SELECT OUTS.ANIMAL_ID, OUTS.NA.. 2021. 3. 25.
[SQL] Programmers : Level 2(2) 📌 입양 시각 구하기(1) 코딩테스트 연습 - 입양 시각 구하기(1) ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물 programmers.co.kr 보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 09:00부터 19:59까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다. SELECT HOUR(DATETIME) AS "HOUR", COUNT(*) AS "COUNT" FROM ANIMA.. 2021. 3. 10.