[DB] 7. 데이터 모델링

    7. 데이터 모델링

    데이터 모델링: 추상화 과정을 통해 현실세계의 개념을 데이터베이스에 표현하는 과정.

    • 현실세계 -> 개념적 모델링 -> 논리적 모델링 -> 데이터베이스

    • 데이터 모델링의 관점에서

      1. 요구사항 수집 및 분석
      2. 설계
        1. 개념적 모델링: 핵심 Entity를 도출하여 ERD 작성.
        2. 논리적 모델링: 각 개념을 구체화(릴레이션 스키마), ERD-RDB 모델 매핑, 상세 속성 정의, 정규화...
        3. 물리적 모델링: DB개체 정의(CREATE TABLE), 테이블(도메인..등) 및 인덱스 등 설계
      3. 데이터베이스 구현
    • 개념적 데이터 모델

      • E-R(개체-관계) 모델 (Diagram)
        • 개체-사각형, 관계-마름모 속성-타원형으로 표현.
        • 개체와 개체들 사이의 관계로 표현
    • 논리적 데이터 모델

      • 관계, 네트워크, 계층 데이터 모델
    • ER 모델

      • 개체와 개체 타입
        • 개체(entity)
          • 사람이나 사물과 같이 식별되는 모든 것이 개체.
          • 데이터베이스의 레코드와 대응
          • 다른 개체와 구별되는 이름 및 고유한 특성이나 상태(속성)을 하나 이상 가지고 있다.
          • 개체 < 개체 타입 < 개체집합
          • ER 다이어그래에서 개체는 직사각형으로 표현
          • 개체 타입의 유형
            • 강한 개체: 독립적으로 존재 할 수 있는 개체
            • 약한 개체: 독립적 존재x, 반드시 상위 개체 타입을 가짐.
        • 속성(attribute)
          • 개체가 가진 성질, 데이터베이스의 필드와 대응
          • 속성 분류
            • 속성 값의 개수
              1. 단일 값 속성: 값을 하나만 가짐. ex) 고객의 이름, 적립금..
              2. 다중 값 속성: 값을 여러개 가질 수 있음. ex) 책의 저자, 고객의 카드
            • 의미의 분해 가능성
              1. 단순 속성: 더는 분해할 수 없는. ex) 책의 이름, 가격..
              2. 복합 속성: 분해 가능. ex) 주소, 생년월일
            • 기존 속성 값에서 유도
              1. 유도 속성: 다른 기존 속성에 의해 유도되어 결정되는 속성.
                • 값은 별도 저장되지 않는다. ex) 책의 판매가격은 가격과 할인율 속성으로 결정됨.
          • ERD에서 속성 분류별 표현
            1. ERD에서 속성은 타원으로 표현한다.
            2. 키(key)는 속성 이름에 밑줄을 긋고, 키를 갖지 못하는 약한 개체는 식별자 아래에 점선을 긋는다.
            3. 다중값 속성, 여러 값을 갖는 속성은 이중 타원.
            4. 복합 속성, 여러 속성으로 구성된 속성은 큰 타원 아래 작은 타원으로 연결한다.
            5. 유도 속성, 다른 속성에 의해 유도가 가능한 속성은 점선 타원으로 표현한다 1.

    댓글