2장 데이터 입출력 구현

2021. 4. 28. 10:16자격증/정보처리기사 실기

제2장 데이터 입출력 구현

1.데이터저장소

(1) 논리 데이터 모델링

분석 → (설계 → 개념 → 논리→물리) → 구현

  • 사용자들의 요구 사항을 분석하여 DB에 저장될 정보를 파악하고, 필요한 정보들 간의 연관 관계를 모형화하는 과정이다.
  • 데이터 모델링 절차
  • 요구 조건 분석
    • 사용자가 원하는 데이터베이스의 용도를 파악하는 것
    • 사용자의 요구 조건을 수집하여 분석하고 정형적인 요구 조건 명세를 만든다.
  • 개념적 모델링(h/w 독립적)
    • 요구사항을 이해하기 쉬운 형식으로 간단히 기술
    • 개념 스키마 모델링과 트랜잭션 모델링을 병행적으로 수행(스키마=구조)
    • 개념 스키마 모델링:데이터의 조직과 표현을 중심으로 한 데이터 중심 설계
    • 트랜잭션 모델링(처리*흐름 중심 설계) : 응용을 위한 데이터 처리에 주안점을 둔 처리 중심 설계
  • 논리적 모델링(h/w 독립적)
    • 개념적 설계에서 만들어진 구조를 구현 가능한 data 모델로 변환하는 단계
    • 목표하는 DBMS가 구현되어 있는 환경과 특성까지는 고려하지 않고 해당 DBMS가 지원하는 데이터 모델에 적합하게 변환한다. 즉 DBMS에 종속적이다.
    • 앞 단계에서 만들어진 정보 구조로부터 목표 DBMS가 처리할 수 있는 스키마를 생성한다. 이 스키마는 요구 조건 명세를 만족해야되고, 무결성과 일관성 제약 조건도 만족하여야한다.
  • 물리적 모델링(DBMS H/W 종속적)
    • 논리적 데이터베이스 구조를 내부 저장 장치 구조와 접근 경로 등을 설계
    • 물리적 데이터베이스의 기본적인 데이터 단위는 저장레코드 이다.
    • 파일이 동일한 타입의 저장 레코드 집합이라면, 물리적 데이터베이스는 여러 가지 타입의 저장 레코드 집합이라는 면에서 단순한 파일과 다르다.
    • 물리적 데이터베이스 구조는 데이터베이스에 포함될 여러 파일 타입에 대한 저장 레코드의 양식, 순서, 접근 경로, 저장 공간의 할당 등을 기술한다.
  • 데이터베이스 구현
  • 논리적 데이터 독립성 :DB의 논리적 구조의 변화와 대해 응용프로그램들이 영향을 받지 않는 능력을 말한다. 논리적 구조 바뀜→ 응용프로그램 변화X 그러나 응용프로그램변화→ 논리적구조변화X 안됨
  • 3단계 스키마
    • 스키마란 데이터베이스의 구조(개체, 속성, 관계)에 대한 정의와 이에 대한 제약 조건 등을 기술한 것으로 컴파일 되어 데이터 사전에 저장한다.→ 시스템 카탈로그 = 데이터사전 = 메타데이터의 모음
    • 어떤 입장에서 데이터베이스를 보느냐에 따라 스키마는 다르게 될 수 밖에 없다.(ANSI/SPARC 3 Level Architecture - 외부스키마, 개념스키마, 내부스키마)
    1.외부 스키마
    • 가장 바깥 쪽 스키마로, 전체 데이터 중 사용자가 사용하는 한 부분에서 본 구조 (사용자가 무엇을 사용하느냐에 따라 다름) - 서브스키마, 뷰 라고도 함. 사용자의 관점
    • 사용자 개개인이 보는 자료에 대한 관점과 관련
    • 사용자 논리 단계(user logical level)
    2.개념 스키마
    • 논리적 관점에서 본 구조로 전체적인 데이터 구조(일반적으로 스키마라 불림)
    • 범 기관적 입장에서 데이터베이스를 정의 (기관 전체의 견해) 전사적
    • 조직 논리 단계(community logical level)
    • 모든 데이터 개체, 관계, 제약조건, 접근권한, 무결성 규칙, 보안정책 등을 명세
    3.내부 스키마
    • 물리적 저장장치 관점에서 전체 데이터베이스가 저장되는 방법 명세
    • 실제로 저장되는 내부 레코드 형식, 저장 데이터 항목의 표현 방법, 인덱스 유무, 내부 레코드의 물리적 순서를 나타냄.

(2)논리 데이터저장소

  1. 논리 데이터 모델링과 관련하여 데이터 구조로 만들어진 데이터 저장소이다.
  2. 데이터베이스의 논리적 구성속성(attribute):개체의 특성이나 상태를 기술하는 것이다.(단독으로 존재하기는 어렵다)
  3. 관계(relationship):개체간 또는 속성간의 상호 작용
  4. 개체(entity):표현하려는 유형, 무형 정보의 대상으로 존재하면서 서로 구별이 되는 것으로, 하나 이상의 속성으로 구성된다.

2.정규화☆☆

