티스토리 뷰

저번 18년 1회 정보처리기사 실기 시험을 보고 난뒤 제가 공부한 데이터베이스 부분 개념 암기 자료입니다.

저는 용어명, 뜻 하나도 빠짐없이 암기할려고 노력했어요

그렇게 많은 내용은 아닌거 같고, 한번 암기해놓으면 하루에 여러번 싸이클을 돌려 제대로 암기했는지 확인하는 과정을 무한반복했어요

다른 분들은 모르겠지만 저는 굳이 쓰면서 외우진 않았어요. 

가리거나 보면서 혼잣말로 개념을 계속 말하면서 외웠습니다.

확실한 암기를 위해 일부러 순서는 섞어놓았습니다.

이렇게 공부하고 암기하니 데이터베이스의 용어 부분에서는 어느정도 자신감이 생기더라구요

참고로 SQL 부분은 빠져습니다. SQL 부분은 정보처리기사 책에서 따로 공부하셔야 해요!!


객체지향 기본 원칙 개념


캡슐화 : 데이터와 데이터를 처리하는 함수를 하나로 묶는 것

정보은닉 : 캡슐화에서 가장 중요한 개념으로 다른 객체에서 자신의 정보를 숨기고 자신의 연산만을 통하여 접근을 허용하는 것

추상화 : 불필요한 부분을 생략하고 객체의 속성 중 가장 중요한 것에만 중점을 두어 개략화 하는것

상속성 : 부모 클래스의 모든 속성과 연산을 하위 클래스가 물려 받는 것

다형성 : 메시지에 의해 객체가 연산을 수행하게 될 때 하나의 메시지에 대한 각 객체가 가지고 있는 고유한 방법으로 응답할 수 있는 능력


객체 : 현실세계의 개체며 객체들 간의 상호작용은 메시지를 통해 이루어짐

클래스 : 하나 이상의 유사한 객체들을 묶어 공통된 특성으로 표현한 데이터 추상화

메시지 : 객체들간의 상호작용을 하는데 사용되는 수단

상속 : 부모클래스의 모든 속성과 연산을 하위클래스가 물려 받는 것

메소드 : 함수 또는 프로시저에 해당하는 연산 기능


트랜잭션의 특성


원자성(Atomicity) : 모두 반영되든지 아니면 모두 반영되지 않아야 한다.

일관성(Consistency) : 트랜잭션의 연산이 성공적으로 완료되면 언제나 일관성 있는 데이터베이스 상태가 된다.

독립성(Isolation) : 트랜잭션의 연산 중에는 어떠한 경우에도 다른 작업이나 연산이 끼어들 수 없다.

영속성(Durability) : 트랜잭션이 성공적으로 연산이 완료되면 영구적으로 반영되어야 한다.


데이터베이스의 정의


통합데이터(Integrated Data) : 검색의 효율성을 위해 중복이 최소화된 데이터의 모임

저장데이터(Stored Data) : 컴퓨터가 접근 가능한 저장매체에 저장된 데이터

운영데이터(Operational Data) : 조직의 목적을 위해 존재가치가 확실하고 반드시 필요한 데이터

공유데이터(Shared Data) : 여러 응용 프로그램들이 공동으로 사용하는 데이터


트랜잭션 스케쥴 : 여러 개의 트랜잭션이 동시에 병행 실행되는 경우, 트랜잭션 연산 순서를 정하는 것

직렬 스케쥴(Serial Schedule) : 하나의 트랜잭션 연산을 모두 실행하고, 다음 트랜잭션을 수행하는 방법(인터리빙X)

비직렬 스케쥴(Non-Serial Schedule) : 트랜잭션 연산들을 번갈아가면서 수행(인터리빙O)

직렬가능 스케쥴(Serializable Schedule) : 병행 수행을 최대한 허용하면서 직렬 스케쥴과 동일한 결과를 갖도록 실행 순서를 제어


