본문 바로가기

SQLD9

SQLD 시험 후기 2017년 12월 2일에 있는 SQLD 시험을 보고 왔는데, 문제의 난이도는 쉬운편이였다고 생각함하지만 1과목에서 헷갈리는 것들이 많아서 결과가 어떻게 나올지는 모르겠다ㅠ.ㅠ순서에 상관없이 생각나는 문제들을 써보겠당! 1과목(10문제)1. 재사용성 높은 모델링논리적모델링2. ERD 작업순서엔티티를 그린다 → 엔티티를 적절히 배치한다 → 엔티티간 관계를 설정한다 → 관계명을 기술한다 → 관계 참여도를 기술한다 → 관계의 필수여부를 기술한다3. 몇 차 정규화를 해야하는지 고르기4. 컬럼명 생성 규칙 틀린 것5. 식별자를 컬럼 개수로 분류단일/복합 식별자6. 엔티티 특성으로 틀린 것 7. 주식별자 특성으로 틀린 것 주식별자는 자주 변경되어도 상관없다 (x)8. 테이블 수직/수평분할, 몇 차 정규화인지 고르기9.. 2017. 12. 8.
[SQLD]SQL활용_그룹함수 ROLLUP소그룹간의 소계를 계산.GROUP BY의 확장된 형태로 사용하기 쉬우며 병렬로 수행이 가능하기 때문에 매우 효과적이다.시간 및 지역처럼 계층적 분류를 포함하고 있는 데이터의 집계에 적합하다.CUBE결합 가능한 모든 값에 대하여 다차원적인 집계를 생성.ROLLUP에 비해 다양한 데이터를 얻는 장점이 있지만, 시스템에 부하를 많이 주는 단점이 있다.GROUPING SETS원하는 특정 항목에 대한 소계만 손쉽게 추출할 수 있는 장점이 있다.--1. 부서명과 업무명을 기준으로 사원수와 급여 합을 집계 SELECT DNAME , JOB , COUNT ( * ) Total_Emp , SUM (SAL) Total_Sal FROM EMP, DEPT .. 2017. 11. 22.
[SQLD] SQL기본_JOIN INNER JOINJOIN 조건에서 동일한 값이 있는 행만 반환USING, ON 조건절을 필수적으로 사용해야 한다.--INNER JOINSELECT T0.LAST_NAME, T1.DEPARTMENT_NAME FROM EMPLOYEES T0 INNER JOIN DEPARTMENTS T1 ON T0.DEPARTMENT_ID = T1.DEPARTMENT_ID NATURAL JOIN두 테이블 간의 동일한 이름을 갖는 모든 칼럼들에 대해 EQUI JOIN을 수행USING, ON, WHERE 절에 JOIN 조건을 정의할 수 없다.--NATURAL JOINSELECT T0.LAST_NAME, T1.DEPARTMENT_NAME FROM EMP.. 2017. 11. 21.
[SQLD] SQL기본_GROUP BY, HAVING절 GROUP BY 절과 HAVING 절의 특성1. GROUP BY 절을 통해 소그룹별 기준을 정한 후, SELECT 절에 집계 함수 사용2. 집계 함수는 NULL 값을 가진 행을 제외하고 수행3. GROUP BY 절에는 ALIAS 명 사용 불가능4. WHERE 절에는 집계함수 올 수 없음 (WHERE 절이 GROUP BY 절보다 먼저 수행되기 때문이다)5. HAVING 절은 GROUP BY 절의 기준 항목이나 소그룹의 집계 함수를 이용한 조건 표시 가능 SELECT 문장 실행 순서1. 발췌 대상 테이블 참조 ( FROM )2. 발췌 대상 데이터가 아닌 것은 제거 ( WHERE )3. 행들을 소그룹화 ( GROUP BY )4. 그룹핑된 값의 조건에 맞는 것만 출력 ( HAVING )5. 데이터 값 출력, 계.. 2017. 11. 21.
[SQLD] 함수 /***문자형 함수***//* 결과: 10 */SELECT LENGTH('SQL EXPERT') FROM DUAL;/* 결과: 홍길동 축구선수 */SELECT CONCAT(PLAYER_NAME, ' 축구선수') FROM PLAYER;SELECT PLAYER_NAME||' 축구선수' FROM PLAYER;/* SQL Server */SELECT PLAYER_NAME+' 축구선수' FROM PLAYER;/***숫자형 함수***//* 소수점 이하 한 자리까지 반올림, 내림 */SELECT ENAME, ROUND(SAL/12, 1), TRUNC(SAL/12, 1) FROM EMP;/*** 숫자형 함수 ***/ /***날짜형 함수***/SELECT ENAME , HIREDATE , EXT.. 2017. 11. 20.
[SQLD] SQL기본_TCL/WHERE절 TCL(트랜잭션 제어어)COMMIT, ROLLBACK, SAVEPOINTDML에 의해 조작된 결과를 작업단위(트랜잭션) 별로 제어하는 명령어- 효과 데이터 무결성 보장영구적인 변경을 하기 전 데이터 변경사항 확인 가능논리적 연관된 작업 그룹핑하여 처리 가능(Default) ORACLE - Not Auto Commit / SQL Server - Auto CommitDDL 명령어CREATE, ALTER, RENAME, DROP직접 데이터베이스의 테이블에 영향을 미치기 때문에 DDL 명령어를 입력하는 순간 명령어에 해당하는 작업이 즉시(Auto Commit) 완료된다.DML 명령어INSERT, UPDATE, DELETE, SELECT조작하려는 테이블을 메모리 버퍼에 올려놓고 작업을 하기 때문에 실시간으로 테이.. 2017. 11. 20.