데이터베이스 설계 단계

반응형
  • 요구 사항 분석 및 정의
    • 개요
      • 요구 사항 분석 및 정의는 데이터베이스를 사용할 사용자가 필요로 하는 데이터 용도를 파악해서 정의하는 작업
    • 주요 개념
      • 요구 사항은 6하 원칙에 의거하여 가능한 한 하나의 주어,동사, 목적어로 기술
      • 용어를 사용함에 있어서 적절한 추상화 레벨을 선정
      • 요구 사항을 기술하는 문장에서 구체적인 용어를 사용해야 할 곳에 추상화 용어를 사용하는 경우가 있는데, 이때 상황에 적합한 용어 선택이 필요
      • 일반적인 개념 대신 필요 이상의 구체적인 용어 사용을 제한
      • 두리뭉실한 애매한 표현은 회피
      • 단순한 문제를 통해 요구 사항을 모델링 하는 표준 문장 형태를 사용
      • 동음이의어와 이음동의어에 대한 검증이 필요
      • 일관성 있는 용어 정의와 원활한 의사소통을 위한 용어 사전에 대한 정의가 필요
           
  • 개념적 설계
    • 개념적 설계의 개요
      • 개념적 모델에서는 현재 운영 중인 시스템의 비즈니스 체계나 새로운 요구 사항들을 바탕으로 가능한 한 모든 개체와 개체 간 관계, 주요 속성과 키들(기본키, 대체키, 외래키) 까지 추출
      • 요구 사항 분석 결과로 부터 개념적 모델을 유도하는 기본 원리는 추상화이며, 추상화는 복잡한 것들을 단순화하는 것을 의미
      • 개념적 모델을 적용하여 사용자 요구 사항을 데이터베이스의 개념적 스키마로 변경하는데, DBMS와 하드웨어 구조에 독립적임
      • 개념적 스키마는 이해가 쉽고 의사 소통이 원활할 수 있도록 데이터베이스의 모든 개체 타입, 속성, 관계, 제약 조건을 명시한 ERD로 표현
      • 데이터를 물리적으로 어떻게 저장할 것인지 자세히 규정하는 것보다는 데이터와 데이터들간의 관계를 기술하는 것이 중요
      • 이해 관계자들에게 데이터를 인식하는 방식에 대한 개념을 제공
      • 업무를 중심으로 데이터를 추출하여 개체와 업무적 연관성에 따른 개체 간의 연관 관계를 정의
      • 프로세스 분석과의 상호검증을 실시하여 상호보완적으로 작업할 필요(CRUD Matrix)가 있음
    • 개념적 설계의 주요 개념
      • 주요 활동 : 주제 영역 선정, 핵심 데이터 집합 파악, 관계 설정, 핵심 속성 파악, 식별자 선정 등
      • 설계 방식 : 하향식(Entity Analysis), 상향식(Attribute Synthesis), 외향식(Insideout), 혼합식(Mixed) 등
           
  • 논리적 설계
    • 논리적 설계의 개요
      • 논리적 설계는 현실 세계에서 발생하는 데이터 형태를 컴퓨터가 이해하고 처리할 수 있는 특정 데이터베이스 관리 시스템이 지원하는 논리적 데이터 구조(즉, 논리적 스키마)를 작성하는 과정(즉, 목표 DBMS 유형에 적합한 논리적 스키마 작성)
      • 개념적 스키마로부터 목표 DBMS가 처리할 논리적 스키마를 생성하는데, 논리적 모델에 따라 상이한 설계가 이루어짐(논리적 모델에는 계층형, 네트워크 형, 관계형, 객체형, 객체-관계형 등)
      • 논리적 모델은 대체로 관계형 데이터 모델을 사용하며, 개념적 스키마를 관계형 스키마로 대응 시키는 작업을 수행
      • 논리적 설계를 위해 먼저 특정 데이터베이스 관리 시스템을 선정하며,특정 데이터베이스 관리 시스템을 선정할 때 소프트웨어 획득 비용, 유지 비용, 데이터베이스 구축 및 전환 비용, 교육 및 운용 비용 등을 고려해야 함
    • 논리적 설계의 주요 개념
      • 논리적 모델로의 사상 규칙활동은 ER 모델의 개체 및 속성을 테이블 및 필드로 전화하고, 사용할 DBMS 특성에 따른 개조를 수행
      • 논리적으로 데이터의무결성 확보를 위해 정규화 활동을 진행
      • 정규화는 1NF ~ 5NF까지 정의하고 있지마, 현실적으로는 3NF가지 수행하는 것이 일반적
       
  • 물리적 설계
    • 물리적 설계의 개요
      • 논리적 설계로 생성된 논리적 데이터베이스 구조(즉, 논리적 스키마)로부터, 효율적이고 구현 가능한 물리적 데이터베이스 구조(즉, 물리적 스키마)를 설계하는 것
      • 특정 DBMS에 맞도록 논리적 스키마를 데이터베이스의 물리적 속성들로 구체화하는 단계인데, 물리적 속성들은 파일 구성의 형식과 내부적인 저장 구조를 포함
      • 데이터가 어떻게 컴퓨터에 저장되는지 세부사항을 명시하는 개념을 제공
    • 물리적 설계의 주요 개념
      • 데이터 저장 구조를 위한 레코드의 양식, 순서,저장 공간 등과 접근 경로를 위한 인덱싱, 클러스터링, 해싱 등의 설계를 포함
      • 응답 시간, 메모리 효율성, 트랜잭션의 수를 고려하여 최적화 방안을 강구하고, 데이터베이스 부하 및 시스템 성능 분석을 통해 지속적으로 일정 수준이상의 품질을 제공
      • 물리적 설계를 위해 특정 데이터베이스 관리 시스템뿐만 아니라 특정 하드웨어 및 운영체제의 특성도 고려해야 함
반응형