[정처기 실기 내용 정리] CHAP 3. 데이터 입출력 구현

2025. 7. 7. 18:48·자격증/정보처리기사

1. 논리 데이터 저장소 확인


중분류 소분류 키워드
데이터 모델 데이터 모델 표시 요소 - 연산 (Operation)
- 구조 (Structure)
- 제약 조건 (Constraint)
데이터 모델 절차
(요개논물)
- 요구사항 분석
- 개념적 설계
- 논리적 설계 (정규화)
- 물리적 설계 (반정규화)
논리 데이터 모델 논리 데이터 모델링 종류 - 관계 데이터 모델
- 계층 데이터 모델
- 네트워크 데이터 모델
관계 데이터 모델 관계 데이터 모델 구성 - 릴레이션 (Relation)
- 튜플 (Tuple)
- 속성 (Attribute)
- 카디널리티 (Cardinality)
- 차수 (Degree)
- 스키마 (Schema)
- 인스턴스 (Instance)
관계 연산 관계 대수와 관계 해석 - 관계 대수 : 절차적 언어
- 관계 해석 : 비절차적 언어
관계 대수 연산자의 종류 - 일반 집합 연산자 : 합집합(∪), 교집합(∩), 차집합(-), 카티션 프로덕트(X)
- 순수 관계 연산자 : 셀렉트(σ), 프로젝트(π), 조인(⋈), 디비전(÷) 
ERD 논리 데이터 모델링 속성
(ERD)
- 개체 (Entity)
- 속성(Attribute)
- 관계 (Relationship)
ERD 다이어그램 기호 - 개체 집합 : □
- 관계 집합 :  ◇
- 속성 : ○
- 다중 값 속성 : ◉
- 개체 집합 - 관계 집합 연결 : ─
- 개체 집합 - 속성 연결 : ─
- 관계 집합 - 속성 연결 : ---
정규화와 반정규화 정규화 단계
(Nomalization)
1NF : 도메인이 원자값
2NF : 부분함수 종속 제거
3NF : 이행함수 종속 제거( A→ B , B→C 이면 A→C)
BCNF : 결정자 후보 키가 아닌 함수 종속 제거
4NF : 다치(다중 값) 종속 제거
5NF : 조인 종속 제거
함수 종속 - 부분 함수 종속
- 완전 함수 종속
- 이행 함수 종속
반정규화, 비정규화
(De-Nomalization)
- 정규화된 데이터 모델을 성능 개선이나 사용 편의성을 위해 다시 중복되도록 통합하거나 속성을 추가하는 과정
이상현상 이상현상의 종류 - 삽입 이상
- 삭제 이상
- 갱신 이상

 

 

1.1 데이터 모델


🤔 데이터 모델(Data Model) 이란?
현실 세계의 정보를 인간과 컴퓨터가 이해할 수 있도록 추상화하여 표현한 모델

 

(1) 데이터 모델 표시 요소

요소 설명
연산
(Operation)
- 데이터베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세
- 릴레이션을 조작하기 위한 관계 연산을 나타낸다
구조
(Structure)
- 데이터베이스에 논리적으로 표현될 대상으로서의 개체 타입과 개체 타입 간의 관계
- 데이터 구조 및 정적 성질을 표현하는 요소
제약 조건
(Constraint)
- 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건
- 데이터 무결성 유지를 위한 DB의 보편적 방법
- 릴레이션의 특정 컬럼에 설정하는 제약을 의미한다

 

(2) 데이터 모델 절차

