?? ????? ??? Entity Relationship Diagram

Document Sample
?? ????? ??? Entity Relationship Diagram Powered By Docstoc
					    -세션1–

데이터모델링 및 DB설계
 핵심기법 30題 세미나

 - 핵심실무기법 -


   제니시스기술㈜
 김창갑 수석컨설턴트
 Ckk@genesis.co.kr
목     차



    1. 실무데이터의 데이터중심분석기법

    2. 업무규칙의 모델규칙매핑기법

    3. 함수종속과 정규화기법

    4. 데이터모델 검증기법

    5. 프로세스모델과의 연관분석기법




                          2
1. 실무데이터의 데이터중심분석기법
핵심실무기법1 : 데이터중심분석기법의 이해
▣ 모델링의 접근방식
 ▷ 컴퓨터세계(Computer World)를 중심으로한 모델링 방식
  □ 프로세스를 중심으로 모델을 작성하며 구조적 분석/설계기법이 대표적
  □ DFD, DD, Mini Spec, Structure Chart, Module Spec 등을 사용하여 모델 작성
  □ 입력->처리->출력 형태의 Batch 처리방식의 시스템을 묘사하는데 효과적
 ▷ 현실세계(Real World)를 중심으로한 모델링 방식
  □ 객체를 중심으로 모델을 작성하며 객체지향 분석/설계기법이 대표적
  □ Object Diagram, Class Diagram, Sequence Diagram, Interaction Diagram 등을 사용하여 모델 작성
  □ 인간/기계/타시스템간의 상호작용 방식의 시스템을 묘사하는데 효과적
 ▷ 업무세계(Business World)를 중심으로한 모델링 방식
  □ 데이터를 중심으로 모델을 작성하며 정보공학이 대표적
  □ Entity Relationship Diagram을 사용하여 데이터모델 작성
  □ 데이터베이스시스템의 데이터 구조를 묘사하는데 효과적

▣ 정보공학에서 데이터 분석/설계
 ▷ 정보전략계획(Information Strategies Planning)
  □ Mission->Value ->Vision ->Strategies ->CSF -> KPI로 이어지는 경영전략 분석
  □ 주제영역을 중심으로 정보구조 (데이터아키텍처) 정의
 ▷ 업무영역분석(Business Area Analysis)
  □ 개체(Entityt) 발견, 개체의 속성 도출 및 개체간의 관계 설정
  □ 개념모델 (ERD사용) 도출
 ▷ 업무시스템설계(Business System Design)
  □ 목표DBMS에 맞는 데이터모델설계
  □ (예) 개념모델 -> Relational Data Model에 Mapping (FK설정) 하여 논리모델 도출
  □ (예) 논리모델 -> 물리모델 전환 (색인/뷰 설정)
                                                                                     3
1. 실무데이터의 데이터중심분석기법
핵심실무기법2 : 실무데이터로부터 속성추출

                  거    래 명    세 표
 일련번호                                                데이터의 특성별 분류(속성유형기준)
                              등록번호
                          공
 199    년     월    일          상 호      성 명
                              사업장                  ● 기초속성 : 실제적(자연적)으로 존재하는
                          급
                  귀하          소재지                           데이터
                              업 태      종 목           거래명세표) 거래명세, 년월일,
                          자
 아래와 같이 계산합니다.                전화번호                           공급받는자, 공급자,
  합 계 금 액                                                    상호, 성명, 사업장소재지,
 (공급가액+세액)                                                   업태, 품목, 규격, 수량,
                                                             단가, 비고
 품     목    규 격 수 량 단 가   공 급 가 액    세 액     비 고
                                                   ● 설계속성 : 원래 존재하지 않지만 필요에
                                                            따라 설계자가 만든 데이터
                                                     거래명세표) 일련번호, 등록번호,
                                                             전화번호
                                                   ● 추출속성 : 다른 자료로부터 계산 등의
                                                            가공처리를 통해 만들어진
                                                            데이터
                                                     거래명세표) 공급가액, 세액, 합계금액




                                                                               4
