01 논리 데이터 저장소 확인
데이터 모델이란?
현실 세계의 정보를 인간과 컴퓨터가 이해할 수 있도록 추상화하여 표현한 모델
데이터 모델 절차
개념적 데이터 모델 ➡️ 논리적 데이터 모델 ➡️ 물리적 데이터 모델
논리적 데이터 모델 종류
⏺ 관계 데이터 모델: 테이블
⏺ 계층 데이터 모델: 트리
⏺ 네트워크 데이터 모델: 그래프, 망
관계 대수: 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적 정형 언어
- 일반 집합 연산자: 합집합, 교집합, 차집합, 카티션 프로덕트
- 순수 관계 연산자: 셀렉트, 프로젝트, 조인, 디비전
관계 해석: 듀플 관계 해석과 도메인 관계 해석을 하는 비절차적 언어
정규화(Normalization)
데이터의 중복성을 제거해 이상현상을 방지하고, 데이터의 일관성과 정확성을 유지하기 위해 무손실 분해하는 과정
1NF | 도메인이 원자값 |
2NF | 부분함수 종속 제거 |
3NF | 이행함수 종속 제거 |
BCNF | 결정자 함수이면서 후보키 아닌 것 제거 |
4NF | 다치 종속 제거 |
5NF | 조인 종속 제거 |
이상 현상(Anomaly)
: 데이터의 중복성으로 인해 릴레이션을 조작할 때 발생하는 비합리적인 현상
삽입 이상, 삭제 이상, 갱신 이상
반 정규화(De-Normalization)
정규화된 엔티티, 속성, 관계에 대해 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 과정
02 물리 데이터 저장소 설계
참조무결성 제약조건
참조하는 외래키의 값은 항상 참조되는 릴레이션의 기본키로 존재해야한다.
제한(RESTRICT), 연쇄(CASCADE), 널값(SET NULL)
파티션(Partition)의 종류
- 레인지(Range) 파티셔닝: 연속적인 숫자나 날짜 기준
- 해시(Hash) 파티셔닝: 파티션 키의 해시 함수 값
- 리스트(List) 파티셔닝: 특정 파티션에 저장될 데이터에 대한 명시적 제어 가능
- 컴포지트(Composite) 파티셔닝: 레인지, 해시, 리스트 중 2개 이상의 파티셔닝의 결합
03 데이터베이스 기초 활용하기
데이터베이스의 정의
데이터베이스는 여러 여러 사람에 의해 공동으로 사용될 데이터를 중복을 배제하여 통합하고, 쉽게 접근하여 처리할 수 있도록 저장장치에 저장하여 항상 사용할 수 있도록 운영하는 운영 데이터이다.
1. 논리 데이터저장소는 데이터 및 데이터 간의 연관성, 제약조건을 식별하여 논리적인 구조로 조직화한 것이다.
2. 물리 데이터저장소는 논리 데이터저장소를 소프트웨어가 운용될 환경의 물리적 특성을 고려하여 실제 저장장치에 저장한 것을 의미한다.
- 통합된 데이터: 자료의 중복을 배제한 데이터의 모임
- 저장된 데이터: 저장 매체에 저장된 데이터
- 운영 데이터: 조직의 업무를 수행하는데 필요한 데이터
- 공용 데이터: 여러 애플리케이션, 시스템들이 공동으로 사용하는 데이터
데이터베이스 특성
실시간 접근성, 계속적인 변화, 동시 공용, 내용 참조
DBMS, NoSQL 유형
Key-Value Store, Column Family Data Store, Document Store, Graph Store - 시맨틱 웹과 온톨로지 분야에서 활용
빅데이터
시스템, 서비스, 조직 등에서 주어진 비용, 시간 내에 처리가 가능한 수십 페타바이트 크기의 비정형 데이터
- HDFS: 대용량의 데이터의 집합을 처리하는 응용 프로그램에 적합하도록 설계된 하둡 분산 파일 시스템
- 맵 리듀스(Map Reduce): 구글에서 대용량 데이터를 분산 병령 컴퓨팅 처리하기 위한 목적으로 제작해 2004년에 발표현 소프트 프레임워크
NoSQL
전통적인 RDBMS와 다른 DBMS를 지칭하기 위한 용어, 데이터 저장에 고정된 테이블 스키마가 필요하지 않고 조인 연산을 사용할 수 없으며 수평적으로 확장이 가능한 DBMS
NoSQL의 특성(BASE)
- Basically Available: 언제든지 데이터는 접근할 수 있어야하는 속성
- Soft-State: 노드의 상태는 외부에서 전송된 정보를 통해 결정되는 속성
- Eventually Consistency: 일정 시간이 지나면 데이터의 일관성이 유지
시멘틱 웹(Semantic Web)
기계가 이해할 수 있는 온톨로지 형태로 표현하고 자동화된 기계가 처리하도록 하는 지능형 웹
온톨로지(Ontology): 실세계에 존재하는 모든 개념들과 개념들의 속성, 개념들 간의 관계 정보를 컴퓨터가 이해할 수 있도록 서술해 놓은 지식베이스
데이터 마이닝(Data Mining)
대규모로 저장된 데이터 안에서 체계적으로 자동적으로 통계적 규칙이나 패턴을 찾아내는 기술
데이터마이닝의 주요 기법
- 분류 규칙: 과거 데이터로부터 특성을 찾아내어 분류모형을 만들어 결과값 예측
- 연관 규칙: 데이터 안에 존재하는 항목들 간의 종속관계를 찾아내는 기법
- 연속 규칙: 연관 규칙에 시간 관련 정보가 포함된 형태의 기법
- 데이터 군집화: 대상 레코드들을 유사한 특성을 지는 몇 개의 소그룹으로 분할하는 작업
'정보처리기사' 카테고리의 다른 글
정보처리기사 07. 인터페이스 구현 (0) | 2021.09.22 |
---|---|
정보처리기사 06. 통합 구현 (0) | 2021.09.21 |
정보처리기사 04. SQL 응용-3 (제어문, 커서, DBMS 접속, SQL 테스트, ORM) (0) | 2021.09.21 |
정보처리기사 03. SQL 응용-2 (SELECT, PROCEDURE, TRIGGER) (0) | 2021.09.20 |
정보처리기사 02. SQL 응용-1 (DDL, DCL, DML) (0) | 2021.09.18 |