자격증/정보처리기사

chapter 03. 데이터 입출력 구현

yeonx 2022. 4. 21. 20:21
728x90

데이터 모델

데이터 모델 개념 [2021년 1회]

  • 데이터 모델은 현실 세계의 정보를 인간과 컴퓨터가 이해할 수 있도록 추상화하여 표현한 모델
  • 데이터 모델에 표시해야 할 요소에는 논리적 데이터 구조, 연산, 제약 조건이 있다.
표시요소 설명
연산
(Operation)
- 데이터베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세
- 릴레이션을 조작하기 위한 관계 연산을 나타냄(SELECT, PROJECT, JOIN, DIVISION)
구조
(Structure)
- 데이터베이스에 논리적으로 표현될 대상으로서의 개체 타입과 개체 타입 간의 관계
- 데이터 구조 및 정적 성질을 표현하는 요소
제약 조건
(Constraint)
- 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건
- 데이터 무결성 유지를 위한 DB의 보편적 방법
- 릴레이션의 특정 칼럼에 설정하는 제약을 의미(개체 무결성, 참조 무결성 등)

 

데이터 모델 절차 [2020년 2회, 2021년 1회]

데이터 모델 절차는 요구사항 분석, 개념적 데이터 모델, 논리적 데이터 모델, 물리적 데이터 모델이 있다.

단계 모델 설명
요구조건
분석
- 도출된 요구사항 간 상충을 해결하고 범위를 파악하여 외부 환경과의 상호작용을 분석을 통해 데이터에 대한 요구 분석
개념적
설계
개념적
데이터
모델
- 사용자의 요구에 대한 트랜잭션을 모델링 하는 단계
- 개념적 데이터 모델은 현실 세계에 대한 인식을 추상적, 개념적으로 표현하여 개념적 구조를 도출하는 데이터 모델

논리적
설계
논리적
데이터
모델
- 트랜잭션의 인터페이스를 설계하는 단계
- DBMS에 맞는 논리적 스키마를 설계하는 단계
- 논리적 데이터 모델은 업무의 모습을 모델링 표기법으로 형상화하여 사람이 이해하기 쉽게 표현한 데이터 모델

물리적
설계
물리적
데이터
모델
 - 물리적 설계는 논리 데이터 모델을 특정 DBMS의 특성 및 성능을 고려하여 물리적인 스키마를 만드는 단계
- 물리적 데이터 모델은 논리 데이터 모델을 사용하고자 하는 각 DBMS의 특성을 고려하여 데이터베이스 저장 구조(물리 데이터 모델)로 변환하는 모델

 

논리적 데이터 모델 검증

관계 데이터 모델 [2017년 1회, 2회, 2018년 2회, 2019년 3회]

① 관계 데이터 모델 개념

- 관계 데이터 모델은 데이터를 행과 열로 구성된 2차원 테이블 형태로 구성한 모델이다.

- 수학자 E.F.Codd 박사가 제안한 모델이다.

 

② 관계 데이터 모델의 구성

구성요소 설명
릴레이션(Relation) 행과 열로 구성된 테이블
튜플(Tuple) 릴레이션 행(Row)에 해당되는 요소
속성(Attribute) 릴레이션 열(Column)에 해당되는 요소
카디널리티(Cardinality) 튜플(Tuple)의 수
차수(Degree) 애트리뷰트(Column)의 수
스키마(Schema) 데이터베이스의 구조, 제약 조건 등의 정보를 담고 있는 기본적인 구조
인스턴스(Instance) 정의된 스키마에 따라 생성된 테이블에 실제 저장된 데이터의 집합

관계 대수

① 관계 대수 개념 [2021년 2회]

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

 

② 관계 대수 연산자의 종류 [2018년 1회, 2020년 3회, 2021년 1회]

㉮ 일반 집합 연산자

일반 집합 연산자는 수학의 집합 개념을 릴레이션에 적용한 연산자

연산자 기호 표현 설명
합집합
(Union)
R⋃S 합병 가능한 두 릴레이션 R과 S의 합집합
교집합
(Intersection)
R⋂S 릴레이션 R과 S에 속하는 모든 튜플로 결과 릴레이션 구성
차집합
(Difference)
- R-S R에 존재하고 S에 미 존재하는 튜플로 결과 릴레이션 구성
카티션 프로덕트
(CARTESIAN Product)
X RXS R과 S에 속한 모든 튜플을 연결해 만들어진 새로운 튜플로 릴레이션 구성