1. 실무데이터의 데이터중심분석기법
핵심실무기법3 : 실무데이터로부터 실체발견

                 거       래   명 세    표

 일련번호
                                 등록번호
                             공                         데이터의 특성별 분류(실체자격기준)
 199   년     월       일             상 호     성 명
                             급     사업장
                 귀하                소재지                 ● 실체의 자격 – 대표 값을 가질 것
                                   업 태     종 목           (Uniqueness), 대표 값외의 속성을 가질 것.
                             자
 아래와 같이 계산합니다.                   전화번호                    사용자가 DB에 저장 관리하려고 할 것.
                                                          다른 실체와 관계가 있을 것.
  합 계 금 액
 (공급가액+세액)
                                                       ● 실체 - 거래명세, 공급자, 사업장, 품목,
 품 목       규 격 수 량 단 가        공 급 가 액    세 액     비 고          거래명세내역

                                                       ● 실체별 속성
                                                         - 거래명세) 거래명세,일련번호,년월일,
                                                                 공급받는자
                                                         - 공급자) 등록번호,상호,성명,사업장소
                                                                재지,업태,종목,전화번호
                                                         - 사업장) 사업장번호,사업장명,소재지
                                                         - 품목) 품목번호,품목명
                                                         - 거래명세내역) 품목번호,규격,수량,
                                                                    단가,비고




                                                                                          5
1. 실무데이터의 데이터중심분석기법
핵심실무기법4 : 실무데이터로부터 개념모델 도출
                                                        < 거래명세표의 논리적 ERD >

                                                       공급자        사업장     품   목
                  거   래 명     세 표
                                                       등록번호      사업장번호    품목번호
 일련번호
                              등록번호                     상   호     사업장명     품 목 명
                          공
 199   년      월       일       상 호      성 명             성   명     소재지
                          급   사업장                      소 재 지
                  귀하          소재지                      업   태
                          자   업 태      종 목
                                                       종   목
 아래와 같이 계산합니다.                전화번호                     전화번호
  합 계 금 액
 (공급가액+세액)
 품 목       규 격 수 량 단 가    공 급 가 액    세 액     비 고


                                                               거래명세        거래명세내역
                                                               거래명세일련번호    품목번호
                                                                년월일           규격
                                                                공급받는자         수량
                                                                              단가
                                                                              비고


                                                         엔티티(파일, 테이블) 명
                                                   표
                                                          식별자(키) 영역
                                                   시
                                                           비식별자 영역


                                                                                    6
2. 업무규칙의 모델규칙매핑기법
핵심실무기법5 : 업무규칙과 모델 작성

▣ 업무규칙(Business Rules)의 이해
 ▷ Business Process는 절차(Procedure)와 제약조건(Condition)을 포함
  □ 절차는 프로세스의 시작에서 종료에 이르는 과정을 기술
  □ 제약조건은 IF THEN ELSE 구문으로 표현 가능
  □ Business Process는 절차에 따라 진행하되 제약조건을 만족하여 함
  □ 이러한 제약조건을 업무규칙(Business Process)이라고 부름
 ▷ 업무규칙의 사례
  □ “상호가 없는 거래명세표는 무효다.”
  □ “상호가 없어도 이름, 주소, 전화번호가 있으면 유효한 거래명세표다.”
  □ “세액은 공급가액의 10%로 산출한다.”
  □ “공급자의 소재지와 사업장의 소재지가 동일한 경우 단가  95%로 산출한다.”

▣ 업무규칙과 모델의 관계
 ▷ 개체의 발견
  □ (예) 개인공급자와도 거래하는 경우 공급자는 개인과 기업으로 분화
 ▷ 속성의 분석
  □ (예) 세액을 공급가액의 10%로 산출하는 경우 세액을 별도로 보존할 가치가 있는가?
 ▷ 관계의 설정
 ▷ 트리거 설정




                                                          7