단계 (요개논물) 설명
요구조건 분석 - 도출된 요구사항 간 상충을 해결하고, 범위를 파악하여 외부 환경과의 상호작용을 분석
개념적 설계 - 사용자의 요구에 대한 트랜잭션을 모델링하는 단계
- 현실세계에 대한 인식을 추상적, 개념적으로 표현하여 개념적 구조를 도출하는 데이터 모델
- 개념적 데이터모델은 DB 종류와 관계가 없다
- 개체 - 관계 다이어그램 (ERD)가 주요 산출물
논리적 설계 - 트랜잭션의 인터페이스를 설계
- DBMS에 맞는 논리적 스키마를 설계
- 정규화 수행
- 논리적 데이터 베이스 구조로 매핑
- 스키마의 평가 및 정제
- 관계형 데이터베이스에서 테이블 설계
물리적 설계 - 논리 데이터 모델을 특정 DBMS의 특성 및 성능을 고려하여 물리적인 스키마를 만드는 단계
- DBMS의 특성을 고려하여 데이터베이스 저장구조(물리 데이터 모델)로 변환하는 모델
- 테이블, 인덱스, 뷰, 파티션 등 객체를 생성
- 응답 시간, 저장 공간의 효율화, 트랜잭션 처리를 고려하여 설계
- 성능 측면에서 반 정규화를 수행
- 레코드 집중의 분석 및 설계
- 저장 레코드 양식 설계
- 접근 경로 설계 

 

 

1.2 논리 데이터 모델


(1) 논리데이터 모델링 종류

종류 설명
관계 데이터 모델 - 논리적 구조가 2차원 테이블 형태로 구성된 모델
- 기본키(PK)와 이를 참조하는 외래키 (FK)로 관계 표현
- 1:1, 1:N, N:M 관계
계층 데이터 모델 - 논리적 구조가 트리 형태로 구성된 모델
- 상하 관계가 존재
- 1:N 관계만 허용
네트워크 데이터 모델 - 논리적 구조가 그래프 형태로 구성된 모델
- 상위와 하위 레코드 사이에 N:M 관계를 만족하는 구조

 

 

1.3 관계 데이터 모델


🤔 관계 데이터 모델이란?
데이터를 행과 열로 구성된 2차원 테이블 형태로 구성한 모델이다.
수학자 E.F.Codd 박사가 제안한 모델이다

 

(1) 관계 데이터 모델의 구성

구성요소 설명
릴레이션
(Relation)
- 행(Row)과 열(Column)로 구성된 테이블
튜플
(Tuple)
- 릴레이션의 행(Row)
속성
(Attribute)
- 릴레이션의 열(Column)
카디널리티
(Cardinality)
- 튜플(Row)의 수
차수
(Degree)
- 속성(Column)의 수
스키마
(Schema)
- 데이터베이스의 구조, 제약 조건 등의 정보를 담고 있는 기본적인 구조
인스턴스
(Instance)
- 정의된 스키마에 따라 생성된 테이블에 실제 저장된 데이터의 집합

 

 

1.4 관계 연산


(1) 관계 대수와 관계 해석

구분 설명
관계 대수 - 관계형 데이터베이스에서 원하는 정보를 어떻게 유도하는가를 기술하는 절차적 정형 언어
관계 해석 - 튜플 관계 해석과 도메인 관계 해석을 하는 비절차적 언어
- 원하는 정보가 무엇인지만 선언

 

(2) 관계 대수 연산자의 종류

구분 연산자 기호 표현 설명
일반 집합
연산자
합집합
(Union)
∪ R ∪ S - 두 릴레이션의 모든 튜플을 합침
교집합
(Intersection)
∩ R ∩ S - R과 S에 속하는 모든 튜플
차집합
(Difference)
− R − S - R에는 있고, S에는 없는 튜플
교차 곱
(CARTESIAN
Product)
× R ÷ S - 두 릴레이션의 모든 조합
순수 관계
연산자
선택
(Selection)
σ σ조건(R) - 조건에 맞는 튜플(행)을 선택
투사
(Projection)
π π속성리스트(R) - 원하는 속성(열)만 추출
조인
(Join)
⋈ R ÷ S - 조건에 맞는 두 릴레이션의 튜플을 합침
나누기
(Division)
÷ R ÷ S - S의 모든 값과 관련된 R의 튜플만 선택

 

 

1.5 ERD


🤔ERD(Entity Relationship Diagram)란?
요구사항을 통해 얻은 정보들을 개체, 속성, 관계로 기술한 모델

 

(1) 논리 데이터 모델링 속성 (ERD)

