정보처리기사/정보처리기사 실기

[3과목] 데이터 입출력 구현

jooon 2022. 10. 17. 21:11

연산 (Operation) - 데이터베이스에서 저장된 실제 데이터를 처리하는 작업에 대한 명세

구조 (Structure) - 데이터베이스에 논리적으로 표현될 대상으로서의 개체 타입과 개체 타입들 간의 관계

제약 조건(Constraint) - 데이터베이스에 저장될 수 있는 실제 데이터의 논리적 제약조건

 

데이터 모델 절차  (두음 암기법 : 요개논물)

요구조건 분석 -> 개념적 데이터 모델링 -> 논리적 데이터 모델링 -> 물리적 데이터 모델링

-.개념적 데이터 모델링 : 현실 세계의 인식을 추상적인 개념으로 모델링

-.논리적 데이터 모델링 : 개념적 구조를 컴퓨터가 이해할 수 있는 형태로 변환 (정규화 수행)

-.물리적 데이터 모델링 : DBMS의 특성 및 성능을 고려하여 물리적인 스키마를 만드는 단계

 

논리 데이터 모델링  업무의 모습을 모델링 표기법으로 형상화하여 사람이 이해하기 쉽게 표현

속성 : 개채(사각형), 속성(타원), 관계(마름모), 관계-속성 연결 (), 다중 값 속성(이중타원)

 

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

 

관계 대수는 절차적 언어 / 관계 해석은 비절차적 언어

 

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

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

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

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

 

정규화 단계  (두음 암기법 : 원부이걸 다조)

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

2NF(2정규형) – 분 함수 종속 제거

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

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

4NF(4정규형) – 치 종속 제거

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

 

함수 종속

부분 함수 종속 (Partial Functional Dependency) - 릴레이션에서 기본 키가 복합 키일 경우 기본 키를 구성하는 속성 중 일부에게 종속된 경우

완전 함수 종속 (Full Functional Dependency) - 릴레이션에서 X -> Y 관계가 있을 때,  Y는 X의 전체 속성에 대해 종속하고, 부분 집합 속성에 종속하지 않는 경우

이행 함수 종속 (Transitive Functional Dependency) - 릴레이션에서 X-> Y, Y->Z 종속 관계가 있을때 X -> Z가 성립하는 경우

 

반 정규화 (De-Normalization)

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

 

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

1.개체 -> 테이블

2.속성 -> 컬럼

3.UID -> PK (Primary Key)

4.관계 -> 외래키

5.컬럼 유형과 길이 정의

6.반정규화

 

* 참조 무결성 제약조건 : 릴레이션과 릴레이션 사이에 대해 참조의 일관성을 보장하기 위한 조건

 

키(key) - 데이터베이스에서 조건을 만족하는 튜플을 찾거나 순서대로 정렬할 때 다른 튜플들과 구별할 수 있는 기준이 되는 속성 (특성 : 유일성, 최소성)

 

유일성 (Unique) - 식별자에 의해 엔티티 타입 내에 모든 엔티티들이 유일하게 구분

최소성 (Minimality) - 최소한의 속성으로 식별자 구성

 

기본 키 (Primary Key) - 튜플을 고유하게 식별하는 컬럼

대체 키 (Alternate Key) - 후보 키 중에서 기본 키로 선택되지 않은 키

후보 키 (Candidate Key) - 각 튜플을 구별하는 데 기준이 되는 컬럼

슈퍼 키 (Super Key) - 릴레이션을 구성하는 모든 튜블에 대해 유일성은 만족하지만 최소성은 만족 못하는 키

외래 키 (Foreign Key)  - 테이블 간의 참조 데이터 무결성을 위한 제약 조건

 

인덱스  검색 연산의 최적화 하기 위해 키값과 포인터를 쌍으로 구성되는 데이터 구조

적용기준 : 분포도가 10 ~ 15 % 이내

<특징>

분포도가 좋은 컬럼은 단독 생성

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

지나치게 많은 인덱스는 오버헤드 발생 가능

 

*.뷰 : 사용자에게 허용된 정보만 보여주기 위해 하나 이상의 테이블로 유도된 가상의 논리적인 가상 테이블

속성 : REPLACE, FORCE, NOFORCE, WITH CHECK OPTION, WITH READ ONLY

