License

[License] 03. 데이터 입출력 구현 [정보처리기사 실기]

펭귄코기 2022. 8. 28. 09:00

# 데이터 모델

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

표시해야 할 요소에는 논리적 데이터구조, 연산, 제약조건

 

개념적 데이터 모델

현실 세계에 대한 인식을 추상적, 개념적으로 표현하여 개념적 구조를 도출하는 데이터 모델

 

논리적 데이터 모델

사람이 이해하기 쉽게 표현한 데이터 모델

 

물리적 데이터 모델

특정 DBMS의 특성 및 성능을 고려하여 물리적인 스키마를 만드는 일련의 데이터 모델

 

정규화

데이터 중복성을 제거하여 이상현상을 방지하고 데이터의 일관성과 정확성을 유지하기 위해

무손실 분해를 하는 과정이다

 

반 정규화

정규화된 엔터티, 속성, 관계에 대해 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등을

수행하는 데이터 모델링의 기법이다

 

# 논리 데이터 모델링

관계 데이터모델

기본키와 외래키로 관계표현, 1:1 / 1:N / N:M 관계를 자유롭게 표현

 

계층 데이터 모델

트리형태로 구성된 모델 1:N 관계만 허용 / 사이클 x

 

네트워크 데이터 모델

그래프 형태로 구성된 모델, N:M 관계를 만족하는 구조 / 사이클 o

 

논리데이터 모델링 속성

개체 (Entity)

관리할 대상이 되는 실체 / 개체는 사각형 ( ㅁ )으로 표시

 

속성 (Attributes)

관리할 정보의 구체적 항목 / 속성은 타원형( O )으로 표시

 

관계 (Relationship)

개체 간의 대응 관계

 

1 : 1 관계를 표시한다

 

ㅡ<

1 : m 관계를 표시한다

 

>ㅡ<

n : m 관계를 표시한다

 

릴레이션

행 (Row) 과 열 (Column)로 구성된 테이블

 

튜플 (Tuple)

릴레이션의 행 (Row)에 해당되는 요소

 

속성 (Attribute)

릴레이션의 열 (Column)에 해당되는 요소

 

카디널리티 (Cardinality)

튜플 (Row) 수

 

차수 (Degree)

애트리뷰트 (Column)의 수

 

스키마 (Schema)

데이터베이스의 구조, 제약조건 등의 정보를 담고 있는 기본적인 구조

 

인스턴스 (Instance)

정의된 스키마에 따라 생성된 테이블에 실제 저장된 데이터의 집합

 

관계대수

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

 

일반 집합 연산자

합집합 (Union) R ∪ S

합병가능한 두 릴레이션 R과 S의 합집합

 

교집합 (Intersection) R ∩ S

R과 S에 속하는 모든 튜플로 결과 릴레이션 구성

 

차집합 (Difference) R - S

R에 존재하고 S에 미존재하는 튜플로 결과 릴레이션 구성

 

카티션 프로덕트 (CARTESIAN Product) R X S

R과 S에 속한 모든 튜플 연결 새로운 튜플로 릴레이션 구성 

 

순수 관계 연산자

셀렉트 (Select) σ 조건 (R)

릴레이션 R에 조건을 만족하는 튜플 반환

 

프로젝트 (Project) π 속성리스트 (R)

릴레이션 R에서 주어진 속성들의 값으로만 구성된 튜플반환

 

조인 (Join) R ◁ S

공통 속성을 이용해 R과 S의 튜플들을 연결해 만들어진 튜플 반환

 

디비전 (Division) R ÷ S

릴레이션 S의 모든 튜플과 관련 있는 R의 튜플 반환

 

관계해석

튜플 관계해석과 도메인 관계해석을 하는 비절차적 언어프레디킷 해석에 기반한 언어이며

비절차적 언어이다

 

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

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

 

개체 ㅁ , 관계 ◇, 속성 O, 다중 값 속성 ◎, 관계-속성 연결 ㅡ

 

정규화 (Normalization)

관계형 데이터 모델에서 데이터의 중복성을 제거하여 이상 현상을 방지

데이터의 일관성과 정확성을 유지 무손실 분해하는 과정

 

1정규형 (1NF) : 원자값으로 구성

2정규형 (2NF) : 부분 함수 종속 제거 (완전 함수적 종속 관계)

3정규형 (3NF) : 이행함수 종속 제거

보이스-코드 정규형 (BCNF) : 결정자 후보키가 아닌 함수 종속 제거

4정규형 (4NF) : 다치 (다중 값) 종속 제거

5정규형 (5NF) : 조인 종속 제거

 

이상현상

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

 

삽입이상

불필요한 세부정보를 입력해야 하는 경우

 

삭제이상

원치않는 다른 정보가 같이 삭제되는 경우

 

갱신이상

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

 

반정규화 (De-Normalization)