㉯ 순수 관계 연산자

관계 데이터베이스에 적용할 수 있도록 특별히 개발한 관계 연산자

연산자 기호 표현 설명
셀렉트
(Select)
σ σ(R)  -조건 릴레이션 R에서 조건을 만족하는 튜플 반환
프로젝트
(Project)
π π(R)  -속성리스트 릴레이션 R에서 주어진 속성들의 값으로만 구성된 튜플 반환
조인
(Join)
R⋈S 공통 속성을 이용해 R과 S의 튜플들을 연결해 만들어진 튜플 반환
디비전
(Division)
÷ R÷S 릴레이션 S의 모든 튜플과 관련 있는 R의 튜플 반환

 

정규화

이상 현상(Anomaly) [2020년 4회]

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

- 삽입, 삭제, 갱신 이상이 있다.

이상 현상 설명
삽입 이상 정보 저장 시 해당 정보의 불필요한 세부정보를 입력해야 하는 경우
삭제 이상 정보 삭제 시 원치 않는 다른 정보가 같이 삭제되는 경우
갱신 이상 중복 데이터 중에서 특정 부분만 수정되어 중복된 값이 모순을 일으키는 경우

 

반 정규화 [2020년 1회]

반 정규화(De-Normalization) 개념

- 반 정규화는 정규화된 엔터티, 속성, 관계에 대해 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링 기법이다.

- 비정규화, 역정규화라고도 불린다.

 

반 정규화 특징

장점 단점
- 반 정규화된 데이터 구조는 성능 향상과 관리의 효율성이 증가 - 데이터의 일관성 및 정합성 저하
- 유지를 위한 비용이 별도로 발생하여 성능에 나쁜 영향을 미칠 수 있음

반 정규화를 위해서는 데이터의 일관성과 무결성을 우선으로 할지 데이터베이스의 성능과 단순화에 우선순위를 둘 것인지를 비교하여 조정하는 과정이 중요

 

반 정규화 기법

구분 수행 방법 설명
테이블 테이블
병합
- 1:1 관계, 1:M 관계를 통합하여 조인 횟수를 줄여 성능을 향상
- 슈퍼타입/ 서브타입 테이블 통합 통해 성능 향상
테이블
분할
- 테이블을 수직 또는 수평으로 분할하는 것으로 파티셔닝이라고 함
중복
테이블
추가
- 대량의 데이터들에 대한 집계함수(GROUP BY, SUM 등)를 사용하여 실시간 통계 정보를 계싼하는 경우에 효과적인 수행을 위해 별도의 통계 테이블을 두거나 중복 테이블을 추가
컬럼 컬럼
중복화
조인 성능 향상을 위한 중복 허용
관계 중복관계
추가
데이터를 처리하기 위한 여러 경로를 거쳐 조인이 가능하지만, 이때 발생할 수 있는 성능 저하를 예방하기 위해 추가적 관계를 맺는 방법

 

데이터 마이닝(Data Minning)

데이터 마이닝 개념 [2020년 1회]

  • 대규모로 저장된 데이터 안에서 체계적이고 자동적으로 통계적 규칙이나 패턴을 찾아내는 기술
  • 데이터 마이닝은 대규모 데이터에서 의미 있는 패턴을 파악하거나 예측하여 의사결정에 활용하는 기법
  • 데이터 마이닝은 데이터의 숨겨진 정보를 찾아내어 이를 기반으로 서비스와 제품에 도입하는 과정
  • 통계분석은 가설이나 가정에 따른 분석, 검증을 하지만 데이터 마이닝은 수리 알고리즘을 활용하여 대규모 데이터에서 의미있는 정보를 찾아냄

 

[참고 : 수제비 2022]

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

chapter 05. 인터페이스 구현  (0) 2022.04.24
chapter 04. 통합 구현  (0) 2022.04.24
chapter 02. 화면 설계 (2)  (0) 2022.04.21
chapter 02. 화면 설계 (1)  (1) 2022.04.20
chapter 01. 소프트웨어 개발 방법론 (3)  (0) 2022.04.20