1. 데이터 정의어 (DDL : Data Definition Language)
- 데이터를 정의하는 언어로서 데이터를 담는 그릇을 정의하는 언어
2. DDL의 대상
DDL 대상 | 설명 |
도메인 (Domain) |
- 하나의 속성이 가질 수 있는 원자값들의 집합 - 속성의 데이터 타입과 크기, 제약조건 등의 정보 |
스키마 (Schema) |
- DB의 구조, 제약조건 등의 정보를 담고 있는 기본적인 구조 - 스키마는 외부/개념/내부 3계층 - 외부 스키마 (External) - 사용자 or 개발자의 관점에서 필요하는 DB와 논리적 구조 - 사용자 뷰를 나타냄 - 개념 스키마(Conceptal) - DB의 전체적 논리적 구조 - 전체적인 뷰를 나타냄 - 내부 스키마 (Internal) - 물리적 저장장치의 관점에서 보는 DB 구조 |
테이블 | - 데이터 저장 공간 |
뷰 | - 하나 이상의 물리 테이블에서 유도되는 가상 테이블 |
인덱스 | - 검색을 빠르게 하기 위한 데이터 구조 |
3. 테이블
- 데이터를 저장하는 항목인 필드들로 구성된 데이터의 집합체
용어 | 설명 |
튜플(Tuple) / 행(Row) | - 행을 의미. 레코드(Record)라고도 함 - 튜플은 릴레이션에서 같은 값을 가질 수 X |
애트리뷰트(Attribute) / 열(Column) |
- 열을 의미 - 열의 개수를 디그리(Degree)라고 함 |
식별자(Identifier) | - 여러 개의 집합체를 담고 있는 관계형 DB에서 각각의 구분할 수 있는 논리적 개념 |
카디널리티(Cardinality) | - 튜플(Tuple)의 개수 |
차수(Degree) | - 애트리뷰트(Attribute)의 개수 |
도메인(Domain) | - 하나의 애트리뷰트가 취할 수 있는 같은 타입의 원자값 들의 집합 |
4. 뷰
- 논리 테이블로서 사용자에게 테이블과 동일
5. 뷰의 특징
- 논리적 데이터 독립성 제공
- 데이터 조작 연산 간소화
- 보안 기능(접근제어) 제공
- 뷰 변경 불가
6. 인덱스
- 검색 연산의 최적화를 위해 DB 내 값에 대한 주소 정보로 구성된 데이터 구조
7. DB 파일 구조
파일 구조 | 설명 |
순차 방법 | - 레코드들의 물리적 순서가 레코드들의 논리적 순서와 같게 순차적으로 저장 |
인덱스 방법 | - 인덱스가 가리키는 주소를 따라 원하는 레코드에 접근 - <키값, 주소>의 쌍으로 구성 |
해싱 방법 | - 키값을 해시 함수에 대입시켜 계산한 결과를 주소로 사용하여 레코드에 접근 |
8. 인덱스의 종류
유형 | 설명 |
순서 인덱스 (Ordered Index) |
데이터가 정렬된 순서로 생성 |
해시 인덱스 (Hash Index) |
해시 함수에 의해 직접 데이터에 키 값으로 접근 |
비트맵 인덱스 (Beatmap Index) |
각 컬럼에 적은 개수 값이 저장된 경우 선택 |
함수기반 인덱스 (Functional Index) |
수식 or 함수를 적용하여 만듦 |
단일 인덱스 (Singled Index) |
하나의 컬럼으로만 구성 |
결합 인덱스 (Concatenated Index) |
두 개 이상의 컬럼으로 구성 |
클러스터드 인덱스 (Clutered Index) |
기본 키(PK) 기준으로 레코드를 묶어서 저장 |
9. DDL 명령어
구분 | DDL 명령어 | 설명 |
생성 | CREATE | DB 오브젝트 생성 |
수정 | ALTER | DB 오브젝트 수정 |
삭제 | DROP | DB 오브젝트 삭제 |
TRUNCATE | DB 오브젝트 내용 삭제 |
10. 데이터 조작어 (DML : Data Manipulation Language)
- DB에 저장된 자료들을 입력, 수정, 삭제, 조회하는 언어
11. DML의 유형
유형 | 동작 | 설명 |
SELECT | 조회 | 저장된 데이터 조회 |
INSERT | 삽입 | 데이터 추가 |
UPDATE | 갱신 | 데이터 수정 |
DELETE | 삭제 | 저장된 데이터 삭제 |
12. 데이터 제어어 (DCL : Data Control Language)
- DB 관리자가 데이터 보안, 무결성 유지, 병행 제어, 회복을 위해 관리자가 사용하는 제어용 언어
13. DCL의 유형
유형 | 동작 | 설명 |
GRANT | 사용 권한 부여 | 관리자가 사용자에게 DB에 대한 권한을 부여 |
REVOKE | 사용 권한 취소 | 관리자가 사용자에게 부여했던 권한을 회수 |