Trigger(트리거) : 특정 테이블의 데이터에 변경(이벤트)가 가해졌을 때 연쇄적으로 수행되는 저장 프로시저


MARC(기계가독목록) : 도서관에 자동화된 목록 작성에 사용되는 대표적인 메타데이터 형식 표준

MetaData(메타데이터) : 데이터에 관한 구조화된 데이터

상호운용성(Interoperability) : 상호간에 통신할 수 있고, 정보 교환이나 일련의 처리를 정확하게 실행

MODS : 디지털 객체의 서지정보를 위한 표준 메타데이터

MDR(메타데이터 등록소) : 메타데이터 등록과 인증을 통하여 메타데이터를 유지, 관리 공유하는 레지스트리


Commit 연산 : 트랜잭션이 성공적으로 완료되어 최종적으로 데이터베이스에 적용하여 완료시킨다.

Rollback 연산 : 트랜잭션의 연산이 실패하여 작업 중인 연산을 종료하고 이전 값을 되돌린다.


병행제어의 목적


① 데이터베이스의 공유 최대화

② 시스템 활용도 최대화

③ 데이터베이스 일관성 유지

④ 사용자에 대한 응답시간 최소화


병행제어 : 동시에 여러 개를 수행할 때 데이터베이스의 일관성을 위해 트랜잭션 간의 상호작용을 제어

로킹 : 트랜잭션이 데이터항목에 대해 잠금을 설정하면 잠금해제가 될 때 까지 독점적으로 사용할 수 있다.


로킹 단위

로킹 단위 ↑ -> 로크수 ↓ -> 관리가 수월하고 병행성 수준 ↓

로킹 단위 ↓ -> 로크수 ↑ -> 관리가 복잡하고 병행성 수준 ↑


2단계 로킹프로토콜

확장단계(Growing Phase) : 트랜잭션들은 잠금 연산만 수행할 수 있고 해제 연산은 수행할 수 없다.

축소단계(Shrinking Phase) : 트랜잭션들은 해제 연산만 수행할 수 있고 잠금 연산은 수행할 수 없다.


시간스탬프(Timestamp) 순서 기법 : 시스템에서 생성하는 고유번호인 시간스탬프를 트랜잭션에 부여하는 것


Trim() 함수 : 공백제거 함수

RTrim() 함수 : 오른쪽 공백만 제거 함수

LTrim() 함수 : 왼쪽 공백만 제거 함수


동시성 제어의 필요성


갱신 내용 손실(Lost Update) : 두 개의 트랜잭션이 동시에 이용함으로써 갱신 내용이 손실되는 결과를 초래

모순성(Inconsistency) : 두 트랜잭션이 동시에 수행되면서 데이터의 일관성이 없어진다.

연쇄적인 복귀(Cascading Rollback) : 트랜잭션의 연산결과를 복귀시키지 못함으로써 이전 값으로 복귀할 수 없게 됨


정규화 : 테이블의 속성들이 상호종속인 관계를 갖는 특성을 이용하여 테이블을 무손실 분해하는 과정

역정규화 : 정규화에 위배되지만, 성능향상을 위해 테이블을 다시 합치는 것


이상현상 원인 : 일부 속성들의 종속으로 인해 데이터의 중복이 발생하여 테이블 조작시 불일치가 발생하는 것


이상현상의 종류

갱신 이상 : 불필요한 데이터 중 일부만 수정하면 데이터의 불일치가 발생

삽입 이상 : 불필요한 데이터를 같이 삽입하지 않는 이상 삽입이 안되는 것

삭제 이상 : 유용한 데이터를 삭제하지 않고는 삭제가 안되는 것


참조 무결성 : 릴레이션은 외래키를 참조할 수 없는 속성값을 가질 수 없다.

개체 무결성 : 한 릴레이션의 기본키를 구성하는 속성 값은 null값이나 중복값을 가질 수 없다.

도메인 무결성 : 각 속성 값은 반드시 정의된 도메인에 속한 값이어야 한다.


