DB - 데이터 모델링

박근수·2024년 2월 3일

DB

목록 보기
10/10

데이터 모델링

데이터 모델은 데이터베이스의 골격을 이해하고 그 이해를 바탕으로 SQL 문장을 기능과 성능적인 측면에서 효율적으로 작성하기 위함

데이터 모델링 정의

  • 정보 시스템을 구축하기 위해, 해당 업무에 어떤 데이터가 존재하는 지 또는 업무가 필요로 하는 정보는 무엇인지를 분석하는 방법
  • 기업 업무에 대한 종합적인 이해를 바탕으로 데이터가 존재하는 업무 규칙에 대하여 참, 거짓을 판별할 수 있는 사실을 데이터에 접근하는 방법, 사람, 전산화와 별개의 관점에서 이를 명확하게 표현하는 추상화 기법
    • 정보 시스템을 구축하기위한 데이터 관점의 업무 분석 기법
    • 현실세계의 데이터에 대한 약속된 표기법에 의해 표현하는 과정
    • 데이터베이스를 구축하기 위한 분석, 설계의 과정

모델링 정의

  • 비즈니스 업무에서 업무에 필요한 부분을 약속한 표기법을 표시하는 것
  • 다양한 정의
  • 현실세계를 추상화한 것

모델링 특징

  • 추상화 : 현실세계를 일정한 형식에 맞추어 표현. 다양한 현상을 일정한 양식인 표기법에 따라 표현
  • 단순화 : 복잡한 현실세계를 약속된 규약에 의해 제한된 표기법이나 언어로 표현하여 쉽게 이해할 수 있도록 하는 개념
  • 명확화 : 누구나 이해하기 쉽게 하기 위한 대상에 대해 애매모호함을 제거하고 정확하게 현상을 기술

정보시스템을 구축하는 과정에서 계획, 분석, 설계 단계에서 업무를 분석하고 설계할 때, 이후 구축, 운영 단계에서 변경과 관리할 때 사용

시스템 대상이 되는 업무를 분석하여 정보시스템을 구성하는 과정에서 업무의 내용과 정보시스템의 모습을 적절한 표기법으로 표현한 것을 모델링이라고 한다면, 모델링은 크게 3가지 관점으로 구분

  • 데이터 관점 : 업무가 어떤 데이터와 관련 있는지, 데이터 간의 관계는 무엇인지에 대해서 모델링 하는 방법
  • 프로세스 관점 : 실제하고 있는 업무는 무엇인지, 무엇을 해야 하는지를 모델링하는 방법
  • 데이터와 프로세스의 상관 관계 : 업무가 처리하는 일의 방법에 따라 데이터는 어떻게 영향을 받고 있는 지를 모델링하는 방법

데이터 모델링 3단계

개념적 데이터 모델링

추상화 수준이 높고 업무 중심적이며 표과절인 수준의 모델링 진행

논리적 데이터 모델링

시스템을 구축하고자 하는 업무에 대한 key, 속성, 관계등을 정확하게 표현

물리적 데이터 모델링

실제로 데이터베이스에 이식할 수 있도록 성능, 저장 등 물리적인 성격을 고려하여 설계

보통 개념적 모델링과 논리적 모델링을 같이 진행

데이터 모델링 표기법

데이터 모델에대한 표기법은 1976년 피터첸이 E-R(Entity-relationship model) 이라는 표기법을 만듦

  • 엔터티를 사각형, 관계를 마름모, 속성을 타원형으로 표현

Entity

  • 객체 실체
  • 사람, 장소, 물건, 사건, 개념 등의 명사에 해당
  • 저장이 되기 위한 어떤 것
  • 업무에 필요하고 유용한 정보를 관리하기 위한 집학적인 것

    ex : "학생"이란는 엔터티는 학번, 이름, 학점 등의 속성으로 특징 지을 수 있음

Entity 특징
  • 해당 업무에 필요하고 관리하고자 하는 정보이어야함
  • 유일한 식별자에 의해 식별이 가능해야함
  • 두 개 이상의 영속적으로 존재하는 인스턴스의 집합이어야함
  • 엔터티는 업무 프로스세에 의해 이용되어야 함
  • 엔터티는 반드시 속성이 있어야 함
  • 엔터티는 다른 엔터티와 한 개 이상의 관계가 있어야 함

속성

속성은 업무에서 필요로 하는 인스턴스에서 관리하고자 하는 의미상 더이상 분리되지 않는 최소의 데이터 단위

관계

상호 연관성이 있는 상태
엔터티의 인스턴스 사이의 논리적인 연관성으로서 존재의 형태로서나 행위로서 서로에게 연관성이 부여된 상태

관계 표기법
  • 관계명 : 엔터티가 관계에 참여하는 형태, 두개의 관계가 있음. (관계 시작점, 관계 끝점)
  • 관계 차수 : 1:1(ONE TO ONE) 1:M(ONT TO MANY), M:M(MANY TO MANY
  • 관계 선택사양 : 필수 관계, 선택 관계
profile
개발블로그

0개의 댓글