CH3. 데이터 입출력 구현
논리 데이터 저장소 확인
- 데이터 모델
- 논리 데이터 모델 검증
물리 데이터 저장소 설계
데이터베이스 기초 활용하기
※ 전체 내용 요약이 아닌, 시험 전 무조건 알아야 하는 내용들만 정리한 것
※ 여기 있는 건 무조건 알고 가자
데이터 모델 (Data Model)
현실 세계의 정보를 인간과 컴퓨터가 이해할 수 있도록 추상화하여 표현한 모델
표시해야 할 요소는 논리적 데이터 구조, 연산, 제약조건
데이터 모델링 절차 [개논물]
- 개념적 데이터 모델 : 현실 세계에 대한 인식을 추상적, 개념적으로 표현하여 개념적 구조를 도출하는 데이터 모델
- 논리적 데이터 모델 : 업무의 모습을 모델링 표기법으로 형상화하여 사람이 이해하기 쉽게 표현한 데이터 모델 / 스키마, 트랜잭션 인터페이스 설계 / 정규화 수행
- 물리적 데이터 모델 : 논리 데이터 모델을 사용하고자 하는 각 DBMS의 특성을 고려하여 데이터베이스 저장 구조(물리적 데이터 모델)로 변환 / 스키마, 테이블, 뷰 등 객체 생성 / 반 정규화 수행
관계형 데이터 모델
데이터를 행과 열로 구성된 2차원 테이블 형태로 구성한 모델
릴레이션 : 행과 열로 구성된 테이블
튜플(Tuple) : 릴레이션의 행에 해당되는 요소
속성(Attribute) : 릴레이셔의 열에 해당되는 요소
카디널리티(Cardinality) : 튜플의 수 = 행의 수
차수(Degree) : 애트리뷰트(속성)의 수 = 열의 수
스키마 : 데이터베이스의 구조, 제약조건 등의 정보를 담고 있는 기본적인 구조
인스턴스 : 정의된 스키마에 따라 생성된 테이블에 실제 저장된 데이터의 집합
관계 대수
관계형 데이터베이스에서 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적 정형 언어
관계 대수 연산자의 종류
1. 일반 집합 연산자 [합교차카]
합집합 ∪
교집합 ∩
차집합 -
카티션 프로덕트 ×
2. 순수 관계 연산자 [셀프조디]
셀렉트 σ
프로젝트 π
조인 ▷◁
디비전 ÷
※ 연산 결과 릴레이션이 어떻게 되는지 알아야함 → 꼭 문제 풀어보기
관계 해석
튜플 관계 해석과 도메인 관계 해석을 하는 비절차적 언어 (원하는 정보가 무엇이라는 것만 선언)
논리 데이터 모델링 속성 [개속관]
개체
속성
관계
개체-관계(E-R) 모델
현실 세계에 존재하는 데이터와 그들 간의 관계를 사람이 이해할 수 있는 형태로 명확하게 표현하기 위해서 가장 널리 사용되고 있는 모델
개체-관계(E-R) 다이어그램 기호
개체 □ 사각형
관계 ◇ 마름모
속성 ○ 타원
다중 값 속성 ◎ 이중타원
관계-속성 연결 ㅡ 선
정규화 (Normalization)
관계형 데이터 모델에서 데이터의 중복성을 제거하여, 이상 현상을 방지하고, 데이터의 일관성과 정확성을 유지하기 위해 무손실 분해를 하는 과정
이상 현상 (Anomaly)
데이터의 중복으로 인해 릴레이션을 조작할 때 발생하는 비합리적인 현상
정규화를 하지 않았을 경우에 대한 문제점
이상 현상 [삽삭갱]
삽입 이상
삭제 이상
갱신 이상
데이터 베이스 정규화 단계 [원부이 결다조]
원자화 (1NF) : 원자값으로 구성
부분함수 종속 제거 (2NF)
이행함수 종속 제거 (3NF)
결정자 함수 종속 제거 (BCNF, 보이스-코드 정규화)
다치 종속 제거 (4NF)
조인 종속 제거 (5NF)
※ 릴레이션 모양 보고 몇차 정규화인지 알아야함 → 꼭 문제 풀어보기
반 정규화 (De-Normalization)
정규화된 엔터티, 속성, 관계에 대해 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링의 기법
반 정규화 기법 [테병분중 컬중 관중]
(테이블) 병합
(테이블) 분할
(테이블) 중복
(컬럼) 중복
(관계) 중복
참조무결성 제약조건 (Constraint)
두 개의 릴레이션이 기본키, 외래키를 통해 참조 관계를 형성할 경우, 참조하는 외래키의 값은 항상 참조되는 릴레이션에 기본키로 존재해야 한다.
제한(Restricted) : 참조무결성 원칙을 위배하는 연산을 거절
연쇄(Cascade) : 참조되는 릴레이션에서 튜플을 삭제하고, 이 튜플을 참조하는 튜플들도 함께 삭제
널 값(Nullify) : 참조되는 릴레이션에서 튜플을 삭제하고, 참조하는 릴레이션에서 해당 튜플을 참조하는 튜플들의 외래 키에 NULL 값 대입 / 만약 참조하는 릴레이션에서 NULL 값이 들어갈 애트리뷰트가 NOT NULL 이면 삭제 연산 거절
인덱스 (Index)
검색 연산의 최적화를 위해 데이터베이스 내 열에 대한 정보를 구성한 데이터 구조
인덱스를 통해 전체 데이터의 검색 없이 필요한 정보에 대해 신속한 조회가 가능
파티셔닝의 종류 [레해리컴]
레인지 파티셔닝 : 연속적인 숫자나 날짜를 기준으로 하는 파티셔닝 기법
해시 파티셔닝 : 파티션 키의 해시 함수 값에 의한 파티셔닝 기법
리스트 파티셔닝 : 특정 파티션에 저장 될 데이터에 대한 명시적 제어가 가능한 파티셔닝 기법
컴포지트 파티셔닝 : 레인지, 해시, 리스트 파티셔닝 중 2개 이상의 파티셔닝을 결합하는 파티셔닝 기법
데이터베이스 (Database)
다수의 인원, 시스템 또는 프로그램이 사용할 목적으로 통합하여 관리되는 데이터의 집합
DBMS (Database Management System)
데이터 관리의 복잡성을 해결하는 동시에 데이터 추가, 변경, 검색, 삭제 및 백업, 복구, 보안 등의 기능을 지원하는 소프트웨어
데이터베이스 기술 트랜드
빅데이터
NoSQL
데이터 마이닝
빅데이터 (Big Data)
시스템, 서비스, 조직(회사) 등에서 주어진 비용, 시간 내에 처리 가능한 데이터 범위를 넘어서는 수십 페타바이트 크기의 비정형 데이터
빅데이터의 특성
양
다양성
속도
NoSQL (Not Only SQL)
전통적인 RDBMS와 다른 DBMS를 지칭하기 위한 용어로 데이터 저장에 고정된 테이블 스키마가 필요하지 않고 조인(Join) 연산을 사용할 수 없으며, 수평적으로 확장이 가능한 DBMS
데이터 마이닝 (Data Mining)
대규모로 저장된 데이터 안에서 체계적이고 자동적으로 통계적 규칙이나 패턴을 찾아내는 기술
텍트스 마이닝 (Text Mining)
대량의 텍스트 데이터로부터 패턴 또는 관계를 추출하여 의미 있는 정보를 찾아내는 기법
웹 마이닝 (Web Mining)
웹으로부터 얻어지는 방대한 양의 정보로부터 유용한 정보를 찾아내기 위하여 분석하는 기법
단답형
DDL (Data Definition Language, 데이터 정의어)
테이블과 같은 데이터 구조를 정의하는 데 사용되는 명령어들로 특정 구조를 생성, 변경, 삭제, 이름을 바꾸는 데이터 구조와 관련된 명령어들
슈퍼 타입 (Super type)
모든 서브 타입으로 상속되는 공통 속성
서브 타입 (Sub type)
개체의 전체 집합에서 일부만 모아놓은 부분 속성
디스크 스트라이핑 (Disk Striping)
성능 향상을 위해 데이터를 1개 이상의 디스크 드라이브에 저장하여 드라이브를 병렬로 사용할 수 있는 기술
맵 리듀스 (Map Reduce)
구글에서 대용량 데이터 처리를 분산 병렬 컴퓨팅에서 처리하기 위한 목적으로 제작하여 2004년에 발표한 소프트웨어 프레임워크
시맨틱 웹 (Semantic Web)
온톨로지를 활용하여 서비스를 기술하고, 온톨로지의 의미적 상호 운용성을 이용해서 서비스 검색, 조합, 중재 기능을 자동화하는 웹
온톨로지(Ontology)
실세계에 존재하는 모든 개념들과 개념들의 속성, 그리고 개념들 간의 관계 정보를 컴퓨터가 이해할 수 있도록 서술해 놓은 지식베이스
'정보처리기사' 카테고리의 다른 글
[정보처리기사] 실기 합격 (0) | 2021.08.20 |
---|---|
[정보처리기사 실기] 정처기 실기 대비 정리 요약 / CH2. 화면 설계 (0) | 2021.07.02 |
[정보처리기사 실기] 정처기 실기 대비 정리 요약 / CH1.요구사항 확인 (0) | 2021.07.02 |
[정보처리기사] 정처기 실기 대비 공부법 (1) | 2021.07.02 |