본문 바로가기

자격증/정처기

정처기 실기 파트3

반응형

데이터 입출력 구현

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

1.   데이터 모델

(1)  데이터 모델 개념 : 현실 세계의 정보를 추상화 하여 표현한 모델

(2)  데이터 모델 절차 : 개논물(개념적 모델, 논리적 모델, 물리적 모델)

-     개념적 데이터 모델 : 트랜잭션 모델링, View 통합방법 및 Attribute 합성 고려, 개체관계 다이어그램

-     논리적 데이터 모델 : 모델링 표기법으로 현상화, 스키마/트랜잭션 설계, 정규화

-     물리적 데이터 모델 : DBMS 특성 및 성능 고려, Table/Index/View/Partition 생성, 반 정규화 수행, 접근 경로 설계

2.   논리 데이터 모델 검증

(1)  논리적 데이터 모델링 종류 : 관계 데이터 모델, 계층 데이터 모델, 네트워크 데이터 모델

(2)  관계형 데이터 모델

-     개념 : 데이터를 2차원 테이블 형태로 구성, E.F.Cdd가 제안

-     구성요소(AD/CT)

  릴레이션(Relation) : 행과 열로 구성된 테이블(Table)

  튜플(Tuple) : (Row)

  속성(Attribute) : (Column)

  카디널리티(Cardinality) : 튜플(Turple)의 수

  차수(Degree) : 속성(Attribute)의 수

  스키마(Schema) : DB의 구조, 제약조건 등의 정보를 담고 있는 기본적인 구조

  인스턴스(Instance) : 테이블에 실제 저장된 데이터의 집합

-     표현 : 기본키와 외래키로 표현

-     관계 대수

  개념 : R-DB에서 원하는 정보를 어떻게 유도 하는지에 대한 절차적 정형 언어

  종류

일반 집합 연산자 합집합 RS
교집합 R∩S
차집합 R-S
카티션프로덕트
(Cartesian Product)
RXS(R*S)
(
모든 튜플로 이루어진 순서쌍)
순수 관계 연산자 셀렉트(Select) σ조건(R)
프로젝트(Project) π속성리스트(R)
조인(Join) RS
디비전(Devision) R÷S

 

-     관계 해석

  개념 : 튜플 관계 해석과 도메인 관계 해석을 하는 비절차적 해석

  특징 : 프레디킷 해석에 기반, 원하는 정보가 무엇 이라는 것만 선언

(3)  논리 데이터 모델 속성

-     개속관 : 개체, 속성, 관계

  의미 피터 챈 모델 까마귀발 모형
개체(Entity) 관리할 대상, 실체 사각형
속성(Attribute) 관리할 정보의 구체적 항목 타원 표 내부에 표시(최상단 별도 표기 : 대표 속성, 하단 : 그외)
관계(Relationship) 개체 간의 대응 관계 마름모 1:1 실선
1:m m쪽에 까마귀발

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

-     기호(ERD 표기법)

  개체 : 사각형 / 관계 : 마름모 / 속성 : 타원 / 다중 값 속성 : 이중타원 / 연결 : 실선

(5)  정규화

-     개념 : 관계형 데이터 모델에서 이상현상을 방지하고, 데이터의 일관성과 정확성을 유지하기 위해 무손실 분해 하는 과정

-     이상현상 : 데이터의 중복성으로 인해 릴레이션을 조작할 때 발생하는 비합리적 현상, 삽삭갱(삽입이상, 삭제이상, 갱신이상)

  삽입 이상 : 저장 시 불필요한 세부 정보를 입력해야 하는 경우

  삭제 이상 : 삭제 시 원하지 않는 다른 정보를 같이 삭제해야 하는 경우

  갱신 이상 : 수정 시 특정 부분만 수정되어 중복된 값이 모순을 일으키는 경우

-     정규화의 단계

  도부이결다조

도메인으로 구성(1NF)
부분 함수 종속 제거(완전 함수적 종속 관계)(2NF)
이행함수 종속 제거(3NF)
결정자 후보 키가 아닌 함수 종속 제거(BCNF)
다치(다중 값) 종속 제거(4NF)
조인 종속 제거(5NF)

(6)  반정규화

-     개념 : 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등을 수행

-     특징 : 장점 : 성능 향상과 관리의 효율성 증가 / 단점 : 데이터 일관성 및 정합성 저하

-     기법

구분 수행 방법 설명
테이블 테이블 병합 슈퍼타입/서브타입 테이블 통합
테이블 분할
(
파티셔닝)
수평분할
수직분할
중복 테이블 추가 집계 테이블 추가:집계 목적, 트리거설정, 오버헤드 유의
진행 테이블 추가 : 이력관리 목적
특정 부분만을 포함하는 테이블 추가 : 사용 빈도 높은 부분만 따로 테이블 생성
컬럼 컬럼 중복화 조인 성능 향상 목적
관계 중복관계 추가 여러 경로를 거쳐 조인 시 발생 가능한 성능 저하를 예방

 

