[DB/SQLD] 데이터모델링

1 분 소요

데이터 모델링

현실세계를 데이터베이스로 표현하기 위해서 추상화한다. 데이터 모델링은 고객의 업무 프로세스를 추상화하고, 소프트웨어를 분석, 설계하면서 점점 더 상세해진다.

데이터 모델링 특징

  • 추상화(Abstraction) : 공통적인 특징을 찾고 간략하게 표현.
  • 단순화(Simplification) : 복잡한 문제를 피하고 누구나 이해할 수 있게 표현.
  • 명확화(Clarity) : 의미적 해석이 모호하지 않고 명확하게 한가지 의미로해석되어야 한다.

데이터 모델링 단계

  1. 개념적 모델링(Conceptual Data Modeling)
    • 중요한 부분을 위주로 모델링하는 단계로 업무적 관점에서 모델링하며 기술적인 용어는 가급적 사용하지 않는다.
    • 엔터티와 속성을 도출하고 개념적 ERD(Entity Relationship Diagram)을 작성한다. - 추상화 수준이 가장 높은 수준의 모델링
  2. 논리적 모델링(Logical Data Modeling)
    • 개념적 모델링을 논리적 모델링으로 변환하는 작업.
    • 식별자를 도출하고 관계, 속성 등을 모두 표현하고 필요한 모든 릴레이션을 정의.
    • 정규화를 수행해 데이터 모델의 독립성을 확보, 재사용성을 높인다.
  3. 물리적 모델링(Physical Modeling)
    • 구축할 데이터베이스 관리 시스템에 데이터베이스를 실제로 구축. 즉 테이블, 인덱스, 함수 등을 생성.
    • 성능, 보안, 가용성을 고려해 구축.

데이터 모델링 관점

  • 데이터 : 비즈니스 프로세스에서 사용하는 데이터를 의미. 구조 분석과 정적 분석이 있다.
  • 프로세스 : 비즈니스 프로세스에서 수행하는 작업을 의미한다. 시나리오 분석, 도메인 분석, 동적 분석이 있다.
  • 데이터와 프로세스 : 프로세스와 데이터 간의 관계를 의미한다. CRUD(create, read, update, delete)분석.

데이터 모델링을 위한 ERD(Entity Relationship Diagram)

데이터 모델링의 표준으로 사용되고 있다. 엔터티와 엔터티 간의 관계를 정의하는 모델링 방법이다.

ERD 작성 절차

  1. 엔터티를 도출하고 그린다.
  2. 엔터티를 배치한다.
  3. 엔터티 간의 관계를 설정한다.
  4. 관계명을 서술한다.
  5. 관계 참여도를 표현한다.
  6. 관계의 필수 여부를 표현한다.