정규화된 엔터티, 속성, 관계에 대해 성능 향상과 개발 운영의 단순화를 위해

중복, 통합, 분리 등을 수행하는 데이터 모델링 기법이다

 

# 물리 데이터 모델링 

논리모델을 적용하고자 하는 기술에 맞도록 상세화해가는 과정

 

물리 데이터 모델링 변환 절차

1) 개체를 테이블로 변환

2) 속성을 컬럼으로 변환

3) UID를 기본키로 변환

4) 관계를 외래키로 변환

5) 컬럼 유형과 길이 정의

6) 반 정규화 수행

 

참조무결성 제약조건

릴레이션과 릴레이션 사이에 대해 참조의 일관성을 보장하기 위한 조건이다

기본키, 외래키를 통해 참조 관계를 형성할 경우

참조하는 외래키의 값은 항상 참조되는 릴레이션에 기본키로 존재해야 한다

 

제한 (Restricted)

참조무결성 원칙을 위배하는 연산을 거절하는 옵션

 

연쇄 (Cascade)

튜플을 삭제하면 참조하는 튜플도 함께 삭제하는 옵션

 

널 값 (Nullify)

참조되는 릴레이션에서 튜플을 삭제하고 참조하는 릴레이션에서

해당 튜플을 참조하는 튜플들의 외래키에 Null값을 넣는 옵션

 

인덱스

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

전체 데이터의 검색없이 필요한 정보에 대해 신속한 조회가 가능하다

 

분포도 (Selectivity)

특정 컬럼의 데이터가 테이블에 평균적으로 분포되어 있는 정도

인덱스로 적정한 분포도는 10% ~ 15% 이내이다

 

분포도 = ( 1 / (컬럼 값의 종류) ) X 100

분포도 = (컬럼 값의 평균 Row 수) / (테이블의 총 Row 수) X 100

 

인덱스 컬럼 선정

분포도가 좋은 컬럼은 단독적으로 생성한다

자주 조합되어 사용되는 컬럼은 결합 인덱스로 생성한다

순서 선정 (사용빈도, 유일성, 정렬 등) 에 유의한다

수정이 빈번하지 않은 컬럼을 선정한다

 

가상테이블

 

REPLACE : 뷰가 이미 존재하는 경우 재생성

FORCE : 본 테이블의 존재 여부에 관계없이 뷰 생성

NOFORCE : 기본 테이블이 존재할 때 뷰 생성

WIT CHECK OPTION : 서브 쿼리 내의 조건을 만족하는 행만 변경

WITH READ ONLY : 데이터 조작어 작업불가

 

클러스터

대상이 되는 범위 (모집단)의 요소를 몇 개 모은 단위체이다

 

파티셔닝

대용량의 테이블을 파티션이라는 작은 논리 단위로 나누어

성능저하방지 및 관리를 용이하게 하는 기법

 

레인지 파티셔닝 (Range Partitioning)

연속적인 숫자나 날짜를 기준으로 하는 범위 파티셔닝 기법

 

해시 파티셔닝 (Hash Partitioning)

파티션 키의 해시 함수 값에 의한 파티셔닝 기법

 

리스트 파티셔닝 (List Partitioning)

특정 파티션에 저장 될 데이터에 대한 명시적 제어가 가능한 파티셔닝 기법

 

컴포지트 파티셔닝 (Composite Partitioning)

레인지, 해시, 리스트 중 2개 이상의 파티셔닝을 결합하는 파티셔닝 기법

 

디스크 스트라이핑

성능 향상을 위해 데이터를 1개 이상의 디스크 드라이브에 저장하여

드라이브를 병렬로 사용할 수 있는 기술

 

# 데이터베이스

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

 

통합된 데이터 (Integrated Data)

자료의 중복을 배제한 데이터의 모임

 

저장된 데이터 (Stored Data)

저장 매체에 저장된 데이터

 

운영 데이터 (Operational Data)

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

 

공용 데이터 (Shared Data)

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

 

데이터베이스특성

실시간 접근성 (Real-Time Accessibility)

실시간 응답이 가능해야 함

 

계속적인 변화 (Continuous Evolution)

삽입, 삭제, 갱신 으로 항상 최신의 데이터를 유지함

 

동시 공용 (Concurrent Sharing)

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

 

내용 참조 (Content Reference)

사용자가 요구하는 데이터 내용으로 데이터를 찾는다

 

파일 시스템

파일에 이름을 부여하고 저장이나 검색을 위하여 논리적으로 그것들을 어디에 위치시켜야 하는지 등을

정의한 뒤 관리하는 데이터베이스 전 단계의 데이터 관리 방식이다

 

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)

데이터 관리의 복잡성을 해결하는 동시에 데이터 추가, 변경, 검색, 삭제 및 백업,

복구, 보안 등의 기능을 지원하는 소프트웨어이다

 

