DDL (Data Definition Language)
- 데이터 정의어
- DDL의 대상
ㆍ도메인 : 하나의 속성이 가질 수 있는 원자 값들의 집합 (데이터 타입, 크기, 제약조건 등)
ㆍ스키마
: DB의 구조, 제약조건등의 정보를 담고 있는구조
: 외부 스키마 (사용자나 개발자 관점에서 필요로하는 DB의 논리적 구조 / 사용자 뷰)
: 개념 스키마 (데이터베이스의 전체적인 논리구조 / 개체간 관계 / 제약조건 / 접근 권한 / 무결성 / 보안)
: 내부 스키마 (물리적 저장장치 관점의 DB구조 / 레코드 형식 / 저장항목 표현 방법 / 물리적 순서)
ㆍ테이블 : 데이터의 저장 공간
ㆍ뷰 : 하나 이상의 물리 테이블에서 유도되는 가상의 테이블
ㆍ인덱스 : 빠른 검색을 위한 데이터 구조
- 명령어
: CREATE / ALTER / DROP / TRUNCATE
테이블
- 용어
ㆍ튜플 (Tuple) / Record / 행
ㆍ속성 (Attribute) / 열
ㆍ식별자 (Identifier) : 여러 개의 집합체를 구분할 수 있는 논리적 개념
ㆍ카디널리티 (Cardinality) : 튜플의 개수
ㆍ차수 (Degree) : 열의 개수
ㆍ도메인 (Domain) : 하나의 속성이 취할 수 있는 같은 타입의 원자 값들의 집합
뷰
- 여러 개의 물리 테이블로 부터 생성한 논리 테이블
- 특징
: 논리적 데이터 독립성 제공
: 데이터 조작 연산 간소화
: 접근제어 기능 제공
: ALTER문을 이용한 변경 불가
인덱스
- DB내의 데이터를 빠르게 찾기 위한 자료구조
: 테이블의 특정 레코드 위치를 알려주는 용도로 사용
- 종류
ㆍ순서 인덱스 : 데이터가 정렬된 순서로 생성
ㆍ해시 인덱스 : 해시함수에 의해 키 값으로 접근
ㆍ비트맵 인덱스 : 0과 1로 이루어진 비트를 이용한 인덱스
ㆍ함수기반 인덱스 : 수식이나 함수를 적용하여 만든 인덱스
ㆍ단일 인덱스 : 하나의 컬럼으로만 구성
ㆍ결합 인덱스 : 두 개이상의 컬럼으로 구성 / Where사용빈도가 높을때 사용
ㆍ클러스터드 인덱스 : Primary Key를 기준으로 레코드를 묶어 관리
- 스캔방식
: 범위 스캔 / 전체 스캔 / 단일 스캔 / 생략 스캔
DML (Data Manipulation Language)
- 데이터 조작어
- 명령어
ㆍSelect
: select [all | distinct] 속성 from 테이블 where 조건 group by 속성 having 그룹조건 order by [asc | desc] ;
: count (갯수 셈)
: where (= / <>,! / IN, NOT IN / LIKE / IS NULL, IS NOT NULL / AND, OR, NOT,! / BETWEEN a AND b)
ㆍInsert
: insert into 테이블(속성) values(데이터);
ㆍUpdate
: update 테이블 set 속성=데이터 where 조건
ㆍDelete
: delete from 테이블 where 조건
Join
- 두 개이상의 테이블을 연결하여 데이터를 검색하는 방법
: 두 릴레이션으로 부터 관련된 튜플들을 결합하여 하나의 튜플로 만듦
- 유형
ㆍ내부 조인 : 공통 존재 컬럼의 값이 같은 경우
ㆍ외부 조인 (Left / Right / Full)
: 왼쪽 테이블의 모든 데이터와 오른쪽 테이블의 동일 데이터 추출
ㆍ교차 조인 : 조인 조건이 없는 모든 데이터 조합 추출
ㆍ셀프 조인 : 자신에게 별칭 부여후 조인
서브쿼리
- SQL에 포함된 SQL문
- Select문
: sum, count, min, max 등
- from
: inline view
- where
: Nested Sub-Query
집합 연산자
- union : 중복행이 제거된 쿼리 결과 반환
- union all : 중복행이 제거되지 않은 쿼리 결과 반환
- intersect : 두 쿼리 결과의 공통적인 결과 반환
- minus : 첫 쿼리에만 있는 결과 반환
DCL (Data Control Language)
- 데이터 보안, 무결성 유지, 병행 제어, 회복을 위해 관리자가 사용하는 명령어
- 명령어
ㆍGRANT
: 사용권한 부여
: grant 권한 on 테이블 to 사용자
ㆍREVOKE
: 사용권한 박탈
: revoke 권한 on 테이블 from 사용자
'Certification > 정보처리기사' 카테고리의 다른 글
절차형 SQL 작성 (0) | 2021.04.11 |
---|---|
응용 SQL 작성 (0) | 2021.04.11 |
트랜잭션 (0) | 2021.04.11 |
프로그래밍 개념 (0) | 2021.04.10 |
프로그래밍 기초 2 (연산자 ~ 객체지향) (0) | 2021.04.10 |