논리적인 독립성을 제공하고 접근 제어를 통한 자동 보안 기능 제공

 

*.클러스터 : 데이터 접근 효율을 높이기 위해 동일한 성격의 데이터를 같은 데이터 블록에 저장하는 물리적 저장 방법

<특징>

조회 속도는 향상시키지만 삽입,삭제,수정의 기능은 저하

종류로는 단일 테이블 클러스터링과, 다중 테이블 클러스터링

 

파티셔닝 (두음 암기법 : 레해리컴라)  대용량을 테이블을 작은 논리적인 단위인 파티션으로 나누는 것

-.레인지 파티셔닝 : 연속되는 숫자나 날짜를 기준으로 파티셔닝

-.해시 파티셔닝 : 파키션 키의 해시 함수 값으로 파티셔닝

-.리스트 파티셔닝 : 데이터에 대한 명시적 제어가 가능한 파티셔닝

-.컴포지트 파티셔닝 : 범위분할 이후 해시 함수를 적용하여 재분할하는 파티셔닝

-. 라운드로빈 파티셔닝 : 분할로 회전하면서 새로운 행이 파티션에 할당하는 방식

 

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

<특성>

-.실시간 접근성

-.계속적인 변화

-.동시 공용

-.내용 참조

 

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

 테이블의 일부를 다른 테이블과 상하 관계로 표시하며 정리한다.

종류 : Oracle, SQL Server, MySQL, Maria DB

 

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

 상하 종속적인 관계로 계층화하여 관리하는 데이터베이스

종류 : IMS,System2000

 

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

-.데이터의 구조를 네트워크상의 망상 형태로 표현한 데이터모델

종류: IDS,IDMS 

 

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

 

유형  (두음 암기법 : 키컬도그)

키 값 (Key-Value) DBMS – 키 기반 Get / Put / Delete 제공, Unique 한 키에 하나의 값을 가지고 있는 상태

컬럼 기반 데이터 저장(Column Family Date Stroe) DBMS – Key (Column, Value) 조합으로 된 여러 개의 필드를 갖는 DBMS

문서 저장 (Documnet Store) DBMS – 문서 타입은 XML, JSON과 같이 구조화된 데이터 타입으로, 복잡한 계층 구조 표현 가능

그래프 (Graph) DBMS – 시멘틱 웹과 온톨로지 분야에서 활용되는 그래프로 데이터를 표현하는 DBMS

 

DBMS 특징

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

 

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

 

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

 

주요 기법

-. 분류 규칙, 연관 규칙, 연속 규칙, 데이터 군집화

 

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

* 웹 마이닝 : 웹으로부터 얻어지는 방대한 양의 정보로부터 유용한 정보를 찾기 위하여 분석

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

* 온톨로지 : 실세계에 존재하는 모든 개념들을 컴퓨타가 이해할 수 있도록 서술해 놓은 지식베이스

* 시맨틱 웹 : 온톨로지 활용하여 서비스를 기술, 서비스 검색, 조합, 중재 기능을 자동화하는 웹

 

Hbase는 HDFS(하둡 분산 파일 시스템)를 기 반으로 구현된 컬럼 기반의 데이터 베이스이 다.

Spark : 스트리밍 데이터, 온라인 머신러닝 등 실시간 데이터 처리에 적합한 데이터 분 산 처리 시스템

Hive : SQL과 유사한 HiveQL이라는 쿼리를 제공하고, 내부적으로 맵 리듀스로 변환되어 실행되는 하둡 기반 시스템

 

- 데이터베이스 무결성의 종류는 아래와 같다.

개체 무결성 - 한 엔터티에서 같은 기본 키(PK)를 가질 수 없거나, 기본 키(PK)의 속성이 NULL을 허용할 수 없는 제약조건

참조 무결성 - 외래 키가 참조하는 다른 개체의 기본 키에 해당하는 값이 기본 키값이나 NULL이어야 하는 제약조건

속성 무결성 - 속성의 값은 기본값, NULL 여부, 도메인(데이 터 타입, 길이)이 지정된 규칙을 준수해야 하는 제약조건

사용자 무결성 - 사용자의 의미적 요구사 항을 준수해야 하는 제약 조건 키 무결성 - 한 릴레이션에 같은 키값을 가진 튜플들을 허용할 수 없는 제약조건

반응형