DBMS 유형

키-값 (Key-Value) DBMS

키 기반 get / put / delete 제공 / 키를 알면 벨류를 알 수 있다

 

컬럼 기반 데이터 저장 (Column Family Data Store) DBMS

Key 안에 (Column, Value) 조합으로 된 여러 개의 필드를 갖는다 / 키 하나에 여러개 컬럼

 

문서 저장 (Document Store) DBMS

값 (Value)의 데이터 타입이 문서 (Document)라는 타입을 사용하는 DBMS / ex) MongoDB

 

그래프 (Graph) DBMS

시맨틱 웹과 온톨로지 분야에서 활용되는 그래프로 데이터를 효현하는 DBMS

노드와 엣지로 특징되는 요소 특화 / SNS에서 사용

 

DBMS 특징

데이터 무결성

동일한 내용에 대하여 서로 다른 데이터가 저장되는 것을 허용하지 않는 성질

 

데이터 일관성

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

 

데이터 회복성

장애가 발생하였을 시 특정 상태로 복구되어야 하는 성질

 

데이터 보안성

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

 

데이터 효율성

응답시간, 저장 공간 활용 등이 최적화되어 요구 조건을 만족시켜야하는 성질

 

빅데이터

시스템, 서비스, 조직 (회사) 등에서 주어진 비용, 시간 내에 처리 가능한 데이터 범위를 넘어서는

수십 페타바이트 (PB) 크기의 비정형 데이터이다

 

빅데이터 특성 3V

데이터의 양 (Volume)

페타바이트 수준의 대규모 데이터

 

데이터의 다양성 (Variety)

정형, 비정형, 반정형의 다양한 데이터

 

데이터의 속도 (Velocity)

빠르게 증가하고 수집되며, 처리되는 데이터

 

척와

비정형 데이터 수집, HDFS에 저장

 

스쿱

정형 데이터 수집, RDBMS에서 수집

 

HDFS (Hadoop Distributed File System)

대용량 데이터의 집합을 처리하는 응용프로그램에 적합하도록 설계된

하둡 분산파일시스템이다

 

맵리듀스

구글에서 대용량 데이터 처리를 분산 병렬 컴퓨팅에서 처리하기 위한 목적으로 제작

 

HBase

HDFS의 컬럼 기반 데이터베이스로 실시간 랜덤 조회 및 업데이트가 가능한 기술

 

NoSQL

전통적인 RDBMS와 다른 DBMS를 지칭하기 위한 용어

데이터 저장에 고정된 테이블 스키마가 필요하지 않고

조인 연산을 사용할 수 없으며

수평적으로 확장이 가능한 DBMS이다

 

NoSQL 특성

Basically Available

언제든지 데이터는 접근할 수 있어야 하는 속성

 

Soft-State

노드의 상태는 내부에 포함된 정보에 의해 결정이 아니라 외부에서 전송된 정보를 통해

 

Eventually Consistency

일정 시간이 지나면 데이터의 일관성이 유지되는 속성

 

데이터마이닝

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

 

텍스트마이닝

대량의 텍스트 데이터로부터 패턴 또는 관계를 추출하여 의미 있는 정보를 찾아내는 기법

 

웹 마이닝

웹으로부터 얻어지는 방대한 양의 정보로부터 유용한 정보를 찾아내기 위하여 분석하는 기법

 

시맨틱웹 (Semantic Web)

온톨로지를 활용하여 서비스를 기술하고 온톨로지의 의미적 상호 운용성을 이용해서

서비스 검색, 조합, 중재 기능을 자동화하는 웹

 

온톨로지 (Ontology)

실세계에 존재하는 모든 개념들과 개념들의 속성, 개념들 간의 관계 정보를

컴퓨터가 이해할 수 있도록 서술해 놓은 지식베이스

 

데이터 마이닝 주요 기법

분류규칙 (Classification)

과거 데이터로부터 특성을 찾아내 분류모형을 만들어 이를 토대로 새로운 레코드의 결과 값을 예측하는 기법

ex) 우수 고객의 분류 모형 구축으로 마케팅 활용

 

연관규칙 (Association)

데이터 안에 존재하는 항목들 간의 종속관계를 찾아내는 기법

ex) 넥타이 구매고객의 50% 이상이 셔츠를 구매한다는 정보 분석을 통해 매장의 상품 진열

 

연속규칙 (Sequence)

연관 규칙에 시간 관련 정보가 포함된 형태의 기법

ex) A 품목을 구매한 회원이 B 품목을 구매할 확률은 75%

 

데이터 군집화 (Clustering)

대상 레코드들을 유사한 특성을 지닌 몇개의 소그룹으로 분할하는 작업으로

작업의 특성이 분류규칙과 유사

ex) 고객의 지역 / 연령 / 성별 에 따른 차별화 홍보전략

댓글수0