Develop

데이터 모델링(Data Modeling) 본문

백엔드/DBMS

데이터 모델링(Data Modeling)

230801 2024. 11. 13. 23:42

데이터 모델링

현실 세계의 데이터를 논리적이고 체계적으로 표현해 데이터베이스에 저장하고 활용할 수 있도록 구조화 하는 과정

 

특징

  • 추상화(Abstraction) - 현실 세계를 간략하게 표현한다.
  • 단순화(Simplification) - 누구나 쉽게 이해할 수 있도록 표현한다.
  • 명확성(Clarity) - 의미가 명확하게 해석되어야 하고 한 가지 의미를 가져야 한다.

단계

  1. 개념적 모델링(Conceptual Data Modeling)
    -추상화 수준이 가장 높은 모델링 기법이다.
    -현실 세계를 추상화 해서 데이터를 큰 그림에서 정의한다.
    -복잡하게 표현하지 않고 중요한 부분을 위주로 모델링하고, 기술적인 용어는 가급적 사용하지 않는다.
    -엔티티(Entity), 속성(Attribute), 관계(Realationship)을 정의 한다. -> ERD(Entity Relationship Diagram) 작성
  2. 논리적 모델링(Logical Data Modeling)
    -개념적 모델을 더 구체화하여 데이터베이스로 구현할 수 있도록 구조화 한다.
    -식별자를 도출하고 필요한 모든 릴레이션을 정의한다.
    -정규화를 통해 중복 데이터 제거 및 데이터 무결성을 확보하고, 재사용성을 높인다.

  3. 물리적 모델링(Physical Modelig)
    -논리적 모델을 실제 DBMS에 맞게 구현한다.
    -테이블, 컬럼, 데이터타입, 인덱스 등을 정의한다.
    -성능, 보안, 가용성을 고려하여 데이터베이스를 구축한다.

 

ERD 작성 절차

  1. 엔터티를 도출하고 그린다.
    -업무에서 관리해야하는 엔터티를 도출한다.
  2. 엔터티를 배치한다.
    -중요한 엔터티를 왼쪽 상단에 배치한다.
  3. 엔터티 간의 관계를 설정한다.
  4. 관계명을 서술한다.
    -엔터티 간의 행위나 존재가 있는지 표현한다.
    -ex) 계좌를 개설한다. 주문을 발주한다.
  5. 관계 참여도를 표현한다.
    -관계 참여도는 한개의 엔터티와 다른 엔터티간의 참여하는 관계수를 의미한다.
    -ex) 고객이 여러개의 계좌를 개설할 수 있다.
  6. 관계의 필수여부를 표현한다.
    -필수는 반드시 존재해야 하는 것 이다.
    -ex) 모든 고객은 반드시 하나의 계좌를 개설해야 한다.

 

ERD Tool

 

3층 스키마(3-Level Schema)

  • 데이터베이스 설계와 관리에서 데이터 독립성을 제공하기 위해 정의된 구조이며, 각 계층을 뷰(View)라고도 한다.
  • 데이터베이스를 3개 계층으로 나눠 사용자와 데이터베이스 간의 상호작용을 체계적으로 관리할 수 있게 한다.
  • 데이터의 독립성을 확보하면 데이터의 복잡도 감소, 중복 제거, 사용자 요구사항 변경에 따른 대응력 향상, 관리 및 유지보수 비용이 절감된다.
  1. 외부 스키마(External Schema)
    -사용자 관점에서 데이터를 정의한다.
    -전체 데이터 중 일부만 접근 가능(A는 A의 주문내역만 볼 수 있음)
    -관련 데이터베이스의 뷰를 표시한다.
    -응용 프로그램이 접근하는 데이터베이스를 정의한다.

  2. 개념 스키마(Conceptual Schema)
    -조직 전체의 관점에서 데이터를 정의한다.
    -통합 데이터베이스 구조이다.
    -엔티티, 속성, 관계 등을 포함한다. (고객테이블, 주문테이블, 고객과 주문간의 관계정의)

  3. 내부 스키마(Internal Schema)
    -물리적 저장 관점에서 데이터를 정의한다.
    -데이터의 실제 저장방식, 레코드 구조, 필드 정의, 파일구조, 인덱스 등을 다룬다.
    -저장 효율성과 성능 최적화가 목적이다.

 

 

'백엔드 > DBMS' 카테고리의 다른 글

맥에서 MyCLI 설치하기  (1) 2024.08.22
mac에서 mysql 설치하기  (2) 2024.07.17