구분 설명
개체
(Entity)
- 관리할 대상이 되는 실체
- 사물 또는 사건으로 정의되며 개체라고도 한다
- 사각형으로 표시
속성
(Attributes)
- 관리할 정보의 구체적 항목
- 개체가 가지고 있는 요소 또는 성질
- 타원형으로 표시
관계
(Relationship)
- 개체 간의 대응 관계
- 두 개체간의 관계를 정의

 

(2) ERD 다이어그램 기호

종류 기호
개체 집합  사각형 (□)
관계 집합 마름모 (◇)
속성 원형 (○)
다중 값 속성 ◉
개체 집합 - 관계 집합 연결 실선 (─)
개체 집합 - 속성 연결 실선 (─)
관계 집합 - 속성 연결 점선 (---)

 

 

1.6 정규화와 반정규화


🤔 정규화(Nomalization)란?
중복 데이터를 제거하고, 데이터의 일관성과 무결성을 유지하기 위해 테이블을 작은 단위로 분리하는 과정

(1) 정규화 단계

정규화 단계 설명
1정규형
(1NF)
- 원자 값으로 구성
- 반복 속성 / 중복 제거가 필요하다
2정규형
(2NF)
- 부분 함수 종속 제거 (완전 함수적 종속 관계)
- 주식별자가 아닌 속성을 분리한다
3정규형
(3NF)
- 이행 함수 종속 제거
- 속성에 종속적인 속성을 분리한다
보이스-코드 정규형
(BCNF)
- 결정자 함수이면서 후보키가 아닌 것 제거
- 모든 결정자가 후보키이다
4정규형
(4NF)
- 다치(다중 값) 종속 제거
- 특정 속성 값에 따라 선택적인 속성을 분리한다
5정규형
(5NF)
- 조인 종속 제거

 

(2) 함수 종속

🤔 함수 종속(FD; Functional Dependency)이란?
릴레이션에서 속성의 의미와 속성 간 상호 관계로부터 발생하는 제약조건으로
X는 결정자(Determinant), Y는 종속자(Dependent)이다.
종류 설명
함수적 종속
(Functional Dependency)
- X → Y일 때, X의 값이 Y를 유일하게 결정하는 경우
- 학번 → 이름 : 학번이 이름을 유일하게 결정
완전 함수 종속
(Full Function Dependency)
- 기본키가 여러 속성으로 이루어져 있을 때, 모두 필요해서 Y가 결정되는 경우
- {학생 ID, 과목 ID} → 성적 : 둘 중 하나의 값 만으로는 성적을 결정할 수 없음
부분 함수 종속
(Partial Functional Dependency)
- 기본키의 일부 속성만으로 Y를 결정하는 경우
- {학생 ID, 과목 ID} 중 과목 ID 만으로 과목명이 결정
이행 함수 종속
(Transitive Dependency)
- X → Y이고 Y → Z이면 X → Z가 성립할 경우
- 직원ID → 부서 → 부서명 → 직원ID → 부서명

 

(3) 반정규화/비정규화

🤔 반정규화(De-Nomalization)란?
정규화된 데이터 모델을 성능 개선이나 사용 편의성을 위해 다시 중복되도록 통합하거나 속성을 추가하는 과정

 

 

1.7 이상현상


구분 설명
삽입 이상 - 정보 저장 시 해당 정보의 세부 정보를 입력해야 하는 경우
삭제 이상 - 정보 삭제 시 원치 않는 다른 정보가 같이 삭제되는 경우
갱신 이상 - 중복 데이터 중에서 특정 부분만 수정되어 중복된 값이 모순을 일으키는 경우

 

 

 

2. 물리 데이터