2. 업무규칙의 모델규칙매핑기법
핵심실무기법6 : 업무규칙과 데이터무결성

  공급자          사업장      품 목
                                                               참조무결성규칙
 PK등록번호       PK사업장번호   PK품목번호           부모실체   관 계   자식실체
                                                              입 력        삭 제
 상   호
 성   명         사업장명     품 목 명            공급자          거래명세   Dependent   Restrict
 소 재 지         소 재 지
 업   태
 종   목                                                거래명세   Dependent   Cascade
 전화번호                                    거래명세
                                                      내역




                                          설명)
                                          ● 입력규칙(자식실체기준)
                                            Dependent: 대응되는 부모실체가
                                               있는 경우에만,
           거래명세            거래명세내역
                                               자식실체의 입력/수정을 허용
                        PK 거래명세일련번호 FK    ● 삭제규칙(부모실체기준)
          PK 거래명세일련번호   PK 품목번호     FK      Restrict: 대응되는 자식실체가 없는
                                               경우에만 부모실체의 삭제를 허용
          년월일                 규격            Cascade: 부모실체의 삭제를 항상
          공급받는자               수량                허용하고 동시에 대응되는
          공급자등록번호FK           단가                자식실체의 모든 건을 자동 삭제
          공급자사업장번호FK          비고




                                                                                    8
3. 함수종속과 정규화기법
핵심실무기법7 : 함수종속의 이해

▣ 기본키의 선정
 ▷ 슈퍼키
  □ 속성의 집합
  □ Entity 집합에서 특정 Entity를 유일하게 식별
    • 관계스킴 R의 모든 적법한 관계 r(R)에서, r에 있는 투플 t1과 t2 의 모든 쌍에 대하여
    • t1  t2 이고 t1[K]  t2[K]이라면 R의 부분집합 K는 슈퍼키
 ▷ 후보키
  □ 가장 작은 슈퍼키
  □ 슈퍼키의 어느 부분집합도 슈퍼키가 될 수 없는 경우

▣ 함수종속의 개념
 ▷ 함수종속의 정의
  □ X  R이고 Y  R이며, 모든 적법한 관계 r(R)에서, r에 있는 투플 t1과 t2 의 모든 쌍에 대하여
    • t1[X] = t2[X]인 경우 t1[Y] = t2[Y]라면
    • 함수종속 X  Y 성립
  □ 슈퍼키의 개념을 일반화
    • 함수종속 K  R이 성립한다면
    • K는 R의 슈퍼키
 ▷ 함수종속의 사용
  □ 적법한 관계집합에 대하여 제약조건을 명세화
  □ 관계가 주어진 함수종속의 집합하에서 적법한지 검증
 ▷ F의 총합 F+ (closure of F)
  □ F는 함수종속의 집합
  □ F+ 는 F에 의해 논리적으로 암시된 모든 함수종속의 집합
  □ 암스트롱의 공리를 반복 적용하여 F+ 도출 가능
                                                                     9
3. 함수종속과 정규화기법
핵심실무기법8 : 바람직한 설계의 기준

▣ 설계의 목적
 ▷ 불필요한 데이터 중복의 방지
 ▷ 쉬운 정보검색

▣ 바람직하지 못한 설계의 문제점
 ▷ 정보의 반복
  □ 데이터를 저장할 수 있는 공간을 낭비
  □ 데이터 수정 연산이 복잡
 ▷ 표현할 수 없는 정보 존재
 ▷ 정보의 손실

▣ 바람직한 데이터베이스 설계
 ▷ 종속성 보존 분해
  □ 관계스킴을 분해하면서 적법하지 못한 관계가 생성되는 것을 방지
     • 주어진 함수종속을 모두 만족하지 못하는 경우
 ▷ 무손실 Join 분해
  □ 관계스킴 R의 함수종속집합 F에서, R을 분해한 R1과 R2에 대하여 다음 함수종속의 하나가 F+에 속하는 경우
     • R1  R2  R1
     • R1  R2  R2
 ▷ Boyce-Codd Normal Form (BCNF)
  □ 만일 X  R이고 Y  R이며, 형식 X  Y의 관계스킴 R의 모든 함수종속에서 다음 중 하나를 만족하는 경우
     • X  Y는 당연한 함수종속 (즉 Y  X)
     • X는 스킴 R을 위한 수퍼키
 ▷ 제3정규형
  □ BCNF의 선택조건에 “ •Y는 R의 후보키에 포함” 추가
                                                              10
