본문 바로가기
자격증/정보처리기사

내가 공부하려고 정리하는 정보처리기사 실기 정리 (6/6)

by yun5o 2021. 10. 3.

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 : 접근 제한

댓글