Study/정보처리기사

정보처리기사 실기 5강 - 데이터 입출력 구현①

상맹 2021. 9. 24. 00:57
반응형

1. 데이터 모델

 1.1 데이터 모델 개념

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

 

 1.2 데이터 모델 절차 

  ① 개념적 데이터 모델

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

   - 트랜잭션 모델링, View 통합방법 및 Attribute 합성 고려

   - 개념적 데이터 모델은 DB 종류와 관계 없음

   - 주요 산출물로는 개체관계 다이어그램

 

  ② 논리적 데이터 모델

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

   - 목표 DBMS에 맞는 스키마 설계, 트랜잭션 인터페이스를 설계

   - 논리적 데이터 모델링에서 정규화 수행

   - 논리적 데이터베이스 구조로 매핑(Mapping)

   - 스키마의 평가 및 정제

 

  ③ 물리적 데이터 모델

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

   - 논리 데이터 모델을 사용하고자 하는 각 DBMS의 특성을 고려하여 데이터베이스 저장 구조(물리 데이터 모델)로 변환

   - 테이블, 인덱스, 뷰, 파티션 등 객체를 생성

   - 응답시간, 저장 공간의 효율화, 트랜잭션 처리를 고려하여 설계

   - 성능 측면에서 반 정규화를 수행

   - 레코드 집중의 분석 및 설계 / 저장 레코드 양식 설계 /  접근 경로(Access Path) 설계

 

2. 논리 데이터 모델 검증

 

 2.1 논리 데이터 모델 개념

  개념 모델로부터 업무 영역의 업무 데이터 및 규칙을 구체적으로 표현한 모델

 

 2.2 논리적 데이터 모델링 종류

  ① 관계 데이터 모델

   - 논리적 구조가 2차원 테이블 형태로 구성된 모델

   - 기본 키와 이를 참조하는 외래 키로 관계 표현

   - 1:1, 1:N, N:M 관계를 자유롭게 표현

 

  ② 계층 데이터 모델

   - 논리적 구조가 트리 형태로 구성된 모델

   - 상하관계 존재한다(부모 개체-자식 개체)

   - 1:N 관계만 허용

 

  ③ 네트워크 데이터 모델

   - 논리적 구조가 그래프 형태로 구성된 모델

   - 상위와 하위 레코드 사이에 다대다(N:M) 관계를 만족하는 구조

 

 2.3 관계형 데이터 모델

  - 구성요소

  ① 릴레이션 : 행(Row)와 열(Column)로 구성된 테이블

  ② 튜플(Tuple) : 릴레이션의 행(Row)에 해당되는 요소

  ③ 속성(Attribute) : 릴레이션의 열(Column)에 해당되는 요소

  ④ 카디널리티(Cardinality) : 튜플(Row)의 수

  ⑤ 차수(Degree) : 애트리뷰트(Column)의 수

  ⑥ 스키마(Schema) : 데이터베이스의 구조, 제약조건 등의 정보를 담고 있는 기본적인 구조

  ⑦ 인스턴스(Instance) : 정의된 스키마에 따라 생성된 테이블에 실제 저장된 데이터의 집합

 

 - 표현 방법

 ① 데이터 간의 관계를 기본 키와 이를 참조하는 외래 키로 표현한다.

 ② 테이블 간 관계를 1:1, 1:N, N:M 관계로 목적에 맞게 표현한다.

 

 - 관계 대수

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

 

 - 관계 대수 연산자 종류 

  1. 일반 집합 연산자

  ① 합집합(R ∪ S) : 합병 가능한 두 릴레이션 R과 S의 합집합

  ② 교집합(R ∩ S) : 릴레이션 R과 S에 속하는 모든 튜플로 결과 릴레이션 구성

  ③ 차집합(R - S) : R에 존재하고 S에 미 존재하는 튜플로 결과 릴레이션 구성

  ④ 카티션 프로덕트(R × S) : R과 S에 속한 모든 튜플을 연결해 만들어진 새로운 튜플로 릴레이션 구성

  2. 순수 관계 연산자

  ① 셀렉트(Select) : 릴레이션 R에서 조건을 만족하는 튜플 반환

  ② 프로젝트(Project) : 릴레이션 R에서 주어진 속성들의 값으로만 구성된 튜플 반환

  ③ 조인(Join) : 공통 속성을 이용해 R과 S의 튜플들을 연결해 만들어진 튜플 반환

  ④ 디비전(Division) : 릴레이션 S의 모든 튜플과 관련 있는 R의 튜플 반환

 

 - 관계 해석 : 관계 해석은 튜플 관계 해석과 도메인 관계 해석을 하는 비절차적 언어

 

 2.4 논리 데이터 모델링 속성

  2.4.1 개체

   - 사물 또는 사건으로 정의되며 개체라고도 한다.

   - 피터 챈 모델(Peter Chen Model)에서는 개체를 사각형(□)으로 표시한다.

   - 까마귀발 모델(Crow's Foot Model)에서는 개체를 표 형식으로 표시한다.

 

  2.4.2 속성

   - 개체가 가지고 있는 요소 또는 성질이다.

   - 피터 챈 모델(Peter Chen Model)에서는 속성을 타원형(○)으로 표시한다.

   - 까마귀발 모델(Crow's Foot Model)에서는 속성을 표 내부으로 표시한다.

   - 속성명은 단수형으로 명명한다.

   - 개체명을 사용하지 않는다.

   - 속성이 필수 사항(Not Null)인지, 필수 사항이 아닌지(Null) 고려하여 작성

 

  2.4.3 관계

   - 두 개체 간의 관계를 정의

   - 피터 챈 모델(Peter Chen Model)에서는 관계는 마름모(◇)으로 표시한다.

   - 까마귀발 모델(Crow's Foot Model)에서는 속성을 다음 표와 같이 표시한다.

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

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

  - E-R 모델은 현실 세계에 존재하는 데이터와 그들 간의 관계를 사람이 이해할 수 있는 형태로 명확하게 표현하기 위해서 사용되는 모델

  - 요구사항으로부터 얻어낸 정보들을 개체, 속성, 관계로 기술한 모델

 

  2.5.2 개체-관계(E-R)모델 기호

구성 기호
개체 (사각형)
관계 (마름모)
속성 (타원)
다중 값 속성 (이중타원)
관계-속성 연결 - (선)

 2.6 정규화

  2.6.1 정규화 개념

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

 

  2.6.2 이상현상

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

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

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

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

 

  2.6.3 정규화 단계

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

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

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

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

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

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

 

 2.7 반 정규화

  2.7.1 반 정규화 개념

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

  - 비정규화, 역정규화로 불린다.

 

  2.7.2 반 정규화 특징

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

  2.7.3 반 정규화 기법

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

 

반응형