CODEDRAGON ㆍDevelopment/Database
1
부서(DEPTNO)별 평균 급여(SAL)가 400만원 이상인 부서 중에서 부서의 부서번호(deptno)와, 평균급여, 최소급여액, 최대급여액을 구하라. (사원테이블 구조는 아래와 같다.)
EMP TABLE
|
SELECT DEPTNO, AVG(SAL), MIN(SAL), MAX(SAL) FROM EMP
GROUP BY DEPTNO HAVING AVG(SAL) >= 4000000; |
2
생성된 테이블(edulevel)에 작업용 임시 데이터 생성(최소 3 이상의 자료 생성)
- 자료 생성시 반드시 테스트: (자료 생성전, 자료생성, 자료생성후의 테스트가 이루어질 수 있도록 과정별 쿼리 작성및 확인후 커밋)
작업용 데이터(임시) 생성 및 테스트(예시)
데이터 생성 |
① select count(*) from edu_level; ② insert into edu_level(컬럼1, 컬럼2, 컬럼3) values(데이터1, 데이터2, 데이터3); ③ select count(*) from edu_level; ④ select 컬럼1, 컬럼2, 컬럼3 from edu_level where 컬럼1=데이터1 and 컬럼2=데이터2 and 컬럼3 = 데이터3; |
생성작업에 대한 테스트 |
⑤ ①과 ③의 결과에 대한 비교를 통한 검증 테스트 ⑥ ④에 대한 결과 테스트 |
참고사항 : 위 작업은 쿼리문을 통한 가장 기초적인 생성과 테스트 작업이며 이를 프로그래밍의 단위테스트를 통하여 자동화할 수 있으며 종합적인 프로젝트 진행시에 이를 적용하여 세부적인 테스트가 이루어질 수 있도록 한다.
3
인덱스 적용전의 데이터 조회 결과 및 인덱스 적용 후의 데이터 결과에 대한 성능 분석
기초적인 성능 분석 및 index의 이해
① 인덱스 생성 전 조회 결과에 대한 응답시간 : xxxxxx(단위:nano초) ② 인덱스 생성 후 조회 결과에 대한 응답시간 : xxxxxx(단위:nano초) ③ ①과 ②의 응답시간에 대한 결과 비교 |
4
테이블 EMPLOYEE의 복합 컬럼(AGE, SALARY, NAME)에 인덱스가 정의되어 있다.
SELECT문 으로 이 인덱스를 이용하여 효율적으로 수행하는 쿼리문 작성하시오.
SELECT AGE, SALARY FROM EMPLOYEE WHERE AGE=30; |
5
데이터의 입력과 수정, 삭제에 대한 문법 형식을 기술하고 예시문을 작성하시오
데이터 입력 구문
형식 |
INSERT INTO 테이블명 [(컬럼명1, 컬럼명2.....)] [VALUES (데이터1, 데이터2...) ]; |
예시문 |
INSERT INTO dept (empno, ename) values(60, '총무부'); |
데이터 수정 구문
형식 |
UPDATE 테이블명 SET 컬럼명 = 변경데이터 [, 컬럼명 = 변경데이터....] [WHERE 변경대상조건구문] ; |
예시문 |
UPDATE dept SET ename='총무' WHERE empno=60; |
데이터 삭제 구문
형식 |
DELETE [FROM] 테이블명 [WHERE 삭제대상조건구문]; |
예시문 |
DELETE FROM dept WHERE empno > 60; |
6
1.부서(DEPTNO)별 평균 급여(SAL)가 400만원 이상인 부서 중에서 부서의 부서번호(deptno)와, 평균급여, 최소급여액, 최대급여액을 구하라. (사원테이블 구조는 아래와 같다.)
EMP TABLE
|
SELECT DEPTNO, AVG(SAL), MIN(SAL), MAX(SAL) FROM EMP
GROUP BY DEPTNO HAVING AVG(SAL) >= 4000000;
2. 생성된 테이블(edulevel)에 작업용 임시 데이터 생성(최소 3 이상의 자료 생성)
- 자료 생성시 반드시 테스트
(자료 생성전, 자료생성, 자료생성후의 테스트가 이루어질 수 있도록 과정별 쿼리 작성및 확인후 커밋)
작업용 데이터(임시) 생성 및 테스트(예시)
데이터 생성
① select count(*) from edu_level; ② insert into edu_level(컬럼1, 컬럼2, 컬럼3) values(데이터1, 데이터2, 데이터3); ③ select count(*) from edu_level; ④ select 컬럼1, 컬럼2, 컬럼3 from edu_level where 컬럼1=데이터1 and 컬럼2=데이터2 and 컬럼3 = 데이터3; |
생성작업에 대한 테스트
⑤ ①과 ③의 결과에 대한 비교를 통한 검증 테스트 ⑥ ④에 대한 결과 테스트 |
참고사항 : 위 작업은 쿼리문을 통한 가장 기초적인 생성과 테스트 작업이며 이를 프로그래밍의 단위테스트를 통하여 자동화할 수 있으며 종합적인 프로젝트 진행시에 이를 적용하여 세부적인 테스트가 이루어질 수 있도록 한다.
3. 인덱스 적용전의 데이터 조회 결과 및 인덱스 적용 후의 데이터 결과에 대한 성능 분석
기초적인 성능 분석 및 index의 이해
① 인덱스 생성 전 조회 결과에 대한 응답시간 : xxxxxx(단위:nano초) ② 인덱스 생성 후 조회 결과에 대한 응답시간 : xxxxxx(단위:nano초) ③ ①과 ②의 응답시간에 대한 결과 비교 |
'Development > Database' 카테고리의 다른 글
데이터 제어어(DCL)의 기능 (0) | 2018.12.05 |
---|---|
시스템 성능 개선영역 및 절차를 이해한다. - 인프라 성능개선을 통해 시스템 성능을 개선할 수 있도록 한다., 데이터베이스 성능개선을 통해 시스템 성능을 개선할 수 있도록 한다., 업무 영.. (0) | 2018.11.26 |
데이터 딕셔너리 - 오라클 데이터 베이스 (0) | 2018.11.19 |
SQL 성능개선 순서를 이해한다. - 문제 있는 SQL 식별, 옵티마이저(Optimizer) 통계 확인, 실행계획 검토, SQL 문 재구성, 인덱스 재구성, 실행계획 유지관리 (0) | 2018.11.14 |
Data vs Information (데이터 vs 정보) (0) | 2018.11.10 |