ERD 작성

반응형
  • ERD 작성 절차
    ERD 작성은 주제 영역(Subject Area)선정, 핵심 개체 선정, 관계 설정, 핵심 속성 정의, 식별자(Identifier) 설정의 순으로 이루어지고, 각 단계별 결과를 검토하는 보완 활동을 진행하여 완성함
    • 주제 영역 설정
      • 데이터와 업무 활동 간의 상호 관계를 파악하여 정보 수집 소스(장표, 서식, 보고서, 기본 시스템, 온라인, 배치 프로그램 등)로 부터 관리될 데이터의 집합을 크게 분류하여 영역을 선정
      • 주제 영역으로 선정한 영역에 대한 검증은 확장 가능한 형태로 명칭이 적용되었는지, 해당 주제 영역에 속해 있는 데이터 정보가 대표성을 가지고 있는지, 사용자가 쉽게 이해할 수 있는 용어를 사용하는지 등을 확인하여 보완
      • 설계 방식은 크게 하향식(EA; Entity Analysis), 상향식(AS;Attribute Synthesis), 외향식(Inside-out), 혼합식(Mixed)으로 나눔
설계방식 특징 설명
하향식 기능
  • 개체부터 찾고 다음에 속성을 찾는 방식
  • 데이터 간의 의미를 파악하는 작업을 하향식으로 진행
  • 설계 단계 : 업무 처리 규정, ERD, FDD(Functional Dependency Diagram)의 순서로 진행
    • 개체 결정
    • 개체 간의 관계 결정
    • 개체의 키 속성 결정
    • 개체의 키가 아닌 속성 결정
      예) 사람 → 사람(이름, 나이, 성별)
   장점
  • 부작용이 적음
   단점
  • 설계자가 초기에 모든 개념을 알고 높은 추상화의능력을 보유하고 있어야 함
상향식 기능
  • 어떤 데이터 항목이 관리할 필요가 있는 개체인지 또는 속성으로 분류해야 하는지에 대한 체계적인 통계분석에 의해 수행하는 상향식 방식
  • 데이터베이스 요소 하나 하나를 속성으로 보다가 특정 기준에 따라 속성들을 개체로 정의
  • 설계 단계 : 업무 처리 규정, FDD, ERD의 순서로 진행
    • 개체와 속성 선정
    • 데이터의 관계 정의
    • 정보 구조를 그림 형태로 표현
    • 검증을 위한 정보 구조의 설명
      예) (이름,나이,성별) → 사람
   장점
  • 초기 설계자의 부담이 적음
   단점
  • 처음부터 너무 복잡하게 늘어 놓으며, 속성과 개체로의 판단 기준이 모호하여 객관성에 문제가 제기될 수 있음
  • 기본 설계를 실행 한 후 재구성이 필요
외향식 기능
  • 상향식의 특별한 경우로서 가장 중요하거나 확실한 개념(즉, 개체와 속성)부터 정의하고, 그것과 연관된 개념을 발견하여 확장시켜 나가는 방식
   장점
  • 인지한 개념과 가깝고 새로운 개념의 발견이 쉬움
   단점
  • 마지막에 가서야 전체적인 모습이 생성
  • 전체적 뷰를 초기에 알 수 없음
혼합식 기능
  • 하향식과 상향식의 장점을 살려 요구 사항의 통제된 분할을 허용하는 방식
  • 복잡한 응용 도메인을 부분 집합으로 분할하여 추후 별도로 고려
  • 응용 도메인의 주요 개념들의 틀이 되고 분할들 사이의 연결을 내포할 수 있는 골격 스키마(Skeleton Schema)를 생성
  • 추후 골격 스키마를 기반으로 상향식으로 통합
   장점
  • 응용 도메인이 복잡할 때 요구 사항을 관리할 수 있는 단위로 분할하여 각각을 별개로 고려
  • 분할과 정복 방법의 적용이 가능
   단점 설계 초기에 골격 스키마에 대한 신중한 결정이 필요
  • 상기한 4가지 방식이 항상 동일한 결과를 도출하지는 않으므로, 요구 사항이나 확장성 등을 고려하여 어느 방식이 안정적인 설계가 될 것인지를 판단하는 것이 필요
  • 하향식은 응용 도메인에 대해 완전한 개념을 가지고 잘 조직된 환경에서 설계에 대한 충분한 지식을 보유하고 있을 때 유리하고, 상향식은 비공식적이고 조직이 체계적이지 못할 때 유리함
  • 현실적으로는 대체로 유사 사업에 대한 수행 경험을 갖고 있는 경우가 보통이므로, 대부분의 설계자가 직관적인 설계 기법을 선호하여 하향식 방식이 주로 사용됨
  • 핵심 개체(Entity) 선정
    • 개체 타입은 특정 업무 영역에서 관리하고자 하는 데이터 집합을 의미
    • 핵심(Central 또는 Kernel) 개체란 단위 주제 영역 내에서 가장 핵심이 되는 개체로, 일반적으로 단위 주체 영역과 동일한 이름을 가짐
    • 데이터 집합간의 관계에 따른 개체 타입 분류
종류 설명
독립 중심 개체
(Independent)
  • 다른 개체와는 독립적으로 존재하는 개체
  • 일반적으로 공유 대상이 되는 중심 개체
의존 중심 개체
(Dependent)
  • 다른 개체가 있어야 존재할 수 있는 개체
의존 특성 개체
(Characteristic)
  • 특정 개체의 특징을 설명해 주는 개체
  • 항상 독립 중심 개체의 데이터에 의존