(1)정규화의 개념

  • 개념
    • 이상 문제를 해결하기 위해 어트리뷰트 간의 종속관계를 분석하여 여러개의 릴레이션으로 분해하는 과정.
    • 릴레이션의 애트리뷰트, 엔티티, 관계성을 파악하여 데이터의 중복성을 최소화하는 과정
    • 논리적 설계 단계에서 수행
    • 정규화를 통해 릴레이션을 분해하면 일반적으로 연산시간이 증가한다.(성능저하가능)
    • 정규화 과정은 주어진 릴레이션 변수들의 모임을 더 바람직한 어떤 형태로 점차 유도해 가는 과정으로 특징지을 수 있다. 이 과정은 가역적(reversible)이다.
  • 목적
    • 데이터베이스 연산의 여러 가지 이상을 없애기 위함이다.
    • 데이터베이스의 물리적 구조나 물리적 처리에 영향을 주는 것이 아니라, 논리적 처리 및 품질에 큰 영향을 미친다.
  • 이상(anomaly)
    • 어트리뷰트간에 존재하는 여러 종속관계를 하나의 릴레이션에 포함함으로 인해 발생하는 현상.(삽입이상, 삭제이상, 갱신이상)
    1. 삽입이상: 원하지 않는 정보를 강제 삽입해야 하는 경우와 불필요한 데이터가 함께 삽입되는 경우이다.
    2. 삭제이상:튜플을 삭제함으로써 유지되어야 하는 정보까지도 연쇄 삭제(triggered delete)되는 정보의 손실(loss of information)을 삭제이상이라한다.
    3. 갱신 이상: 중복된 튜플 중에서 일부의 attribute만 갱신시킴으로써 정보의 모순성(inconsistency)이 생기는 현상이다.
    • 스키마 변환의 원리
      1. 정보의 무손실 표현
      2. 데이터 중복성 감소
      3. 분리의 원칙
      4. 종속성 보존(원래있던 종속은 그대로 이상현상유발 종속성제거)
    • 함수적 종속(functional dependency)
      1. 어떤 릴레이션에서 속성들의 부분집합을 X,Y라 할 떄, 임의 튜플에서 X의 값이 Y의 값을 함수적으로 결정한다면, Y가 X에 함수적으로 종속되었다고 하고, 기호는 X→Y로 표기한다.
      2. 함수 종속 다이어그램(FD diagram)

(2)정규화 체계

  • 제1정규형(NF)
    1. 모든 정규화 릴레이션은 제 1정규형에 속한다.
    2. address와 같은 복합속성(composite attribute)은 원자적 도메인이 아니다.
  • 어떤 릴레이션 R에 속한 모든 도메인이 원자값(atomic value)만으로 되어있다면, 제 1 정규형(1NF)에 속한다.
  • 제 2정규형(2NF)
    1. 1NF이면서 2NF가 아닌 릴레이션은 프로젝션을 하여 의미상으로 동등한 두 개의 2NF로 분해할 수 있고, 자연조인(natural join)을 통해 아무런 정보손실 없이 원래의 릴레이션으로 복귀가 가능하다.
    2. 2NF에서는 함수종속 관계 A→B, B→C이면 A→C가 성립하는 이행적 함수종속이 존재한다. 이는 이상현상의 원인이 된다.
  • 어떤 릴레이션 R이 1NF이고 키(기본)에 속하지 않은 애트리뷰트는 모든 기본키의 완전함수종속이면, 제 2 정규형(2NF)에 속한다.
  • 제 3정규형(3NF)
  • 어떤 릴레이션이 R이 2NF이고 키(기본)에 속하지 않은 모든 애트리뷰트들이 기본키에 이행적 함수종속이 아닐 때 제 3 정규형(3NF)에 속한다.
  • 보이스/코드 정규형(BCNF)BCNF는 1NF, 2NF, 기본키, 이행 종속 등의 개념을 이용하지 않고 정의될 수 있기 때문에 개념적으로는 3NF보다 간단하다.
  • BCNF는 제3NF보다 강력하다고 볼 수 있고 그래서 이 BCNF를 "강한 제 3 정규형(Strong 3NF)"이라고도 한다.
  • 릴레이션 R의 모든 결정자(deteminant)가 후보키(candidate key)이면 릴레이션 R은 보이스/코드 정규형(BCNF)에 속한다.
  • 제 4정규형(4NF)
  • 릴레이션 R에 MVD A→>B 가 존재할 때 R의 모든 애트리뷰트들도 또한 A에 함수종속(즉, R의 모든 애트리뷰트 X에 대해 A→X 이고 A가 후보키)이면 릴레이션 R은 제 4정규형에 속한다.
  • 제 5정규형(5NF)
  • 릴레이션 R에 존재하는 모든 조인 종속이 릴레이션 R의 후보키를 통해서만 성립된다면 릴레이션 R은 제 5 정규형에 속한다.

[정규화 과정]

(3)반정규화(De-Normaliztion)=비정규화

  1. 반정규화의 정의
  • 정규화되어 있는 것을 정규화 이전 상태로 만드는 것을 말한다.(성능 상승)
  • 많은 조인에 의해 성능이 저하되거나 데이터 조회시 디스크 I/O량이 많을 떄 부분적인 반정규화를 고려한다.
  1. 반정규화 절차
  • 반정규화 대상조사
  • 반정규화 대상을 다른 방법으로 처리 유도 할 수 있는지 검토
  • 반정규화 적용

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

스크럼 기법  (0) 2022.04.04
소프트웨어 생명주기  (0) 2022.04.04
4장 서버프로그램 구현  (0) 2021.04.28
3장 통합 구현  (0) 2021.04.28
1장 요구사항확인  (0) 2021.04.10