본문 바로가기
Computer Science/정보처리기사

[정보처리기사-실기] 3장 데이터 입출력 구현

by eyi-jin 2022. 4. 25.
💡
순서
CH1 논리 데이터 저장소 확인
CH2 물리 데이터 저장소 설계
CH3 데이터베이스 기초 활용하기

<CH1 논리 데이터 저장소 확인>

데이터 모델(Data Model)

현실 세계의 정보를 인간과 컴퓨터가 이해할 수 있도록 추상화하여 표현한 모델

절차

요구사항 분석 → 개념적 설계 → 논리적 설계 → 물리적 설계

논리적 데이터 모델링

업무의 모습을 모델링 표기법으로 형상화하여 사람이 이해하기 쉽게 표현하는 프로세스

종류

  • 관계 데이터 모델: 테이블 형태, 1:1, 1:N, N:M
  • 계층 데이터 모델: 트리 형태(상하 관계), 1:N
  • 네트워크 데이터 모델: 그래프 형태, N:M

속성

  • 개체(Entity)
  • 속성(Attributes)
  • 관계(Relationship)

관계 대수

관계형 데이터베이스에서 원하는 정보와 그 정보를 어떻게 유도하는가를 나타낼 수 있는지를 기술하는 절차적 정형 언어
  • 일반 집합 연산자
    • 합집합(Union): ∪
    • 교집합(Intersection) : ∩
    • 차집합(Difference) :-
    • 칼테지안 프로덕트(CARTESIAN Product) : ×
  • 순수 관계 연산자
    • 셀렉트(Select) : σ
    • 프로젝트(Project) : π
    • 조인(Join) : ⋈
    • 디비전(Division) : ÷

정규화

데이터의 중복성을 제거 → 이상 현상을 방지 데이터의 일관성과 정확성 유지하기 위해 무손실 분해하는 과정

이상현상(Anomaly)

데이터의 중복성으로 인해 릴레이션을 조작할 때 발생하는 비합리적 현상
  • 삽입이상 : 불필요한 세부정보 입력하는 경우
  • 삭제이상 : 원치 않는 다른 정보가 삭제되는 경우
  • 갱신이상 : 특정부분만 수정되어 중복된 값이 모순을 일으키는 경우

정규화 단계

  • 1정규형(1NF) : 도메인이 원자값으로 구성
  • 2정규형(2NF) : 부분함수 종속제거
  • 3정규형(3NF) : 이행함수 종속제거
  • 보이스-코드 정규형(BCNF) : 결정자 후보 키가 아닌 함수 종속 제거
  • 4정규형(4NF) : 다중 값 종속 제거
  • 5정규형(5NF) : 조인 종속 제거

반정규화(De-Nomalization)

정규화된 개체, 속성, 관계에 대해 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링 기법

 

<CH2 물리 데이터 저장소 설계>

참조 무결성 제약조건

릴레이션과 릴레이션 사이에 대한 참조의 일관성을 보장하기 위한 조건
  • 제한(Restricted) : 다른테이블이 삭제할 테이블을 참조 중이면 제거하지 않는 옵션
  • 연쇄(Cascade) : 참조하는 테이블까지 연쇄적으로 제거하는 옵션
  • 널값(Set Null) : 참조되는 릴레이션에서 튜플을 삭제, 참조하는 튜플들의 외래값에 NULL값을 넣음(NOT NULL 명시시 삭제 연산 거절)

인덱스(Index)

데이터 레코드를 빠르게 접근하기 위해 ‘키값, 포인터’ 쌍으로 구성되는 데이터 구조
  • 클러스터드 인덱스 : 인덱스 키의 순서에 따라 데이터가 정렬되어 저장됨
  • 넌클러스터드 인덱스 : 인덱스의 키값만 정렬되어 있고 실제 데이터는 정렬되지 않는 방식

뷰(View)

접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로 구성된 가상 테이블

클러스터(Cluster)

데이터 액세스 효율을 향상하기 위해 동일한 성격의 데이터를 동일한 데이터 블록에 저장하는 물리적 저장방법

클러스터의 분포도가 넓을수록 유리하다

파티션(Partition)

대용량의 테이블이나 인덱스를 작은 논리 단위인 파티션으로 나누는 것
  • 범위분할(Range Partitioning) : 지정한 열의 값을 기준으로 분할함
  • 해시분할(Hash Partitioning) :
    파티션을 위한 범위가 없는 데이터에 적합한 기법,
    균등한 데이터 분할이 가능하고
    질의 성능의 향상이 가능한 특징을 가짐,
    파티션 키의 해시 함수를 적용한 결과 값에 따라 데이터를 분할
  • 리스트분할(List Partitioning) : 특정 파티션에 저장될 데이터에 대한 명시적 제어가 가능한 분할 기법
  • 조합분할(Composite Partitioning) :
    범위, 해시, 리스트 분할 중 2개 이상의 파티셔닝을 결합,
    파티션이 너무 클 때 사용

