Chapter 4 데이터 모델링

  • 데이터 모델링과 데이터 모델의 개념

    • 데이터 모델링이란?
      • 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정
    • 추상화란?
      • 현실 세계에 존재하는 것을 컴퓨터의 데이터화하는 작업. ex. 코끼리 - 발이 4개, 코의 길이가 김, 몸무게는 1톤 이상..
    • 추상화 작업이 복잡하고 어렵기에 현실세계를 개념 세계로 옮기고 컴퓨터 세계로 옮기는 개념적 모델링논리적 모델링으로 나뉜다.
      • 개념적 모델링 : 현실 세계 -> 개념 세계 (중요 데이터를 추출한다.)
      • 논리적 모델링 : 개념 세계 -> 컴퓨터 세계 (데이터베이스에 저장할 구조를 결정하여 이 구조로 표현한다.)
    • 데이터 모델이란?
      • 데이터 모델링을 할 수 있도록 도와주는 도구
      • 데이터 구조, 연산, 제약조건으로 구성된다.
        • 데이터 구조 : 정적(변하지 않음)
        • 연산 : 동적 (계속 변경)
    • 예시 (아파트를 짓는 일)
      • 개념적 데이터 모델링 : 사람들이 원하는 아파트를 건설하기위해 사람들의 요구사항을 잘 반영한 설계도를 그리는 과정
      • 개념적 데이터 모델 : 설계도를 그릴 때 사용하는 벙법이나 도구
      • 논리적 데이터 모델링 : 설계도를 토대로 모델하우스를 만드는 과정
      • 논리적 데이터 모델: 모델하우스를 만들 때 사용하는 방법이나 도구
    • 다양한 데이터 모델
      • 개체-관계 모델 (개념적 데이터 모델 중 가장 많이 사용됨.)
      • 관계 데이터 모델 (논리적 데이터 모델중 가장 많이 사용됨.)

  • 개체-관계 모델

    • 개체-관계 모델이란?
      • 피터 첸이 1976년 제안
      • 개체와 개체 간의 관계를 이요해 현실 세계를 개념적 구조로 표현하는 방법
      • 모델링 후 그림으로 표현한 것 : 개체-관계 다이어그램 or E-R 다이어그램
      1. 개체
        • 현실 세계에서 조직을 운영하는 데 꼭 필요한 사람이나 사물과 같이 구별되는 모든 것.

      ex. 서점의 개념적 모델링: 고객 / 책 ex. 학교의 개념적 모델링: 학과나 과목(물리적으로 존재하지 않아도 가능)

      • 개체 타입: 객체이름[ex.고객] + 속성[ex. (이름, 주소, 연락처, 적립금)]
      • 개체 인스턴스: <정소화, 부천시 원미구, 02-000-000>
      • 개체 집합: 객체 인스턴스들의 묶음, 집합.

        • 개체와 속성은 파일 구조의 레코드와 필드와 대응된다.
          • 개체 타입 = 레코드 타입
          • 개체 인스턴스 = 레코드 인스턴스
      • E-R 다이어그램 : 네모
      1. 속성
        • 개체가 가지고 있는 고유의 특성.
          • 속성은그자체만으로는의미가없지만, 관련 있는 속성들을 모아 개체를 구성하면 중요한 의미를 표현할 수 있다.
        • E-R 다이어그램 : 타원
          • E-R 다이어그램을 공부하다가 보니 가족상담에서 배웠던 가계도가 떠오른다. 인간의 관계를 표현하는 방식을 데이터에게도 이용하는 것 같아서 흥미롭다.

      [예시와 함께 보는 속성의 분류]

      1. 속성 값의 개수에 따라
        1. 단일 값의 속성 : 고객(개체)의 이름/적립금 -> 한 명의 고객이 하나의 이름과 적립금 값을 가진다.
        2. 다중 값 속성 : 고객(개체)의 연락처 -> 한 명의 고객이 집 전화번호와 휴대폰 전화번호 등 여러 값을 가진다.
        • E-R 다이어그램
          • 단일 : 타원
          • 다중 : 이중 타원
      2. 속성의 의미 분해 가능성에 따라
        1. 단순 속성 : 의미를 더는 분해할 수 없는 것으로 적립금, 이름, 가격 등이 속한다.
        2. 복합 속성 : 의미를 분해할 수 있는 것으로 주소와 같이 도, 시, 동, 우편번호 등으로 의미를 나눌 수 있는 것을 말한다. +) 주소나 생년월일은 그저 전체 단위로 하나의 값을 입력할 경우 단순 속성으로 처리하기도 한다.
        • E-R 다이어그램
          • 단순 : X
          • 복합 : 속성에 속성을 가지치기한다.
      3. 속성의 기존 속성 값에서 유도하여
        1. 유도 : 할인율, 나이… 따로 저장할 필요없는 유도 속성
          • E-R 다이어그램 : 점선 타원
      4. 널 속성 - 아직 결정 되지 않았거나 모르는 값 - 공백이나 0과는 다르다.

      5. 키 속성 - 객체들의 인스턴스들을 식별하는데 이용되는 속성 - E-R 다이어그램 : 글자 밑 밑줄
  1. 관계 - 개체와 개체가 맺고 있는 의미 있는 연관성 * 개체 간 대응관계(=매핑) * ex. 구매(고객과 책 사이를 잇는 관계)

    • E-R 다이어그램 : 마름모

      1. 유형
        1. 1:1 일대일 관계(ex. 결혼 - 남편과 아내 개체)
        2. 1:n 일대다 관계(ex. 부서와 사원 개체)
        3. n:m 다대다 관계(ex. 고객과 책 개체)
      2. 참여 특성
        1. 필수/전체 참여 (E-R 다이어그램 : 이중선)
        2. 선택/부분 참여
      3. 종속성
        1. 약한개체 (E-R 다이어그램 : 이중 사각형)
        2. 강한개체 +) E-R 다이어그램 : 약한 개체가 강한 개체와 맺는 관계는 이중 마름모

  • 논리적 데이터 모델

    • 정의
      • 선택한 데이터베이스 관리 시스템에 따라 E-R 다이어그램을 표현된 개념적 구조를 데이터베이스에 저장할 형태로 표현한 데이터베이스의 논리적인 구조
      1. 관계 데이터 모델
        • 2차원 테이블 형태
      2. 계층 데이터 모델
        • 트리 형태
      3. 네트워크 데이터 모델
        • 그래프 형태

[참조] 데이터베이스개론 (저자: 김연희)