II.   물리 데이터 저장소 설계

1.   물리 데이터 모델 설계

(1)  절차 : 개체를 테이블로 변환 -> 속성을 컬럼으로 변환 -> UID를 기본키로 변환 -> 관계를 외래키로 변환 -> 컬럼 유형과 길이 정의 -> 반 정규화 수행

2.   물리 데이터 저장소 구성

(1)  테이블 제약조건(Constraint) 설계

-     참조무결성 제약조건 : 릴레이션 간 참조의 일관성 보장 위한 조건

  제한(Restricted) : 참조무결성 원칙을 위배하는 연산을 거절

  연쇄(Cascade) : 릴레이션에서 튜플 삭제시 참조하는 튜플들도 함께 삭제

  널 값(Nullify) : 릴레이션에서 튜플 삭제시 참조하는 튜플들에 Null값 입력

(2)  인덱스(Index) 설계

-     개념 : 검색 연산 최적화를 위한 데이터베이스 내 열에 대한 정보를 구성

-     인덱스 적용 기준

  분포도가 10~15% 이내인 경우(범위 밖이라도 부분 처리 목적이면 가능)(*cf : 분포도=1/(컬럼 값의 종류)×100=(컬럼 값의 평균 ROW)/(테이블의 ROW)×100

-     인덱스 컬럼 선정 : 분포도가 좋은 컬럼은 단독으로 생성, 자주 조합되는 컬럼은 결합 인덱스로 생성

-     고려사항 : 지나치게 많은 인덱스는 오버헤드 작용, 생성시 별도 공간 필요

(3)  (View) 설계

-     속성

  Replace : 기존 뷰 존재시 재생성

  Force : 기존 테이블 존재여부 상관 없이 생성

  NoForce : 기존 테이블 존재시 뷰 생성

  With Check Option : 서브 쿼리 내의 조건을 만족하는 행만 변경

  With Read Only : 데이터 조작어 작업 불가

-     고려사항 : 수행속도, 최적의 엑세스 경로로 사용하지 않으면 의미 없음

(4)  클러스터(Cluster) 설계

-     적용 기준

  분포도가 넓을수록 유리

  엑세스 효율 향상을 위한 물리적 저장 방법

  인덱스 사용에 처리 부담이 되는 넓은 분포도에 활용

-     고려사항

  검색 효율은 높으나 입력, 수정, 삭제 시 부하 증가

  단순히 범위 넓으면 단일 테이블 클러스터링, 조인이 많은 경우 다중 테이블 클러스터링 고려

(5)  파티션(Partition) 설계

-     종류 : 레해리컴(레인지, 해시, 리스트, 컴포지트)

  레인지 파티셔닝(Range Partitioning) : 연속적인 숫자나 날짜 기준 파티셔닝

  해시 파티셔닝(Hash Partitioning) : 파티션 키의 함수 값에 의해 분할됨, 균등 분할 가능

  리스트 파티셔닝(List Partitioning) : 특정 파티션에 저장될 때 명시적 제어가 가능, 분포도가 비슷하고 컬럼 조건이 많이 들어오는 경우 유용

  컴포지트 파티셔닝(Composite Partitioning) : 다른 파티셔닝 중 2개 이상의 기법 결합

-     장점 : 성가백경(성능 향상, 가용성 향상, 백업 가능, 경합감소)

(6)  디스크(Disk) 구성 설계

-     정확한 용량 산정하여 사용 효율 높임, 업무량 집중 되는 디스크 분리 설계, 입출력 경합을 최소화하여 접근 성능 향상, 파티션 수행 테이블은 별도로 분리

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

1.   데이터베이스 종류

(1)  데이터베이스

-     개념 : 사용할 데이터를 통합하여 관리하는 데이터의 집합

-     정의

  통합된 데이터 : 자료의 중복을 배제한 데이터의 모임

  저장된 데이터 : 저장 매체에 저장된 데이터

  운영 데이터 : 조직의 업무를 수행하는 데 필요한 데이터

  공용 데이터 : 여러 애플리케이션, 시스템들이 공동으로 사용하는 데이터

-     특성

  실시간 접근성 : 쿼리에 대해 실시간 응답이 가능해야 함

  계속적인 변화 : 새로운 데이터의 삽입, 삭제, 갱신으로 항상 최신의 데이터 유지

  동시 공용 : 다수의 사용자가 동시에 같은 내용의 데이터를 이용할 수 있어야 함

  내용 참조 : 데이터를 참조할 때 데이터 레코드의 주소나 위치가 아닌 사용자가 요구하는 데이터의 내용으로 데이터를 찾음

-     종류

  파일시스템(File System)

       ISAM : Indexed Sequential Access Method
VSAM : Virtual Storage Access Method

  관계형 데이터베이스 관리시스템(RDBMS)

       테이블을 저장하는 테이블의 일부를 다른 테이블과 상화 관계로 표시
Oracle, SQL Server, MySQL, Maria DB

  계층형 데이터베이스 관리시스템(HDBMS)

       데이터를 상하 종속적인 관계로 계층화 함
데이터 접근 속도는 빠르나 변화하는 데이터 구조에 유연한 대응이 어렵
IMS(Information Management System), System2000

  네트워크 데이터베이스 관리시스템(NDBMS)

       네트워크상의 망상 형태로 표현
트리 구조나 계층형 데이터베이스 보다는 유연하지만 설계가 복잡
IDS(Integrated Data Store), IDMS(Integrated Database Management System)

-     데이터베이스 관리 툴 지원 기능 : 데이터베이스 생성, 삭제 / SQL명령어 작성 및 실행 / 상태 모니터링 / 사용자 계정 관리 / 데이터베이스 내보내기, 가져오기 / 환경 설정

(2)  DBMS

-     DBMS(Database Management System) 개념

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

-     DBMS 유형(키컬도그 : Key-Value Store, Column Family Data Store, Document Store, Graph)

  -(Key-Value) DBMS : 키 기반 Get, Put, Delete제공 / Unique 한 키에 하나의 값을 가짐

  컬럼 기반 데이터 저장(Column Family Data Store) DBMS : Key 안에 (Column, Value) 조합으로 된 여러 개의 필드를 갖는 DBMS

  문서 저장(Document Store) DBMS : Value의 데이터 타입이 Document라는 타입 사용 / Document 타입은 XML, JSOM과 같이 구조화된 데이터 타입

  그래프(Graph) DBMS : 노드와 엣지로 특징되는 요소 특화 / 노드 간 관계를 구조화하여 저장

-     DBMS 특징

  데이터 무결성 : 동일한 내용에 대해 서로 다른 데이터가 저장되는 것을 허용하지 않음

  데이터 일관성 : 삽입, 삭제, 갱신, 생성 후에도 저장된 데이터가 변함없이 일정

  데이터 회복성 : 장애가 발생하였을 시 특정 상태로 복구

  데이터 보안성 : 불법적인 노출, 변경, 손실로부터 보호되어야 하는 성질

  데이터 효율성 : 응답 시간, 저장 공간 활용 등이 최적화 됨

(3)  데이터베이스 기술 트렌드

-     빅데이터

  특성 : 데이터의 양(Value), 데이터의 다양성(Variety), 데이터의 속도(Velocity)

  빅데이터 수집, 저장, 처리 기술

비정형/반정형 데이터 수집 / 정형 데이터 수집 / 분산데이터 저장,처리 / 분산데이터베이스

  빅데이터 분석, 실시간 처리 및 시각화를 위한 주요 기술

빅데이터 분석 : 데이터 가공 솔루션(Pig, Hive) / 데이터 마이닝 솔루션(Mahout)
빅데이터 실시간 처리 : 실시간 SQL 질의 솔루션(Impala) / 워크플로우 관리 솔루션(Oozie)
분산 코디네이션 : 다양한 서비스 분산 및 동시처리 / 솔루션(Zookeeper)
분석 및 시각화 : 솔루션(R)

-     NoSQL

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

  특징(BASE)

Basically Available : 언제든지 데이터는 접근 가능, 가용성 중시
Soft-State :
노드의 상태는 내부 정보가 아닌 외부에서 전송된 정보를 통해 결정, 특정 시점에서는 데이터의 일관성이 보장되지 않음
Eventually Consistency :
일정 시간이 지나면 데이터의 일관성이 유지, 일관성 중시

  유형(DBMS유형과 동일)

-     데이터 마이닝(Date Minning)

  개념

대규모 데이터에서 의미 있는 패턴을 파악하거나 예측하여 의사결정에 활용하는 기법

  절차

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

  주요 기법(분연연데 : 분류 규칙, 연관 규칙, 연속 규칙, 데이터 군집화)

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

반응형

'자격증 > 정처기' 카테고리의 다른 글

정처기 실기 파트5  (0) 2022.07.10
정처기 실기 파트4  (0) 2022.07.10
정처기 실기 파트2  (0) 2022.07.10
정처기 실기 파트1  (0) 2022.07.10
정보처리기사 합격 후기  (3) 2022.07.10