장점

성능 향상, 가용성 향상, 백업 가능, 경합 감소

 

<CH3 데이터베이스 기초 활용하기>

데이터베이스(Database)

데이터의 집합

정의

  • 통합된 데이터 : 자료의 중복을 배제한 데이터
  • 저장된 데이터 : 저장 매체에 저장된 데이터
  • 운영 데이터 : 조직의 업무를 수행하는데 필요한 데이터
  • 공용 데이터 : 여러 시스템들이 공동으로 사용하는 데이터

특성

  • 실시간 접근성: 쿼리에 대한 실시간 응답 가능해야함
  • 계속적인 변화: 새로운 데이터 삽입, 삭제, 갱신하여 항상 최신의 데이터 유지
  • 동시공용: 다수의 사용자가 동시에 같은 내용의 데이터를 이용가능해야 함
  • 내용참조: 사용자가 요구하는 데이터 내용으로 데이터를 찾음

종류

  • 파일 시스템(File System) : 데이터베이스 전 단계의 데이터 관리 방식
  • 관계형 데이터베이스 시스템(RDBMS) : 관계형 모델 기반 ex) Oracle, SQL server ,MySQL, Maria DB
  • 계층형 데이터베이스 시스템(HDBMS) : 상하 종속적인 관계로 계층화하여 관리 ex) IMS, System2000
  • 네트워크 데이터베이스 관리시스템(NDBMS) : 데이터를 네트워크상의 망 형태로 표현한 데이터 모델 ex) IDS, IDMS

DBMS(DataBase Management System)

데이터 관리의 복잡성을 해결하는 동시에 데이터 추가, 변경, 검색, 삭제 및 백업, 복구, 보안 기능을 지원하는 소프트웨어

유형

  • 키-값(Key-Value) DBMS : Unique한 키에 하나의 값을 가지고 있는 형태
  • 칼럼 기반 데이터 저장(Column Family Data Store) DBMS : Key 안에 (Column, Value) 조합으로된 여러개의 필드를 갖는 DBMS
  • 문서 저장(Document Store) DBMS : 값(Value)의 데이터 타입이 문서(Document)타입을 사용하는 DBMS
  • 그래프(Graph) DBMS : 시맨틱 웹과 온톨로지 분야에서 활용되는 그래프로 데이터를 표현하는 DBMS

특징

무결성, 일관성, 회복성, 보안성, 효율성

빅 데이터

주어진 비용, 시간 내에 처리 가능한 수십 페타(PB) 크기의 비정형 데이터

특성

데이터의 양, 데이터의 다양성, 데이터의 속도

수집, 저장, 처리 기술

  • 비정형/반정형 데이터 수집 : 내/외부 정제되지 않은 데이터를 확보하여 수집 및 전송하는 기술
  • 정형 데이터 수집 : 내/외부 정제된 대용량 데이터의 수집 및 전송 기술
  • 분산데이터 저장/처리 : 대용량 파일의 효과적인 분산 저장, 처리 기술

NoSQL(Not Only SQL)

데이터 저장에 고정된 테이블 스키마가 필요하지 않고 조인 연산을 사용할 수 없으며, 수평적으로 확장 가능한 DBMS

특성

  • Basically Available: 언제든지 데이터 접근할 수 있음
  • Soft-State: 외부에서 전송된 정보를 통해 결정됨
  • Eventually Consistency: 이관성이 유지되는 속성

유형

  • Key-Value Store: Unique한 키에 하나의 값을 가지고 있는 형태
  • Column Family Data Store: Key안에(column,Value)조합으로 된 여러개의 필드를 갖는 DB
  • Graph DBMS :시맨틱 웹과 온톨로지 분야에서 활용되는 데이터를 표현하는 DBMS
    • 온톨로지: 실세계에 존재하는 모든 개념들과 개념들의 속성, 그리고 개념들간의 관계 정보를 컴퓨터가 이해할 수 있도록 서술해 놓은 지식베이스
    • 시맨틱 웹: 온톨로지를 활용하여 서비스를 기술, 온톨로지의 의미적 상호 운용성을 이용해서 서비스 검색, 조합, 중재 기능을 자동화하는 웹

데이터 마이닝(Data Mining)

대규모로 저장된 데이터 안에서 체계적이고 자동적으로 통계적 규칙이나 패턴을 찾아내는 기술

절차

목적 설정 → 데이터 준비 → 가공 → 마이닝 기법 적용 → 정보 검증

주요 기법

  • 분류 규칙 : 과거 데이터를 토대로 새로운 레코드 결과값을 예측
  • 연관 규칙: 데이터 안에 항목들 간의 종속관계를 찾아냄
  • 연속 규칙: 연관 규칙에 시간 관련 정보가 포함된 형태의 기법
  • 데이터 군집화: 대상 레코드들을 유사한 특성을 지닌 몇 개의 소그룹으로 분할하는 방법

 

댓글