3. 함수종속과 정규화기법
핵심실무기법9 : 정규화 사례
  ※ 비 정규형

     제품                          주문품목

      제품코드   제품명      재고수량     주문번호      수출내수      고객코드             사업자        고객우선
                                                                                       주문수량          제품코드
                                          구분                        등록번호        순위

       110     TV     12,505   94002         X           A031                   0        5,000        110
                               94073         N           C010   1234567890      3           20        110
       165    VTR     16,606   94028         N           C238                   2           55        165
                               94101         X           A031   0987654321      0        7,700        165
       850   Aircon     795    94007         X           Y211                   1          500        165
                               94036         X           Y211                   1          350        850

                                                                    반복그룹
  ※ 1차 정규형

     제품                          주문품목
                                                                                             고객우선
      제품코드   제품명      재고수량         제품코드          주문번호 수출내수            고객코드       사업자                    주문수량
                                                       구분                        등록번호         순위

       110     TV     12,505           110       94002          X       A031                     0          5,000
                                       110       94073          N       C010    1234567890       3             20
       165    VTR     16,606           165       94028          N       C238                     2             55
                                       165       94101          X       A031    0987654321       0          7,700
       850   Aircon    795             165       94007          X       Y211                     1            500
                                       850       94036          X       Y211                     1            350




                                                                                                                    11
3. 함수종속과 정규화기법
핵심실무기법10 : 정규화 사례

  ※ 2차 정규형


         제품                                           주문품목
             제품코드            재고수량                          제품코드     주문번호    주문수량
                    제품명
                                                           110      94002   5,000
             110       TV    12,505
                                                           110      94073      20
             165      VTR    16,606                        165      94028      55
             850    Aircon     795                         165      94101   7,700
                                                           165      94007     500
                                                           850      94036     350




                    주문번호     수출내수     고객코드     사업자               고객우선
                              구분               등록번호               순위
                    94002      X       A031                        0
                    94073      N       C010   1234567890           3
                    94028      N       C238                        2
                    94101      X       A031   0987654321           0
                    94007      X       Y211                        1
                    94036      X       Y211                        1




                                                                                    12
3. 함수종속과 정규화기법
핵심실무기법11 : 정규화 사례

  ※ 3차 정규형


             제품                          주문품목
                                         제품코드       주문번호        주문수량
     제품코드     제품명        재고수량
                                          110        94002          5,000
     110         TV      12,505           110        94073             20
     165        VTR      16,606           165        94028             55
     850      Aircon        795           165        94101          7,700
                                          165        94007            500
                                          850        94036            350



             주문                                     고객

     주문번호      고객코드               고객코드      수출내수         사업자         고객우선
                                             구분          등록번호         순위
     94002        A031
                                  A031          X                           0
     94073        C010
                                  C010          N      1234567890           3
     94028        C238
                                  C238          N      0987654321           2
     94101        A031
                                  Y211          X                           0
     94007        Y211
     94036        Y211




                                                                                13
3. 함수종속과 정규화기법
핵심실무기법12 : 정규화 사례
 ※ 4차 정규형
                                           주문품목
    제품


                                            제품코드       주문번호    주문수량
    제품코드     제품명      재고수량
                                             110       94002   5,000
     110       TV     12,505                 110       94073      20
                                             165       94028      55
     165      VTR     16,606                 165       94101   7,700
                                             165       94007     500
     850     Aircon      795                 850       94036     350




    주문                         고객                                             국내고객

                                      수출내수     고객우선                            사업자
     주문번호    고객코드              고객코드                                고객코드
                                       구분       순위                             등록번호

     94002    A031             A031    X           0                   C010   1234567890
     94073    C010             C010    N           3                   C238   0987654321
     94028    C238             C238    N           2
     94101    A031             Y211    X           1
     94007    Y211
     94036    Y211




                                                                                           14
