1. 기본SQL
- 스키마
- 외부스키마 - 디비 논리적구조, 사용자뷰, 서브스키마
- 개념스키마 - 전체적인 뷰
- 내부스키마 - 물리적 저장장치 관점, 레코드형식정의
- 트랜잭션
- 특징 - ACID (원자성, 일관성, 고립성, 영속성)
- 연산
- 트랜잭션 연산(원자성) - 커밋, 롤백
- 병행제어(일관성) - 로킹, 타임스탬프, 최적병행(검증,확인,낙관적)
- 고립화수준(격리성) - read uncommitted, read committed, repeatable read, seializable read (읽기허용, 읽기제한, 갱신삭제제한, 전체접근제한)
- 회복기법(영속성) - **회로체크(**로그기반회복기법_지연갱신, 즉각갱신, 체크포인트회복, 그림자페이징)
- 테이블 = 릴레이션 = 엔티티
- 데이터를 저장하는 필드로 구성된 데이터집합체
- 중복행x, 행과 열은 순서없음
- 카디널리티 = 튜플(레코드,행)개수
- 차수 = 속성(열) 개수
- 도메인 - 하나의 애트리뷰트가 취할수있는 같은 타입의 원자값들의 집합
2. 고급SQL
- 뷰
- 특징
- 논리적 데이터 독립성
- 조작연산 간소화
- 보안(접근제어)
- 뷰 변경불가 - 제거(DROP)만 가능하고 변경불가
- 뷰위에 또다른 뷰 가능
- 뷰가 정의된 기본테이블 삭제시 뷰도 자동삭제
- 목적
- 하나의 뷰를 통해 뷰를 구성하는 복수의 테이블을 대체
- 뷰 자체 인덱스 불가
- 뷰 생성시 SELECT문에 UNION이나 ORDER BY사용불가
- 인덱스
- 특정 레코드 위치를 알려주는 용도
- 자동생성x
- 기본키 컬럼은 자동으로 인덱스생성o
- 연월일, 이름은 자동생성x
- 종류
- 순서 - 정렬된 순서로 생성
- 결합 - 두개이상의 컬럼으로 구성
- 비트맵 - 각 컬럼에 적은개수값이 저장된경우
- 단일 - 하나의 컬럼으로만 구성
- 집합연산자
- UNION - 합집합
- UNION ALL - 중복된 항목 포함
- INTERSECT - 교집합
- MINUS - 차집합
- 조인
1 .논리적조인
- 내부 - 공통존재컬럼의 같은 값 (디폴트값)
- 외부
- 왼쪽 - 왼쪽 모두 + 오른쪽은 왼쪽과 동일한
- 오른쪽
- 완전 - 양쪽의 모든데이터추출
- 교차 - 모든조합
- 셀프 - 자기자신에게 별칭지정후 조인
- 물리적조인
- 중첩반복조인 (Nested-Loop)
- 정렬합병조인 (Sort-Merge)
- 해시조인 (Hash)
- 서브쿼리