본문 바로가기

데이터베이스

[데이터베이스] 1. 논리 데이터저장소

반응형

일반적인 시스템 개발 절차

  • 일반적으로 시스템 개발은 데이터 관점과 프로세스 관점의 두가지로 진행되는데, 개념 모델링을 통해 개발 범위를 파악하고, 업무 중심의 분석(논리 데이터 모델링, 분석 모델링)단계를 거쳐 개발하고자 하는 환경을 고려한 설계(물리 데이터 모델링, 설계 모델링)단계로 구체화되어 개발(데이터베이스 구축, 애플리케이션 개발)단계로 진행된다.
  •  

시스템 개발 절차

데이터 모델링 개요

  1. 데이터 모델링 정의
    • 기업의 정보 구조를 실체(Entity)와 관계(Relation)를 중심으로 명확하고 체계적으로 표현하여 문서화하는 기법을 말한다.
  2. 데이터 모델링 목적
    1. 연관 조직의 정보요구에 대한 정확한 이해를 할 수 있다.
    2. 사용자, 설계자, 개발자 간에 효율적인 의사소통 수단을 제공한다.
    3. 데이터 체계 구축을 통한 고품질 S/W와 유지보수 비용의 감소효과를 기대할 수 있다.
    4. 신규 또는 개선 시스템의 개발 기초를 제공한다.
  3. 데이터 모델링 특성
    1. 데이터 중심 분석을 통한 업무 흐름 파악이 용이하다.
    2. 데이터 무결성을 보장할 수 있다.
    3. 데이터의 공유를 통한 중복을 제거하고 일관성 있는 정보를 제공받을 수 있다.

데이터 모델링 절차

  • 데이터 모델링은 개념 모델링, 논리 모델링, 물리 모델리을 통해 데이터베이슬르 구축하는 일련의 절차를 거쳐 진행된다.
  •  

데이터 모델링 절차

  1. 개념 데이터 모델링
    • 전사의 정보요건을 표현한 상위수준의 모델로서,
      1. 주요 Entity 타입, 기본 속성, 관게, 주요 업무기능 등을 포함한다.
      2. 모든 업무 영역을 포함하고, 주제 영역에 포함되는 중심 Entity 타입 간의 관계를 파악하여 주요 업무 규칙을 정의한다.
      3. 논리 데이터 모델의 기초가 된다.
  2. 논리 데이터 모델링
    • 개념모델로부터 업무 영역의 업무 데이터 및 규칙을 구체적으로 표현한 모델로서, 
      1. 모든 업무용 Entity 타입, 속성, 관계, 프로세스 등을 포함한다.
      2. 모든 업무 데이터를 정규화(Normalization)하여 모델링한다.
      3. 모든 업무 규칙과 관계를 완전하고 정확하게 표현한다.
      4. 성능 혹은 기타 제약 사항과는 독립적인 모델로서, 특정 DBMS로부터 독립적이라 할 수 있다.
  3. 물리 데이터 모델링
    • 설계단계에서 시스템의 설계적 및 정보 요건을 정확하고 완전하게 표현한 모델로서,
      1. 데이터베이스 생성을 위한 물리 구조로 변환한다.
      2. 시스템 설계 요건 반영을 위한 아래와 같은 Object를 추가한다.
        1. 설계용 Entity 타입
        2. 설계용 속성
      3. 설계와 성능을 고려한 조정을 수행한다.
        1. 적용 DBMS 특성 고려
        2. Entity 타입의 분리 또는 통합 검토
        3. 반정규화 (Denormalization)
        4. 관계의 해제
      4. 적용 DBMS에 적합한 성능조정을 수행한다
        1. 인덱스 추가 및 조정
        2. 테이블 스페이스 조정
        3. 인덱스 스페이스 조정

