본문 바로가기

공부중인것

정보처리기사 실기(7과목 SQL응용)

Chater1 데이터베이스 기본

 

1. 트랜잭션(Transaction)

인가 받지 않은 사용자로부터 데이터를 보장하기 위해 DBMS가 가져야하는 특성, 

하나의 논리적 기능을 정상적으로 수행하기 위한 작업의 기본단위

 

2. 트랜잭션의 특징

특성(원,일,격,영) 설명
원자성(Atomicity) 트랜잭션 연산 전체가 성공 또는 실패해 되어야 하는 성질
일관성(Consistency) 트랜잭션 수행 전과 트랜잭션 수행 완료 후의 상태가 같아야 한다는 성질
격리성(Isolation) 동시에 실행되는 트랜잭션들이 서로 영향을 미치지 않아야 한다는 성질
지속성(Durability) 성공이 완료된 트랜잭션의 결과는 영속적으로 데이터베이스에 저장되어야 한다는 성질

3. 트랜잭션 제어어 (TCL)

명령어 설명
Commit 트랜잭션을 메모리에 영구적으로 저장하는 명령어
Rollback 트랜잭션 내역의 저장을 무효화 시키는 명령어
Checkpoint(Savepoint) Rollback을 위한 시점을 지정하는 명령어

 

4. 데이터 정의어(DDL)

DB를 구축하거나 수정할 목적으로 사용되는 언어

 

5. DDL 대상

대상 종류 설명
도메인 하나의 속성이 가질수 있는 원자값의 집합
스키마 데이터베이스의 구조, 제약조건 등의 정보를 담고 있는 기본적인 구조
외부스키마 조직체 전체를 관장하는 입장에서 DB를 정의한것
개념스키마 데이터베이스 전체적인 논리적 구조
내부스키마 물리적인 저장장치 입장에서 DB가 저장되는 방법을 기술
테이블 데이터의 저장 공간
하나 이상의 물리 테이블에서 유도되는 가상의 테이블
인덱스 순서 인덱스 데이터가 정렬된 순서로 생성되는 인덱스
해시 인덱스 해시 함수에 의해 직접 데이터 키 값으로 접근하는 인덱스
비트맵 인덱스 bit값인 0과 1로 번호화하여 인덱스키로 사용되는 인덱스
함수기반 인덱스 수식이나 함수를 적용하여 만듬
단일 인덱스 하나의 컬럼으로만 구성한 인덱스
결합 인덱스 두 개 이상의 컬럼으로 구성한 인덱스
클러스터드  인덱스키의 순서에 따라 데이터가 정렬되어 저장되는 방식 (검색 빠름)
넌클러스터드 인덱스의 키 값만 정렬되어 있고 실제 데이터는 정렬되지 않는방식 
(데이터 삽입,삭제시 재정렬 필요)

 

6. DDL명령어

명령어 예문
Create Create '테이블명' ( '속성명' varchar2(20) '속성조건 입력' )
Alter Alter table '테이블명' [Add,Modify] '열이름' '조건'
Drop Drop table '테이블명' cascade
TRUNCATE TRUNCATE TABLE [테이블명]

Cascade : 제거할 요소를 참조하는 다른 모든 개체를 함께 제거

Restrict : 다른 개체가 제거할 요소를 참조중일 때는 제거 취소

 

7. 데이터조작어(DML)

조작어 예문
SELECT SELECT * FROM TABLE1
INSERT INSERT INTO TABLE ('열이름') VALUES ('값')
UPDATE UPDATE TABLE SET 열이름 = '바꿀값'
DELETE DELETE FROM TABLE 조건문

 

8. 데이터제어어(DCL)

데이터의 보안,무결성,회복,병행 제어등을 정의하는데 사용되는 언어

조작어 예시
GRANT(권한부여) GRANT 권한종류 ON 대상 TO 계정명 
EX) GRANT SELECT ON TEST.* TO USER IDENTIFIED BY 'PASSWORD'
REVOKE(권한회수) REVOKE 권한종류 ON 대상 TO 계정명
REVOKE INSERT,UPDATE,CREATE ON TEST.TABLE TO USER

 

8. 데이터베이스 정렬순서

ORDER BY 열값 DESC = 열갑 기준으로 내림차순 정렬

ORDER BY 열값 ASC = 열갑 기준으로 오름차순 정렬  (ORDER BY 문이 없을시 오름차순이 기본 으로 설정되어있음)

 

Chater2 응용 SQL 작성

1. 집계함수

여러행과 테이블 전체로부터 하나의 결과값을 반환

Count, Sum, AVG, MAX, MIN, STDDEV, VARIAN 함수 사용

 

2. 그룹 함수

소 그룹간의 중간 합계, 소계를 계산화 하여 산출하는 함수

ROLLUP : 소계, 중간 집계 값 산출

CUBE : 다차원 집계 생성

GROUPING SET : 컬럼에 대한 개별 집계

 

3. 윈도함수

데이터베이스를 사용한 온라인 분석 처리 용도로 사용하기 위해 SQL에 추가한 함수

EX) SELECT 함수명(파라미터) OVER PARTITION BY ORDER BY

 

종류 함수
순위함수 RANK(), DENSE_RANK(), ROW_NUMBER()
행순서함수 FIRST_VALUE, LAST_VALUE
그룹내 비율 RATIO_TO_REPORT,PERCENT_RANK

 

4. JDBC란

자바언어를 이용하여 DBMS에 질의하고 데이터를 조작하는 API

 

5. MYBATIS

DBMS에 질의하기 위해 SQL쿼리를 별도로 파일에 분리하고 MAPPING 하는 SQL 실행

복잡한 JDBC를 단순화

 

 

Chater3 절차형 SQL

1. 프로지서

절차형 SQL문을 활용하여 사전에 정의해놓은 SQL문을 호출할 경우 특정 기능을 수행하는 트랜잭션 언어

 

2. 사용자 정의함수

사용자가 정의하여 SQL문 처리 수행 후 단일 값으로 반환하는 절차형 SQL

 

3. 트리거(TRIGGER)

특정 테이블에 수정,삭제,삽입 등의 데이터 이벤트 발생시 자동으로 DBMS에서 실행되도록 구현한 프로그램