중분류 소분류 키워드
무결성 무결성 종류 - 개체 무결성 (Entity Integrity)
- 참조 무결성 (Referential Integrity)
- 도메인 무결성 (Domain Integrity)
- 사용자 정의 무결성 (User-Defined Integrity)
- 키 무결성 (Key Integrity)
- 속성 무결성 (Attribute Integrity)
- Null 무결성
- 관계 무결성 (Relationship Integrity)
- 고유 무결성(Unique Integrity)
참조 무결성 제약 조건 - 제한 (RESTRICT)
- 연쇄 (CASCADE)
- 널 값  (SET NULL)
키
(Key)
키의 속성 - 유일성 (Unique)
- 최소성 (Minimality)
키의 종류 - 기본키 (Primary Key)
- 대체키 (Alternate Key)
- 후보키 (Candidate Key)
- 슈퍼키 (Super Key)
- 외래키 (Foreign Key)
- 복잡키
인덱스, 뷰, 클러스터 인덱스 - 클러스터드 인덱스 (Clustered Index)
- 넌클러스터드 인덱스 (Non-Clustered Index)
뷰 - 가상 테이블
- CREATE : 생성, DROP : 제거
클러스터 - 단일 테이블 클러스터링
- 다중 테이블 클러스터링
파티션
(Partition)
파티션의 종류 - 범위 분할 (Range Partitioning)
- 해시 분할 (Hash Partitioning)
- 리스트 분할 (List Partitioning)
- 조합 분할 (Composite Partitioning)
- 라운드-로빈 (Round-Robin)
파티션의 장점 - 성능 향상
- 가용성 향상
- 백업 가능
- 경합 감소

 

 

2.1 무결성 제약


🤔 데이터베이스 무결성이란?
데이터베이스에서 항상 일관성을 갖고 데이터의 유효성, 정확성, 안정성을 유지할 수 있도록 제약조건을 두는 특성이다

(1) 무결성 종류

구분 설명
개체 무결성
(Entity Integrity)
- 기본 테이블의 기본키를 구성하는 어떤 속성도 Null 값이나 중복 값을 가질 수 없다
참조 무결성
(Referential Integrity)
- 외래키 값은 Null 이거나 참조 릴레이션의 기본키 값과 동일해야 한다
도메인 무결성
(Domain Integrity)
- 주어진 속성 값이 정의된 도메인에 속한 값이어야 한다
사용자 정의 무결성
(User-Defined Integrity)
- 속성 값들이 사용자가 정의한 제약 조건에 만족해야 한다
키 무결성
(Key Integrity)
- 하나의 릴레이션에는 적어도 하나의 키가 존재해야 한다
속성 무결성
(Attribute Integrity)
- 속성의 값은 기본값, Null 여부, 도메인이 지정된 규칙을 준후해야 한다
Null 무결성 - 릴레이션의 특정 속성 값이 Null이 될 수 없도록 한다
관계 무결성
(Relationship Integrity)
- 릴레이션에 어느 한 튜플의 삽입 가능 여부
- 한 릴레이션과 다른 릴레이션의 튜플들 사이의 관계에 대한 적절성 여부
고유 무결성
(Unique Integrity)
- 릴레이션의 특정 속성에 대해 각 튜플이 갖는 속성 값들이 서로 달라야 한다

 

(2) 참조 무결성 제약조건

🤔 참조 무결성 제약 조건이란?
릴레이션 간 참조의 일관성을 보장하기 위한 조건으로,
두 개의 릴레이션이 기본키, 외래키를 통해 참조 관계를 형성할 경우
참조하는 외래키 값은 항상 참조되는 릴레이션의 기본키로 존재해야한다
제약조건 설명
제한
(Restricted)
- 참조 중인 외래키가 있을 경우, 부모 행 삭제/수정 불가
연쇄
(Cascade)
- 부모 튜플을 삭제하면, 해당 부모를 참조하는 자식 튜플도 함께 삭제됨
널 값
(SET NULL)
- 부모 튜플이 삭제되면, 그 부모를 참조하던 자식 튜플의 외래키를 NULL로 변경함

 

 

2.2 키 (Key)


🤔 키(Key)란?
데이터베이스에서 조건을 만족하는 튜플을 찾거나 순서대로 정렬할 때,
다른 튜플들과 구별할 수 있는 기준이 되는 속성

(1) 키의 속성

