정보처리기사

[2. 데이터 입출력 구현] 핵심 키워드 정리

김꼬알 2023. 4. 4. 18:32

데이터 모델 표시 요소

  • 연산(Operation): 데이터베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세
  • 구조(Structure): 데이터베이스에 논리적으로 표현될 대상으로서의 개체 타입과 개체 타입 간의 관계
  • 제약 조건(Constraint): 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건

 

 

데이터 모델 절차: 요개논물

  • 요구 사항 분석
  • 개념적 설계: 사용자의 트랜잭션을 모델링하는 단계
  • 논리적 설계: 트랜잭션의 인터페이스를 설계하는 단계
  • 물리적 설계: 논리 데이터 모델을 특정 DBMS의 특성 및 성능을 고려하여 물리적인 스키마를 만드는 단계

 

 

논리 데이터 모델링 속성: 개속관

  • 개체(Entity): 관리할 대상이 되는 실체
  • 속성(Attribute): 관리할 정보의 구체적 항목
  • 관계(Relationship): 개체 간의 대응 관계

 

 

개체-관계(E-R) 모델

  • 현실 세계에 존재하는 데이터와 그들 간의 관계를 사람이 이해할 수 있는 형태로 명확하게 표현하기 위해 가장 널리 사용되고 있는 모델

 

 

정규화(Normalization)

  • 관계형 데이터 모델에서 데이터의 중복성을 제거하여 이상 현상을 방지하고, 데이터의 일관성과 정확성을 유지하기 위해 무손실 분해하는 과정

 

정규화 단계: 원부이결다조

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

 

 

이상 현상(Anomaly)

  • 데이터의 중복성으로 인해 릴레이션을 조작할 때 발생하는 비합리적인 현상

 

이상 현상의 종류: 삽삭갱

  • 삽입 이상(Insertion Anomaly): 정보 저장 시 해당 정보의 불필요한 세부 정보를 입력해야 하는 경우
  • 삭제 이상(Deletion Anomaly): 정보 삭제 시 원치 않는 다른 정보가 같이 삭제되는 경우
  • 갱신 이상(Update Anomaly): 중복 데이터 중에서 특정 부분만 수정되어 중복된 값이 모순을 일으키는 경우

 

 

반 정규화(De-Normalization)

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

 

반 정규화 기법

  • 테이블 병합
  • 테이블 분할
    • 수평 분할
    • 수직 분할
  • 중복 테이블 추가
    • 집계 테이블 추가
    • 진행 테이블 추가
    • 특정 부분만을 포함하는 테이블 추가
  • 컬럼 중복화
  • 중복 관계 추가

 

 

인덱스(Index)

  • 검색 연산의 최적화를 위해 데이터베이스 내 열에 대한 정보를 구성한 데이터 구조

 

인덱스 종류: 순해비함 단결클

  • 순서 인덱스(Ordered Index): 데이터가 정렬된 순서로 생성되는 인덱스 
  • 해시 인덱스(Hash Index): 해시 함수에 의해 직접 데이터에 키 값으로 접근하는 인덱스
  • 비트맵 인덱스(Bitmap Index): 각 컬럼에 적은 개수 값이 저장된 경우 선택하는 인덱스
  • 함수 기반 인덱스(Functional Index): 수식이나 함수를 적용하여 만든 인덱스
  • 단일 인덱스(Singled Index): 하나의 컬럼으로만 구성한 인덱스
  • 결합 인덱스(Concatenated Index): 두 개 이상의 컬럼으로 구성한 인덱스
  • 클러스터드 인덱스(Clustered Index): 기본 키(PK) 기준으로 레코드를 묶어서 저장하는 인덱스

 

인덱스 스캔 방식

  • 인덱스 범위 스캔(Index Range Scan)
  • 인덱스 전체 스캔(Index Full Scan)
  • 인덱스 단일 스캔(Index Unique Scan)
  • 인덱스 생략 스캔(Index Skip Scan)

 

 

파티션(Partition)