데이터 마이닝 : 데이터웨어하우스에 저장된 데이터 집합에서 사용자의 요구에 따라 유용하고 가능성 있는 정보를 발견하기 위한 기법

군집화 : 유사한 특성을 가지는 데이터를 집단화 하는 것


DB 튜닝 : 일정한 성능을 유지할 수 있도록 비효율적인 요소를 제거하고 성능개선을 위해 SQL 문장을 포함, 데이터베이스의 여러 요소를 최적화 하는 작업


Row Migration(행 이주) : 다른 block에 해당 row 전체를 옮겨 저장, varchar 타입을 가진 컬럼에서 발생

Row Chaining(행 연결) : 한 컬럼의 데이터 사이즈가 너무 큰 경우에 발생. 한 데이터가 여러 block에 걸쳐 저장되는 것


OLAP : 사용자가 다양한(다차원) 각도에서 직접 대화식으로 정보를 분석하는 과정


OLAP 연산


Drill-up : 작은 범위에서 큰 범위로 단계식 접근하는 분석 방법

Drill-down : 큰 범위에서 작은 범위로 단계식 접근하는 분석 방법

Drill-Across : 다른 큐브의 데이터에 건너서 접근하는 것

Drill-Through : 데이터 웨어하우스 혹은 OLAP 시스템에 존재하는 상세데이터에 접근

Pivoting : 보고서의 열과 행, 페이지의 차원들을 바꾸는 것

Slicing : 특정관점으로 잘라서 보는 기법

Dicing : Slicing보다 더 쪼개어 나가는 기법


OLAP 종류


ROLAP(관계형 온라인 분석처리) : OLAP 시스템 중 집계 테이블을 릴레이션 테이블에 저장하는 시스템

장점 : 관계형 데이터베이스를 이용하므로 이해하기 쉽고 확장성이 좋으며 대용량의 데이터를 다룰때 적합

단점 : 다차원 데이터를 보여주기 위한 충분한 기능을 갖고 있지 않으므로 고급분석을 하는데 적절하지 않음

MOLAP(다차원 온라인 분석처리) : ROLAP의 단점을 보완한 OLAP

HOLAP(Hybrid OLAP) : ROLAP 장점 + MOLAP 장점을 합한 OLAP


백업 방식


전체 백업 : 데이터 전체 백업

증분 백업(Incremental Backup) : 백업 대상 데이터 영역 중 변경되거나 추가된 데이터만을 백업 받는 방식

차등 백업(Differential Backup) : 전체 백업 이후의 변경사항을 모두 백업하는 방식


조인 종류


Cross Join(카티션프로덕트) : 조인된 테이블 사이에 조건이 걸리지 않을 경우에 발생하며, 테이블 간의 모든 경우의 수에 대해서 로우가 생성되는 조인 방식

Inner Join(내부 조인) : 일반적으로 부르는 조인은 내부 조인을 의미한다.

Natural Join(자연 조인) : Join 조건이 '='일 때 동일한 속성이 두 번 나타나게 되는데, 이 중 중복된 속성을 제거하여 같은 속성은 한 번만 나타나게 하는 연산

Theta Join(세타 조인) : 다양한 조인 조건을 세타연산자를 이용하여 표현할 수 있는 것

Equi Join : '=' 비교를 이용하는 조인

Non-Euqi Join : '=' 조건이 아닌 나머지 비교 연산자(<, <=, >, >=, <>)을 사용하는 조인

Outer Join(외부 조인) : 조인되는 테이블에 연결되는 컬럼값이 존재하지 않더라도(즉, Null값) 데이터를 가져올 수 있는 조인 방법


'정보처리기사' 카테고리의 다른 글

2016년 신기술 추가  (2) 2018.04.30
보안, 신기술 요약 (2/2)  (2) 2018.04.29
보안, 신기술 요약 (1/2)  (0) 2018.04.29
업무프로세서 요약본  (0) 2018.04.26
2018년 1회 정보처리기사 실기 후기  (0) 2018.04.18
댓글