키의 속성 설명
유일성
(Unique)
- 식별자로 인해 인티티 타입 내 모든 엔티티들이 유일하게 구분
최소성
(Minimality)
- 최소한의 속성으로 식별자 구성

 

(2) 키의 종류

구분 설명 특징 요약
기본키
(Primary Key)
- 후보키 중 하나를 선택하여 NOT NULL + 유일성을 보장한 키 - 후보키 + NOT NULL
대체키
(Alternate Key)
- 기본키로 선택되지 않은 다른 후보키
- UNIQUE 제약을 통해 유일성 유지
- 기본 키 외 후보키, UNIQUE 제약
후보키
(Candidate Key)
- 슈퍼키 중 최소성을 만족하는 속성 집합 - 유일성 + 최소성
슈퍼키
(Super Key)
- 데이터 베이스에서 튜플 검색이나 정렬의 기준이 되는 속성 - 유일성
외래키 - 다른 릴레이션의 기본키나 후보키를 참조하여 참조무결성을 보장 - 다른 테이블 키 참조, 참조 무결성
복잡키 - 둘 이상 속성의 조합으로 구성된 키 - 여러 속성 조합으로 구성된 키

 

 

2.3 인덱스, 뷰, 클러스터


(1) 인덱스

🤔 인덱스(Index)란?
검색 연산의 최적화를 위해 데이터베이스 내 열에 대한 정보를 구성한 데이터 구조
구분 설명
클러스터드 인덱스
(Clustered Index)
- 인덱스 키의 순서에 따라 데이터가 정렬되어 저장되는 방식
넌클러스터드 인덱스
(Non-Clustered Index)
- 인덱스의 키만 정렬되어 있고 실제 데이터는 정렬되지 않은 방식

 

(2) 뷰

🤔 뷰(View)란?
접근이 허용된 자료만 제한적으로 보여주기 위해 기본 테이블로부터 유도된 가상의 테이블
CREATE로 생성하고, DROP으로 제거한다

 

(3) 클러스터

🤔 클러스터(Cluster)란?
동일한 성격의 데이터를 동일한 테이블 블록에 물리적으로 저장하여 엑세스 효율을 향상시키는 방법
데이터의 분포도가 넓은 테이블은 클러스터링을 통해 저장공간을 절약할 수 있다.
처리 범위가 넓다면 단일 테이블 클러스터링을 이용하고,
조인이 많이 발생한다면 다중 테이블 클러스터링을 이용한다.

 

 

2.4 파티션 (Partition)


🤔 파티셔닝 (Partitioning)이란?
테이블 또는 인덱스 데이터를 파티션(Partion) 단위로 나누어 저장하는 기법

(1) 파티션의 종류

종류 설명
범위 분할
(Range Partitioning)
- 연속적인 숫자나 날짜를 기준으로 하는 파티셔닝 기법
해시 분할
(Hash Partitioning)
- 파티션 키의 해시 함수 값에의한 파티션 기법
리스트 분할
(List Partitioning)
- 특정 파티션에 저장될 데이터에 대한 명시적 제어가 가능한 파티셔닝 기법
조합 분할
(Composite Partitioning)

- 범위 분할에 이후 해시 함수를 적용하여 재분할하는 파티셔닝 기법
라운드-로빈
(Round-Robin)
- 라운드로빈 분할로 회전하면서 새로운 파티션에 할당하는 방식

 

(2) 파티션의 장점

장점 설명
성능 향상 - 데이터 액세스 범위를 줄여 성능 향상
가용성 향상 - 전체 데이터의 훼손 가능성이 감소 및 데이터 가용성 향상
백업 가능 - 분할 영역을 독립적으로 백업하고 복구 가능
경합 감소 - 디스크 스트라이핑으로 입출력 성능을 향상, 디스크 컨트롤러에 대한 경합의 감소
- 디스크 스트라이핑 (Disk Striping) : 성능 향상을 위해 데이터를 1개 이상의 디스크 드라이브에 저장하여 드라이브를 병렬로 사용할 수 있는 기술

 

 

 

3. 데이터 베이스 기초 활용하기