의존 연관 개체
(Associative)
  • 2개 이상의 개체에 의존적인 개체
  • M:N 관계를 해소하면서 나타내는 개체, 즉 M:N의 관계를 1:N의 관계로 풀면서 발생되는 관계
  • 핵심 개체의 대상으로는 독립 중심 개체, 의존 중심 개체 타입 속함
  • 개체 정의 절차
    • 업무 기술서,장표, 인터뷰 정리 문서 등에서 명사 구분
    • 개념이 불분명한 것이나 광범위한 것 제거
    • 개체 타입의 특성이나 속성값 제거
    • 포괄적인 업무 프로세스에 해당하는 명사 제거
    • 중복되는 명사 제거
    • 누락된 개체 타입이 존재하는 지 유추
  • 개체 명명 규칙
    • 가능한 한 현업 업무에서 사용하는 용어 사용
    • 약어는 가능하면 사용하지 않음
    • 단수 명사 사용
    • 모든 개체의 이름은 유일해야 하며, 개체 생성 의미대로 이름을 부여함
  • ERD에서 개체 배치 방법
    • 업무를 진행하는 순서에 따라 왼쪽에서 오른쪽으로, 위에서 아래로 배치
    • 다른 개체와 많은 관계를 형성하는 개체를 중앙에 배치하고, 다른 개체는 주위에 배치
  • 관계 설정
    • 관계는 업무적 연관성에 따라 개체 간에 갖는 관계
    • 관련 업무에 따라 발생하는 데이터 간의 양방향 업무 규칙을 표현
    • 관계도 집합이며, 분석 관점에서 정의하기에 따라 여러 종류의 관계가 다양하게 존재
    • 관계 결정 순서
      • 개체 결정
      • 관계 파악
      • 각 관계를 평가(관리의 필요성 여부)
      • 관계 타입 결정
      • 관계 이름 결정과 제도(Drawing) 실시
      • 관계 한정자(Qualifier) 결정
      • 문서화를 통해 일련의 활동 수행
    • 관계의 유형 : 1:1, 1:N, M:N, 재귀적 관계
  • 핵심 속성 정의
    • 정보를 구성하는 최소 단위의 데이터 항목 중 개체와 관계의 특징을 표현하는 요소로, 원자 단위, 유일성, 독립성을 보유해야 함
    • 식별자로 사용될 속성 및 개체의 주유 속성이 핵심 속성의 대상
    • 개념적 설계 단계에서는 핵심 개체에서 관리할 중요 속성을 2~5개 정도의 핵심 속성으로 도출하는 것이 일반적
    • 논리적 설계에서 핵심 속성 이외에 비즈니스 요건을 고려하여 전체 속성을 도출
    • 정의한 속성 정의가 적절한지 검증하는 방법
검증 방법 내용
최소 단위 분할
(원자 단위 검증)
  • 집합 개념의 속성은 원자 단위로 분할
  • 최소 단위까지 분할한 후 필요에 따라 통합
유일한 값 존재 검증
  • 여러 값을 가지거나 반복되는 속성은 제거
  • 동일 속성이 반복되는 경우에 별도의 개체로 분할
가공값 유무 판단
(추출값 검증)
  • 버렸다는 가정하에 쉽게 재현이 가능하면 추출값이고, 재현이 어려우면 원천값으로 판단
관리 수준 상세화 검토
  • 속성이 자기 소유의 속성을 가지면 개체
  • 현재의 만족보다는 미래의 관리 수준을 감안하여 확장성에 대한 고려가 필요
  • 식별자 설정
    • 식별자란 한 개체에서 각각의 인스턴스를 유일하게 구분할 수 있는 속성 또는 속성들의 집합
    • 식별자는 후보키,기본키,대체키,외래키 로 구분
    • 기본키
      • 업무에서 자주 이용되는 속성(들)을 지정하며, 속성값의 길이가 가변적인 것이거나 속성값이 자주 변하는 것은 적당하지 않음
      • 기본키를 구성하는 속성의 수는 적게 하는 것이 좋음
      • 기본키로 정의한 속성(들)에는 반드시 속성값이 입력되어야 함
           
  • ERD 작성시 주의 사함
    • 순환(Cycle)을 이루는 관계 중 하나를 제거하여 순환을 없애주어야 함
      데이터의 일관성과 개체에 대한 소유권(Ownership)을 명확히 할 수 있게 해줌
    • 파생(Derived) 속성은 효율성을 저하시키거나 갱신의 어려움 등 오버헤드를 유발하므로 검증이 필요
      • 패생(Derived) 속성
        기존의 속성값을 이용해 새롭게 유도해 낼 수 있는 속성
    • 스키마를 통합하는 과정에서 다른 서브셋으로 부터 유도가 가능한 암시적 서브셋은 생략이 필요
    • 데이터 무결성을 확보할 수 있도록 설계해야 함
         
  • ERD와 관련된 개념/논리 설계 활동의 차이
단계 개념적 설계 논리적 설계
주요 개체 결정 대부분의 개체 식별 모든 개체 검토 및 확정
개체간 관계 결정 대부분의 개체간의 관계 설정 모든 개체간의 관계를 설정하고 참조 무결성 검토 및 확정
키의 결정 개체의 기본키, 대체키, 후보키 등을 선정 모든 기본키, 대체키 확정
외래키 결정 개체의 외래키 선정 개채의 외래키 확정
키 처리의 규칙 결정
  •  
키 처리의 규칙 결정
속성 추가
  •  
모든 속성 저으이
정규화
  •  
기준에 따른 정규화 실행
도메인 경정
  •  
업무에 따라 결정

 

반응형