4. 데이터모델 검증기법
핵심실무기법13 : 데이터모델의 검증

▣ 검증단계
 ▷   그룹체크
 ▷   사용자 확인
 ▷   규칙
 ▷   실체품질 검증
 ▷   속성품질 검증
 ▷   관계품질 검증
 ▷   완전성 검증

▣ 그룹체크
 ▷ Business rule에 의한 완전한 이해와 E-R Modeling에 대한 완전한 이해를 가진 숙련된
    분석가가 최선의 답이다.
 ▷ Project 팀 내의 동료끼리 상호 모델을 Check하고 오류를 찾아 본다.

▣ 사용자 확인
 ▷ 정기적으로 사용자에게 모델을 제시하면서 확인한다.
 ▷ 사용자를 참여시켜 Error와 누락된 것을 check한다.

▣ 완전성 검증
 ▷ 사용자 INTERVIEW, 서류양식, 장표, 보고서 등과 비교점검한다.
 ▷ 향후 입력, 출력보고서가 모두 적용될 수 있는지 점검한다.




                                                               15
4. 데이터모델 검증기법
핵심실무기법14 : 논리모델의 핵심성공요소

▣ 분석단계의 Data Modeling(산출물: Logical ERD)과 설계단계(산출물: Physical ERD)의 구분
 ▷ Business Rule이 같기 때문에 분석단계의 ERD(Entity로 표시)와 설계단계의 ERD(Table로 표시)의
   근본구조는 달라지지 않는다.
 ▷ 분석단계의 ERD에서 약 20%내외만이 수정이 되어 설계단계의 ERD로 바뀐다.
 ▷ 설계단계에서는 성능(Performance)을 고려한 Summary, Duplicate, Processing Table이 만들어진다.

▣ 실체관계도(ERD) 작성 및 검증요령
 ▷ 현재의 장표, 양식, 업무 메뉴얼, 보고서, 사용자인터뷰 내용등에서 Entity를 추출한다.
    (정보관리대상, 유일한 키의 존재, 키 이외의 속성 가질 것)
 ▷ 실체사이의 Business Rule을 분석하여 그들 사이의 관계를 찾는다. (관계유형)
 ▷ Dynamic flow (업무흐름도에 의존 :주문→생산지시→제품입고 → 출고 →납품)
 ▷ Static flow(데이터 자체의 관계 : BOM Type, Super-Sub Type)
 ▷ Transient flow(시간이 가면 변하는 것 : 정산-미정산 분개의 확정 시점)
 ▷ 향후 입력화면, 출력보고서가 현재의 ERD에서 추측될 수가 있고 계산하기 편한가 등의 기준으로
   실체관계도를 검증한다.

▣ 실체(Entity, Table)를 분해한 후 합칠 수 있다.
 ▷ 실체관계도 작성시 핵심실체(독립실체, 코드실체 : kernel Entity)를 구별함
 ▷ Sub-system만 제작한 다음 나중에 통합할 수 있다.




                                                                           16
4. 데이터모델 검증기법
핵심실무기법15 : 논리모델의 핵심성공요소 2

▣ 실체관계도를 제대로 못 그리는 이유
 ▷ Business Rule에 숨어있는 Data를 분석해내지 못했고 그들 Data사이의 관계를 분석하지 못했기 때문
 ▷ ER 방법론 미 숙지
 ▷ Business Rule해독 90%, ER방법론 숙지 10%