중분류 소분류 키워드
데이터베이스

데이터베이스 정의 - 통합된 데이터 : 자료의 중복을 배제한 데이터의 모임
- 저장된 데이터 : 저장 매체에 저장된 데이터
- 운영 데이터 : 조직의 업무를 수행하는 데 필요한 데이터
- 공용 데이터 : 여러 애플리케이션, 시스템들이 공동으로 사용하는 데이터
데이터베이스 특성 - 실시간 접근성
- 계속적인 변화
- 동시 공용
- 내용 참조
데이터베이스 종류 - 관계형 데이터베이스 시스템 (RDBMS)
- 계층형 데이터베이스 시스템 (HDBMS)
- 네트워크 데이터베이스 관리시스템 (NDBMS)
파일 시스템의 종류 - ISAM (Indexed Sequential Access Method)
- VSAM (Virtural Storage Method)
DBMS
(Database
Management
System)
DBMS 유형 - 키 값 DBMS
- 컬럼 기반 데이터 저장 DBMS
- 문서 저장 DBMS
- 그래프 DBMS
DBMS 특징 - 데이터 무결성
- 데이터 일관성
- 데이터 회복성
- 데이터 보안성
- 데이터 효율성
빅데이터 빅데이터 기술 - HDFS
- 맵 리듀스
NoSQL NoSQL의 특성
(BASE)
- Basically Available (가용성)
- Soft-state (독립성)
- Eventually Consistency (일관성)
NoSQL 유형 - Key-Value Store
- Column Family Data Store
- Document Store
- Graph Store
데이터 마이닝
(Data Mining)
데이터 마이닝 주요 기법 - 분류 규칙(Classification) 
- 연관 규칙(Association) 
- 연속 규칙(Sequence)
- 데이터 군집화(Clustering)
응용 기술 - 텍스트 마이닝 (Text Mining)
- 웹 마이닝(Web Mining)
그 외 DB 기술 종류 - 온톨로지 (Onthology)
- 시멘틱 웹 (Semantic Web)

 

 

3.1 데이터베이스


🤔 데이터베이스란?
다수의 인원, 시스템 또는 프로그램이 사용할 목적으로 통합하여 관리되는 데이터의 집합으로,
데이터에 대한 효과적인 관리를 위해 자료의 중복성 제거, 무결성 확보, 일관성 유지, 유용성 보장이 중요하다

(1) 데이터베이스 정의

정의 설명
통합된 데이터
(Integrated Data)
- 자료의 중복을 배제한 데이터의 집합
저장된 데이터
(Stored Data)
- 저장 매체에 저장된 데이터
운영 데이터
(Operational Data)
- 조직의 업무를 수행하는 데 필요한 데이터
공용 데이터
(Shared Data)
- 여러 애플리케이션, 시스템들이 공통으로 사용하는 데이터

 

(2) 데이터베이스 특성

특성 설명
실시간 접근성
(Real-Time Accessibility)
- 쿼리에 대해 실시간 응답이 가능하다
계속적인 변화
(Continuous Evolution)
- 새로운 데이터의 삽입(Insert), 삭제(Delete), 갱신(Update)으로 항상 최신의 데이터를 유지한다
동시 공용
(Concurrent Sharing)
- 다수의 사용자가 동시에 같은 내용의 데이터를 이용할 수 있다
내용 참조
(Content Reference)
- 데이터베이스에 있는 데이터를 참조할 때, 사용자가 요구하는 데이터 내용으로 데이터를 찾는다

 

(3) 데이터베이스 종류

DB 종류 설명
관계형 데이터베이스 관리 시스템
(RDBMS;
Relational Database Management System)
- 관계형 모델을 기반으로 하는 데이터베이스 관리 시스템
- 데이터를 저장하는 테이블의 일부를 다른 테이블과 상하 관계로 표시
- 유연성이 좋아 유지 관리가 용이
- 종류 : Oracle, SQL Server, MySQL, Maria DB
계층형 데이터베이스 관리 시스템
(HDBMS ;
Hierarchical Database Management System)
- 데이터를 상하 종속적인 관계로 계층화하여 관리하는 데이터베이스
- 데이터에 대한 접근속도가 빠름
- 변화하는 데이터 구조에 유연하게 대응이 어려움
네트워크 데이터베이스 관리 시스템
(NDBMS ;
Network Database Management System)
 

 

