DDL
CREATE TABLE 테이블명 (
속성명 데이터_타입 [DEFAULT 기본값][NOT NULL][PRIMARY KEY],[UNIQUE],
FOREIGN KEY 외래키_속성명 REFERENCES 참조테이블 (기본키_속성명)
ON DELETE 옵션(NO ACTION, CASCADE, SET NULL, SET DEFAULT)
ON UPDATE 옵션(NO ACTION, CASCADE, SET NULL, SET DEFAULT)
CONSTRAINT 제약조건명 CHECK 조건식
);
ALTER TABLE 테이블명 ADD 속성명 데이터 타입;
ALTER TABLE 테이블명 MODIFY 속성명 데이터 타입;
DROP TABLE 테이블명 [RESTRICTED(참조중 제거취소) | CASCADE(연쇄)];
DML
SELECT 속성명 FROM 테이블명 WHERE 조건;
INSERT INTO 테이블명 (속성명) VALUES (속성값);
UPDATE 테이블명 SET 속성명 = 속성값 WHERE 조건;
DELETE FROM 테이블명 WHERE 조건;
DCL
GRANT 권한 ON 테이블명 TO 사용자 [WITH GRANT OPITION(받은 권한을 줄수 있는 권한)];
REVOKE 권한 ON 테이블명 FROM 사용자 [CASCADE(다른사람에게 준 권한까지 함께 취소)];
COMMIT;
ROLLBACK;
VIEW
CREATE VIEW 뷰이름 AS SELECT절;
CREATE OR REPLACE VIEW 뷰이름 AS SELECT절;
DROP VIEW 뷰이름;
INDEX
CREATE INDEX 인덱스명 ON 테이블명 (속성명);
튜플 카디널리티 행 = 가로
속성(attribute) 차수(degree) 열 = 세로
JOIN : 두 개 이상의 테이블을 연결하여 데이터를 검색하는 방법
DB 절차형 SQL
- 프로시저 : 일련의 쿼리들을 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합
- 사용자 정의 함수 : 일련의 SQL 처리를 수행하고, 수행 결과를 단일 값으로 반환할 수 있는 SQL
- 트리거 : 데이터베이스 삽입, 갱신, 삭제 등의 이벤트가 발생할 때 자동으로 수행되는 SQL
인덱스
데이터 레코드르 빠르게 접근하기 위해 <키 값>, <포인터> 쌍으로 구성되는 데이터 구조
클러스트드 인덱스 (Clustered index) : 인덱스 키의 순서에 따라 데이터가 정렬되어 저장되는 방식, 한 개의 릴레이션에 하나의 인덱스만 생성할 수 있음
넌클러스트드 인덱스 (Non-Clustered index) : 인덱스의 키 값만 정렬되어 있을 뿐 실제 데이터는 정렬되지 않는 방식, 한 개의 릴레이션에 여러 개의 인덱스를 만들 수 있음
- 트리 기반 인덱스 : 인덱스를 저장하는 블록들이 트리 구조를 이루는 것
ex) B 트리 인덱스, B+ 트리 인덱스가 있음
- 비트맵 인덱스 : 컬럼의 데이터를 Bit 값인 0 또는 1로 변환하여 인덱스 키로 사용하는 방법
목적은 키 값을 포함하는 로우(Row)의 주소를 제공하는 것
분포도가 좋은 컬럼에 적합, 성능 향상
효율적인 논리 연산 가능, 저장공간 작음, 압축 효율 좋음.
- 함수 기반 인덱스 : 컬럼의 값 대신 컬럼에 특정함수나 수식을 적용하여 산출된 값을 사용하는 것
- 비트맵 조인 인덱스 : 다수의 조인된 객체로 구성된 인덱스
- 도메인 인덱스 : 개발자가 필요한 인덱스를 직접 만들어서 사용, 확장형 인덱스
파티션 [범해조]
대용량의 테이블이나 인덱스를 작은 논리적 단위인 파티션으로 나누는 것
- 범위 분할 :지정한 열의 값을 기준으로 분할
- 해시 분할 : 해시 함수를 적용한 결과 값에 따라 분할 (특정 파티션에 데이터가 집중되는 범위 분할의 단점을 보완한 것, 데이터를 고르게 분산할 때 유용, 특정 데이터가 어디에 있는지 판단할 수 없음)
- 조합 분할 : 범위 분할로 분할 한 후 해시 함수를 적용하여 다시 분할 (범위 분할한 파티션이 너무 커서 관리가 어려울 때 유용)
스키마
데이터베이스의 구조와 제약조건에 관한 전반적인 명세를 기술한 것
- 외부 스키마 : 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것
- 개념 스키마 : 데이터베이스의 전체적인 논리적 구조
- 내부 스키마 : 물리적 저장장치에서 본 데이터베이스 구조
개념적 설계 : 현실세계에 대한 인식 → 추상적 개념
논리적 설계 : 현실세계에서 발생하는 자료 → 논리적 자료구조
물리적 설계 : 논리적 구조로 표현된 데이터 → 물리적 구조의 데이터
개념적 데이터 모델 : 현실세계에 대한 인식 → 추상적 개념 (E-R 다이어그램)
논리적 데이터 모델 : 추상적 개념을 컴퓨터가 이해할 수 있도록 변환
물리 데이터 모델링 : 논리 모델을 적용하고자 하는 기술에 맞도록 상세화해가는 과정
데이터 모델에 표시할 요소 : 구조, 연산, 제약 조건
병행 제어 기법의 종류
- 로킹 : 트랜잭션의 순차적 진행을 보장하는 직렬화 기법
- 낙관적 검증 : 트랜잭션 종료시 검증 수행
- 타임 스탬프 : 부여된 시간에 따라 트랜잭션 수행
- 동시성 제어 : 로킹 + 타임 스탬프
고립화 수준
- Read Uncommitted : 연산 중에도 읽기 허용
- Read Committed : 연산 완료될 때까지 읽기 불허
- Repeatable Read : 트랜잭션 종료될 때까지 갱신, 삭제 제한됨
- Serializable Read : 접근 제한
'자격증 > 정보처리기사' 카테고리의 다른 글
내가 공부하려고 정리하는 정보처리기사 실기 정리 (5/6) (0) | 2021.10.02 |
---|---|
내가 공부하려고 정리하는 정보처리기사 실기 정리 (4/6) (0) | 2021.10.01 |
내가 공부하려고 정리하는 정보처리기사 실기 정리 (3/6) (1) | 2021.09.30 |
내가 공부하려고 정리하는 정보처리기사 실기 정리 (2/6) (1) | 2021.09.29 |
내가 공부하려고 정리하는 정보처리기사 실기 정리 (1/6) (1) | 2021.09.28 |
댓글