▣ 관계형 데이터베이스 모델링은 속성(Attribute)끼리의 Logical Model이다..
 ▷ 속성(Attribute끼리의 Business Rule → Relationship
 ▷ 물리적 의미(Physical meaning) → Relational Key(외부 키)의 정의

▣ 그 밖에
 ▷ 무결성 원칙(Integrity Rule) → Business Integrity Rule.
 ▷ 관계형 데이터베이스는 속성(Attribute)접근 방식이지 Pointer접근방식(COBOL문의 OCCURS,
  Redefine)이 아님, 즉 같은 TYPE의 속성은 중복되면 안 된다.




                                                                  17
4. 데이터모델 검증기법
핵심실무기법16 : 데이터모델 수정
 제품                                    주문


         제품명      재고수량                 제품코드        주문번호    고객코드      주문수량
  제품코드

                                         110       94002   A031      5,000
  110      TV     12,505                 110       94073   C010         20
                                         165       94028   C238         55
          VTR     16,606                 165       94101   A031      7,700
  165
                                         165       94007   Y211        500
         Aircon      795                 850       94036   Y211        350
  850




                           고객                                         국내고객

                                  수출내수      고객우선                         사업자
                           고객코드                               고객코드       등록번호
                                   구분        순위
                           A031    X           0              C010     1234567890
                           C010    N           3              C238     0987654321
                           C238    N           2
                           Y211    X           1




                                                                                    18
4. 데이터모델 검증기법
핵심실무기법17 : 식별자 검증


  리뷰대상           확인방법                     조치방안            체크


         식별자는 유일한가?                식별자를 조정한다.             필수
  식별자의
   유일성


           식별자를 구성하고 있는 속성의          설계형 식별자를 사용한다.       필수
         수가 7개를 초과하는가?                                    필수
             선택적이거나 길이가 가변적인         필수이고 고정된 속성을
         속성을 사용하지는 않는가?            사용한다.                  필수
           기본속성이나 설계속성을            l 추출속성은 사용하지 못한다.
  복합식별   사용하였는가?                     40 바이트(Byte)를 초과하지   선택
    자     식별자의 길이가 40 바이트(Byte)를   조정한다.
   크기의   초과하는가?                        복수 식별자는 업무적인
   적정성     복수 식별자는 삭제하였는가?         요소로 분해하여 별도의           필수
                                   속성으로 추가하고, 이들의
                                   조합을 식별자로 지정한다.




                                                               19
5. 프로세스모델과의 연관분석기법
핵심실무기법18 : CRUD 매트릭스의 작성




                           20
 5. 프로세스모델과의 연관분석기법
 핵심실무기법19 : CRUD 매트릭스의 검증
리뷰대상               확인방법                          조치방안              체크
기본프로세스   엔티티타입을 생성하는 프로세스가 없다.        프로세스가 누락되었을 경우 프로세스를 추       필수
   와                                  가한다.
 엔티티타입                                업무영역에 속하지 않은 경우 해당업무영역
  매트릭스                                으로 이동한다..
         엔티티타입을 생성하는 프로세스가 하나이        중복된 프로세스의 병합을 고려한다.          선택
         상 존재한다
         엔티티타입을 삭제하는 프로세스가 존재하        프로세스가 누락되었을 경우 프로세스를 추       선택
         지 않는다.                       가한다.
                                      업무영역에 속하지 않은 경우 해당업무영역
                                      으로 이동한다
         엔티티타입을 삭제하는 프로세스가 하나이        중복된 프로세스의 병합을 고려한다.          선택
         상 존재한다
         엔티티타입이 생성만 되고 사용한는곳이 없       누락된 프로세스를 추가한다               필수
         다
         엔티티타입이 7개이상의 프로세스에서 사        엔티티타입이 너무크다. 정규화를 이용한다.      선택
         용되고 있다
         기본프로세스가 사용하는 엔티티타입이 존        누락된 엔티티타입을 도출한다.             필수
         재하지 않는다.
         기본프로세스가 엔티티타입을 조회만 한다.       액션블럭(Action Block)으로 대체한다.   선택
         한 개의 프로세스가 여러 액션(C,R,U,D)을   프로세스를 분해한다.                  선택
         수행한다
                                                                   21

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:82
posted:9/11/2012
language:Unknown
pages:21