(4) 파일 시스템의 종류

🤔 파일시스템(File System)이란?
파일에 이름을 부여하고 저장이나 검색을 위해 논리적으로 어디에 위치시켜야 하는지 정의한 후 관리하는 데이터 관리방식
데이터베이스 전 단계이다
종류 설명
ISAM
(Indexed Sequential
Access Method)
- 자료 내용은 주 저장부, 자료 색인은 자료가 기록된 위치와 함께 색인부에 기록되는 시스템
VSAM
(Virtural Storage Method)
- 대형 운영체제에서 사용되는 파일 관리 시스템

 

 

3.2 DBMS


🤔 DBMS(Database Management System)란?
데이터 관리의 복잡성을 해결하고, 데이터 추가, 변경, 검색, 삭제 및 백업, 복구, 보안 등의 기능을 지원하는 소프트웨어

(1) DBMS 유형

유형 설명
키 값 DBMS - Unique한 키에 하나의 값을 가지고 있는 형태
컬럼 기반 데이터 저장 DBMS - Key안에 (Column, Value) 조합으로 된 여러 개의 필드를 갖는 DBMS
- 테이블 기반, 조인 미지원, 컬럼 기반의 구글 Bigtable 기반으로 구현
문서 저장 DBMS - 값의 데이터 타입이 문서 타입인 DBMS
- 문서 타입은 XML, JSON과 같은 구조화된 데이터 타입으로, 복잡한 계층 구조 표현 가능
그래프 DBMS - 그래프로 데이터를 표현하는 DBMS
- 시맨틱 웹과 온톨로지 분야에 사용
- 노드와 엣지로 특징되는 요소 특화
- 노드간 관계를 구조화 하여 저장

 

(2) DBMS 특징

특징 설명
데이터 무결성 - 부적절한 자료가 입력되어 동일한 내용에 대해 서로 다른 데이터가 저장되는 것을 허용하지 않는 성질
데이터 일관성 - 생성, 삽입, 갱신, 삭제 후에도 저장된 데이터가 변함없이 일정
데이터 회복성 - 장애가 발생했을 때, 특정 상태로 복구되어야 하는 성질
데이터 보안성 - 불법적인 노출, 변경, 손실로부터 보호되어야 하는 성질
데이터 효율성 - 응답 시간, 저장 공간 활용 등이 최적화 되어 사용자, 소프트웨어, 시스템 등의 요구조건을 만족시켜야 하는 성질

 

 

3.3 빅데이터


 

🤔 빅데이터(Big Data)란?
시스템, 서비스, 조직 등에서 주어진 비용, 시간 내에 처리 가능한 데이터 범위를 넘어서는 수십 페타바이트(PB) 크기의 비정형 데이터
빅데이터 종류 설명
HDFS
(Hadoop Distributed File System)
- 대용량 데이터의 집합을 처리하는 응용 프로그램에 적합하도록 설계된 하둡 분산 파일 시스템
맵리듀스
(Map Reduce)
- 구글에서 대용량 데이터 처리를 분산 병렬 컴퓨팅에서 처리하기 위한 목적으로 제작하여 2004년에 발표한 소프트웨어 프레임 워크

 

 

3.4 NoSQL


🤔 NoSQL(Not Only SQL)이란?
데이터 저장에 고정된 테이블 스키마가 필요하지 않고, 조인 연산을 사용할 수 없는 수평적 확장이 가능한 DBMS

(1) NoSQL 특성

특성 (BASE) 설명
Basically Available - 언제든지 데이터는 접근할 수 있어야 하는 속성
- 분산 시스템이기에 항상 가용성이 중요
Soft-State - 노드의 상태는 외부에서 전송된 정보를 통해 결정되는 속성
- 특정 시점에서는 데이터의 일관성이 보장되지 않는다
Eventually Consistency - 일정 시간이 지나면 데이터의 일관성이 유지되는 속성

 

