Database 10. 데이터모델링

업데이트:
2 분 소요

Data Modeling

엔티티(Entity) 개념

  • 사람, 장소, 물건, 사건, 개념 등의 명사에 해당함.
  • 업무상 관릭 필요한 관심사에 해당
  • 저장이 되기 위한 어떤 것(Thing).
  • 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것(Thing)

엔터티와 인스턴스

  • 엔터티는 인스턴스의 집합

엔터티의 특징

  • 업무에서 필요하고 관리하고자 하는 정보이어야 함.
  • 유일한 식별자에 의해 식별이 가능해야 함.
  • 인스턴스의 집합이어야 함 ( 두개 이상 )
  • 업무 프로세스에 의해 이용되어야 함.
    • CRUD
  • 반드시 속성이 있어야 함.
  • 다른 엔터티와 최소 한개 이상의 관계가 있어야 함.

엔터티 분류

1) 유무형에 따른 분류

유형

  • 물리적인 형태가 있고, 지속적으로 활용되는 엔터티
  • 업무로부터 엔터티를 구분하기가 가장 용이함
    예) 사원, 물품, 강사

개념

  • 물리적인 형태가 존재하지 않고 개념적 정보로 구분 되는 엔터티
    예) 조직, 보험상품 

사건

  • 업무를 수행함에 따라 발생되는 엔터티
  • 비교적 발생량이 많음
    예) 주문, 청구, 미납

2) 발생시점에 따른 분류

기본

  • 업무에 원래 존재하는 정보로써 독립적으로 생성이 가능한 엔터티
    예) 고객, 상품

중심

  • 기본 엔터티로부터 발생되고, 그 업무에 있어서 중심적인 역할을 하는 엔터티
    예) 주문, 배송

행위

  • 두개 이상의 부모 엔터티로부터 발생되고, 자주 내용이 바뀌거나 데이터량이 증가
    예) 주문변경이력 

엔터티의 명명

  • 가능하면 현업업무에서 사용하는 용어를 사용한다.
  • 가능하면 약어를 사용하지 않는다.
  • 단수 명사를 사용한다.
  • 모든 엔터티에서 유일하게 이름이 부여되어야 한다.
  • 엔터티 생성 의미대로 이름을 부여한다.

속성(Attribute)의 개념

  • 업무에서 필요로 한다.
  • 의미상 더 이상 분리되지 않는다.
  • 엔터티를 설명하고 인스턴스의 구성요소가 된다.

속성의 표기법

  • 속성 명을 기재하고
  • 해당 속성이 식별자인지 아닌지를 표시
  • 해당 속성이 필수 값(*)인지 선택값(o)인지 표시
  • 속성 표기법은 엔터티 내에 이름을 포함하여 표현하면 됨.

alt

alt

속성의 특징

  • 해당 업무에서 필요하고 관리하고자 하는 정보
  • 주 식별자에 함수적 종속성을 가져야 함.
  • 하나의 속성에는 한개의 값만을 가짐.

속성의 분류

특성에 따른 분류

기본 속성

  • Basic Attribute
  • 업무분석을 통해 바로 정의한 속성

alt

설계 속성

  • Designed Attribute
  • 원래 업무상 존재하지 않지만 설계를 하면서 도출해내는 속성

alt

파생 속성

  • Derived Attribute
  • 다른 속성으로 부터 계산이나 변형이 되어 생성되는 속성

alt

엔터티 구성방식에 따른 분류

  • 엔터티를 식별할 수 있는 속성들 PK (Primary Key) 속성
  • 다른 엔터티와의 관계에서 포함된 속성을 FK (Foreign Key) 속성
  • 엔터티에 포함되어 있고 PK, FK에 포함되지 않은 속성을 일반속성이라고 함.
    PK 속성     :   부서(부서 번호), 사원(사원 번호) 
    FK 속성     :   부서(부서 번호)
    일반 속성   :   부서(부서명), 사원(사원명, 우편번호, 주소, 전화번호)

alt

도메인 (Domain)

  • 각 속성은 가질 수 있는 갑스이 범위를 정의할 수 있는데 이를 그 속성의
    도메인(Domain) 이라고 함.
  • 학생이라는 엔터티가 있을 때 학점이라는 속성의 도메인은 0.0 ~ 4.5 사이의
    실수 값이며, 주소라는 속성은 길이가 20자리 이내인 문자열로 정의
  • 각 속성은 도메인 이외의 값을 갖지 못함.

속성의 명명

  • 해당업무에서 사용하는 이름을 부여한다.
  • 서술식 속성명은 사용하지 않는다.
  • 약어 사용은 가급적 제한한다.
  • 전체 데이터모델에서 유일성 확보하는 것이 좋다.

댓글남기기