" 이 강의는 CLASS101+ 김경수 컨설턴트의 비전공자도 쉽게 배워 바로 써먹는 실무 활용 SQL 강의를 듣고 정리한 내용입니다. "

데이터 모델(Data Model)

건축물로 비유하면 설계도면이다. 현실세계를 데이터 베이스로 구축할 수 있도록 추상화한 것이다.기업의 비즈니스를 단순화 시켜서 표현한 것이다.

데이터 모델링

기업의 비즈니스를 약속된 표기법으로 표기하는 방법

데이터 모델링의 3단계

  1. 개념적 데이터 모델링
    핵심 엔터티와 핵심 엔터티들 간의 관계를 정의하는 과정이다. 추상화 수전이 높고, 업무 중심적이고 포괄적인 수준의 모델링이다. 핵심 비즈니스만 뽑아서 간단하게 표현한, 밑그림 그리는 단계라고 볼 수 있다. (간단하게 ERD에서 PK만 표시한 것이라고 이해하자.)
  2. 논리적 데이터 모델링
    모든 업무 요구사항 충족시키기 위해 엔터티, 속성, 관계, 식별자 등을 정의함으로써 데이터 구조 논리 구체화한 단계이다. 전체 비즈니스가 다 들어가야 한다. (ERD에서 속성들을 다 추가한 상태라고 이해하자)

  3. 물리적 데이터 모델링
    실제 데이터베이스에 이식할 수 있도록 성능, 저장 등의 물리적인 성격을 고려하여 데이터 베이스 저장 구조로 변환하는 과정이다. DBMS(ORACLE, MY-SQL 등)의 특성을 잘 고려하여 구체화시켰다.

데이터 모델링의 3요소

  1. 엔터티
    데이터베이스에 정보로서 저장될 수 있는 사람, 사물, 개념, 행위( 예: 고객, 상품, 프로모션, 결제)이다. 업무상 필요하고 관리하고자 하는 대상, 그 대상들 간의 동질성(공통적인 특징)을 지닌 개체이다.
    ① 슈퍼타입 엔터티 : 동질성을 크게 본거라고 보면 된다. 개체들에 대한 일반화 과정에서 생성되는 상위 집합이다. 여기선 개인고객, 법인고객 보다 위인 '고객'이 슈퍼타입이라고 볼 수 있다.
    ② 서브타입 엔터티 : 특정 기준에 따라 상세화된 개체들의 부분집합이다. 여기선 '개인고객', '법인고객'이라고 볼 수 있다.

  2. 관계
    엔터티-엔터티 논리적인 상호 연관성이다. 예를 들어 고객과 상품 사이의 구매하다가 관계라고 볼 수 있다. 이러한 관계는 1:1, 1:M, M:M관계로 두 엔터티 간의 관계에서 참여자의 수를 표현하는 관계 차수가 존재한다.

  3. 속성
    엔터티가 가지고 있는 특징이나 성질이다. 예를 들어 고객이란 엔터티에서 고객번호, 고객명, 고객구분코드, 성별구분코드가 속성이라고 볼 수 있다.

    ① 고객 : 엔터티
    ② 속성
    ③ 고객번호 : 주식별자
    ④ 고객명 : 보조식별자, 식별할 수 있지만 식별자로 두지 않는 속성

    ** 식별자
    엔터티의 각 개체 유일하게 식별할 수 있는 속성이다. 예를 들어 고객 엔터티에서는 고객번호이다.
    식별자는 유일성, 최소성, 불변성, 존재성이란 특징 필요하다.
    식별자는 다양한 종류가 있다.
    복합식별자는 각 속성을 조합한 식별자이다. 예) 고객엔터티의 고객번호+주문순번 등 이렇게 조합한 식별자이다.
    인조식별자는 우리가 식별해주기 위해 번호 부여한 식별자이다. 예) 주문 엔터티의 주문번호, 고객엔터티의 고객번호
    본질식별자 : 원래 쓰고 있던 속성 값들 N개를 더해 식별자로 둔다면 그건 본질식별자이다.
    예) 주문일자 + 고객번호 + 주문순번

+ Recent posts