(2) NoSQL 유형

유형 설명
Key-Value Store - Unique한 Key에 하나의 Value를 가지고 있는 형태
- 키 기반 Get / Put / Delete를 제공하는 빅데이터 처리가 가능한 DB
- 예 : Redis, Dynamo DB
Column Family Data Store - Key 안에 (Column, Value) 조합으로 된 여러 개의 필드를 갖는 DBMS
- 예 : HBase, Cassandra
Document Store - 값의 데이터 타입이 문서 타입인 DBMS
- 문서 타입은 XML, JSON과 같은 구조화된 데이터 타입으로, 복잡한 계층 구조 표현 가능 
- 예 : MongoDB, Couchbase
Graph Store - 그래프로 데이터를 표현하는 DBMS
- 시맨틱 웹과 온톨로지 분야에 사용
- 예 : Neo4j, AllegroGraph

 

 

3.5 데이터마이닝


🤔 데이터마이닝(Data Mining)이란?
대규모로 저장된 데이터 안에서 체계적이고 자동적으로 통계적 규칙이나 패턴을 찾아내는 기술

(1) 데이터마이닝 주요 기법

주요 기법 설명
분류 규칙
(Classification) 
- 과거 데이터로부터 특성을 찾아내어 분류 모형을 만들고 이를 토대로 새로운 레코드 결과 값을 예측하는 기법
연관 규칙
(Association) 
- 데이터 안에 존재하는 항목들 간의 종속 관계를 찾아내는 기법
연속 규칙
(Sequence)
- 연관 규칙에 시간 관련 정보가 포함된 형태의 기법
데이터 군집화
(Clustering)
- 대상 레코드들을 유사한 특성을 지는 몇 개의 소그룹으로 분할하는 작업
- 분류 규칙과 유사

 

(2) 응용 기술

종류 설명
텍스트 마이닝
(Text Mining)
- 대량의 텍스트 데이터로부터 패턴 또는 관계를 추출하여 의미있는 정보를 찾아내는 기법
웹 마이닝
(Web Mining)
- 웹으로부터 얻어지는 방대한 정보를 통해 유용한 정보를 찾기 위해 분석하는 기법

 

 

3.6 그 외 DB 기술


종류 설명
온톨로지
(Onthology)
- 실세계에 존재하는 모든 개념들과 개념들의 속성, 개념들 간의 관계 정보를 컴퓨터가 이해할 수 있도록 서술해 놓은 지식 베이스
시멘틱 웹
(Semantic Web)
- 온톨로지를 활용하여 서비스를 기술하고, 온톨로지 의미적 상호운용성을 이용하여 서비스 검색, 조합, 중재 기능을 자동화 하는 웹

 

 

 

728x90
저작자표시 비영리 변경금지 (새창열림)
'자격증/정보처리기사' 카테고리의 다른 글
  • [정처기 실기 내용 정리] CHAP 5. 인터페이스 기능 구현
  • [정처기 실기 내용 정리] CHAP 4. 통합 구현
  • [정처기 실기 내용 정리] CHAP 2. 화면 설계
  • [정처기 실기 내용 정리] CHAP 1. 요구사항 분석
leonie.
leonie.
  • leonie.
    leveloper
    leonie.
  • 글쓰기 관리
    • 분류 전체보기
      • Language
        • Java
      • Git
      • CS
      • CodingTest
        • [프로그래머스] 자바
      • Information
      • Framework
        • SpringBoot
      • DBMS
        • Redis
        • SQL
      • AWS
      • OS
        • Mac
      • 자격증
        • 정보처리기사
      • 회고
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    정처기필기
    프로그래머스
    Java
    springboot
    정처기
    코딩테스트
    스프링
    자바
    정보처리기사
    알고리즘
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
leonie.
[정처기 실기 내용 정리] CHAP 3. 데이터 입출력 구현
상단으로

티스토리툴바