논리 데이터 모델링 개요

  1. 논리 데이터 모델링 정의
    1. 데이터베이스 개발 과정의 첫 단계로 전략수립 및 분석 단계에서 실시한다.
    2. 데이터 구조에 대한 논리적 정의단계로서 정확한 업무 분석을 통한 자료의 흐름을 분석하여 현재 사용 중인 양식, 문서, 장표를 중심으로 자료항목을 추출하여 추출된 Entity와 Attribute들의 Relation을 구조적으로 저의하는 단계이다.
      1. Entity (엔터티): 관리할 대상이 되는 실체
      2. Attribute (속성): 관리할 정보의 구체적 항목
      3. Relation (관계): Entity간의 대응 관계
  2. 논리 데이터 모델링 특성
    1. 논리적 데이터 모델링 시 요구사항을 충분히 수집하지 않으면 다음 단계의 요구사항 변겨에 따른 많은 비용이 발생한다.
    2. 모든 이해당사자들과 의사소통의 보조자료로서 E-R모델을 활용한다.
    3. 논리적 모델은 H/W나 S/W에 독립적이다.
  3. 정규화(Normalization)
    1. 정의
      • 중복성을 최소화하고 정보의 일관성을 보장하기 위한 개념
    2. 목적
      • 데이터 중복 배제로 데이터 관리 편의성 제고 및 자료 저장 공간의 최소화
      • 데이터 모형 단순화
      • 데이터 구조의 안정성 및 무결성 유지
      • 속성의 배열상태 검증
      • 엔터티와 속성의 누락 여부 검증 수단
      • 자료검색과 추출의 효율성을 추구
    3. 특징
      • 어떠한 관계구조가 바람직한 것인지, 바람직하지 못한 관계를 어떻게 분해하여야 하는지에 관한 구체적인 판단기준을 제공
      • 정규화된 데이터 모델은 정확성, 일치성, 단순성, 비중복성, 안정성 보장
    4. 유형
      1. 제 1 정규화
        • 반복되는 속성이나 Group 속성 제거
        • 새로운 실체와 1:N의 관계 추가
        • 모든 속성은 반드시 하나의 값을 가져야 함(반복형태가 있어서는 안됨)
      2. 제 2 정규화
        • 주식별자에 완전하게 종속되지 않는 속성 제거
        • 불완전 함수적 종속(Non Fully Dependency) 제거
        • 모든 속성은 반드시 UID 전부에 종속되어야 함(UID 일부에만 종속되어서는 안됨)
      3. 제 3 정규화
        • 비식별자에 종속되는 속성 제거
        • 주식별자에 이행종속(Transitivie Dependency) 되는 속성 제거
        • UID가 아닌 모든 속성 간에는 서로 종속될 수 없음(속성간 종속성 배제)
      4. 제 4 정규화
        • 실제로 거의 고려되지 않는 정규화
        • 주식별자에 다가종속(Multi-Valued Dependency)되는 속성을 두가지 이상 두지 않음
        • 2차 정규화된 테이블은 다대다 관계를 가질 수 없음
        • 어떠한 관계구조가 바람직한 것인지, 바람직하지 못한 관계를 어떻게 분해하여야 하는지에 관한 구체적인 판단기준을 제공
    5. 정규화 수준에 따른 장단점
      • 정규화 수준이 높을수록,
        • 장점
          1. 유연한 데이터 구축이 가능
          2. 데이터의 정확성이 높아짐
        • 단점
          1. 물리적 접근이 복잡
          2. 길이가 짧은 데이터 생성으로 과도한 조인 발생
  4. 모델 작성 기법
    1. Entity들은 정렬하여 배열한다.
    2. 업무흐름의 진행 순서와 관련된 Entity는 진행순서를 고려하여 좌에서 우, 상에서 하로 중심부에 배열한다.
    3. 중심에 배열된 Entity와 관계를 가진 Entity를 가까이 배열한다.
    4. 관계는 사선이 아닌 수직, 수평선을 사용한다.
    5. 공간을 활용하여 복잡해 보이지 않도록 배열한다.
    6. 교차선이 생기거나 관계선이 너무 길지 않도록 배열한다.
    7. 관계있는 Entity끼리 Grouping한다. 

 

 

참고자료

  • NCS학습모듈 - 데이터입출력구현
반응형