파티션의 종류: 레해리컴라

  • 레인지 파티셔닝(Range Partitioning): 연속적인 숫자나 날짜를 기준으로 하는 파티셔닝 기법
  • 해시 파티셔닝(Hash Partitioning): 파티션 키의 해시 값에 의한 파티셔닝 기법
  • 리스트 파티셔닝(List Partitioning): 특정 파티션에 저장될 테이터에 대한 명시적 제어가 가능한 파티셔닝 기법
  • 컴포지트 파티셔닝(Composite Partitioning): 레인지 파티셔닝, 해시 파티셔닝, 리스트 파티셔닝 중 2개 이상의 파티셔닝을 결합하는 파티셔닝 기법
  • 라운드로빈 파티셔닝(Round-Robin Partitioning): 라운드로빈 분할로 회전하면서 새로운 행이 파티션에 할당되는 방식

 

파티션의 장점: 성가백합

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

 

 

데이터베이스(Database)

  • 다수의 인원, 시스템 또는 프로그램이 사용할 목적으로 통합하여 관리되는 데이터 집합

 

데이터베이스의 정의: 통저운공

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

 

데이터베이스 특성

  • 실시간 접근성(Real-Time Accessibility)
  • 계속적인 변화(Continuous Evolution)
  • 동시 공용(Concurrent Sharing)
  • 내용 참조(Content Reference)

 

데이터베이스 종류

  • 파일 시스템(File System)
    • 파일에 이름을 부여하고 저장이나 검색을 위하여 논리적으로 그것들을 어디에 위치시켜야 하는지 등을 정의한 뒤 관리하는 데이터베이스 전 단계의 관리 방식
    • 종류
      • ISAM(Indexed Sequential Access Method): 자료 내용은 주 저장부, 자료의 색인은 자료가 기록된 위치와 함께 색인부에 기록되는 시스템 
      • VSAM(Virtual Storage Access Method): 대형 운영체제에서 사용되는 파일 관리 시스템
  • 관계형 데이터베이스 관리 시스템(RDBMS; Relational DataBase Management System)
    • 관계형 모델을 기반으로 하는 가장 보편화된 데이터베이스 관리 시스템
  • 계층형 데이터베이스 관리 시스템(HDBMS; Hierarchical DataBase Management System)
    • 데이터를 상하 종속적인 관계로 계층화하여 관리하는 데이터베이스
  • 네트워크 데이터베이스 관리 시스템(NDBMS; Network DataBase Management System)
    • 데이터의 구조를 네트워크상의 망상 형태로 표현한 데이터 모델

 

 

DBMS(DataBase Management System)

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

 

유형: 키컬도그

  • 키-값(Key-Value) DBMS
  • 컬럼 기반 데이터 저장(Column Family Data Store) DBMS
  • 문서 저장(Document Store) DBMS
  • 그래프(Graph) DBMS

 

특징

  • 데이터 무결성
  • 데이터 일관성
  • 데이터 회복성
  • 데이터 보안성
  • 데이터 효율성

 

 

빅 데이터(Big Data)

  • 시스템, 서비스, 조직(회사) 등에서 주어진 비용, 시간 내에 처리 가능한 데이터 범위를 넘어서는 수십 페타바이트(PB) 크기의 비정형 데이터

 

빅 데이터의 특성

  • 데이터의 양(Volume) (3V)
  • 데이터의 다양성(Variety) (3V)
  • 데이터의 속도(Velocity) (3V)
  • 데이터의 진실성(Veracity) (5V)
  • 데이터의 가치(Value) (5V)
  • 데이터의 정확성(Validity) (7V)
  • 데이터의 휘발성(Volatility) (7V)

 

 

NoSQL

  • 전통적인 RDBMS와 다른 DBMS를 저장하기 위한 용어로, 데이터 저장에 고정된 테이블 스키마가 필요하지 않고 조인(Join) 연산을 사용할 수 없으며 수평적으로 확장 가능한 DBMS

 

특성

  • Basically Available
  • Soft-State
  • Eventually Comsistency

 

유형

  • Key-Value Store
  • Column Family Data Store
  • Document Store

 

 

데이터 마이닝(Data Mining)

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

 

주요 기법: 분연연데

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

 

 

관계 대수

  • 관계형 데이터베이스에서 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적 정형 언어

 

일반 집합 연산자: 합교차카

  • 합집합(Union): ∪
  • 교집합(Intersection): ∩
  • 차집합(Difference): -
  • 카티션 프로덕트(Cartesian Product): ×

 

순수 관계 연산자: 셀프조디

  • Select: σ
  • Project: π
  • Join: ▷◁
  • Division: ÷