Computer Science/Database :: 데이터베이스

[데이터베이스] 데이터의 세계, 데이터 모델링

HJPlumtree 2021. 3. 24. 13:37

데이터의 세계

3중 세계관

실세계 -> 개념의 세계 -> 컴퓨터의 세계

개체 -> 개체 타입 -> 레코드

사실 -> 추상적 표현 ->(데이터 모델링)논리적 구조

 

 

개체(Entity)의 개념

유용한 정보를 저장 관리하기 위한 것

사람, 장소, 물건, 사건 개념 저장 물질일 필요 없다

 

지속적인 관심을 가지고 있어야 하는 대상

동질성을 지닌 개체 또는 행위의 집합

 

 

정의의 조건

  1. 우리가 관리하고자 하는 것인가
  2. 집합의 개념인지
  3. 개체들 간의 동질성이 있는지
  4. 다른 개체와 확연히 구분되는 독립성을 가졌는가
  5. 개체가 행위를 한 집합인지

 

개체의 성질

  1. 업무에 필요하고 관리하고자 하는 정보
  2. 식별자에 의해 식별이 가능한가
  3. 영속적으로 존재하는 개체
  4. 업무 프로세스에서 그 개체를 반드시 이용
  5. 속성을 포함해야 된다
  6. 하나 이상의 다른 개체와 관계를 가져야 된다.

 

 

데이터 모델링

현실 세계를 단순화 시켜서 표현

 

정보 시스템에서의 모델링

계획/분석/설계: 업무를 분석하고 설계

구축/운영: 변경과 관리 목적

 

세가지 관점

  • 데이터 관점: 업무가 어떤 데이터와 관련있는가(What)
  • 프로세스 관점: 업무가 실제로 하는 일은 무엇인지, 무엇을 해야 하는지(How)
  • 데이터와 프로세스의 상관 관점: 처리하는 방법에 따라 어떻게 영향을 받나(Interaction)

 

정보 공학 모델링과 객체지향 모델링 차이

  • 정보 공학 모델링: 데이터와 프로세스 분리해서 모델링
  • 객체 지향 모델링: 데이터와 프로세스 동시에 모델링

 

데이터 모델이 제공하는 것

  • 현재 또는 원하는 모습은 가시화
  • 시스템 구조와 행동을 명세화
  • 시스템 구축 틀 제공
  • 우리가 결정한 것을 문서화
  • 필요 없는 부분 숨기는 방법으로 다양한 영역에 집중
  • 목표에 따른 상세화된 목표 제공

 

처음의 요구사항 충족

요구사항 정확하게 식별

최종 사용자 관점에서 정보 구조 개념화 추상화시킨 데이터 구조

 

  • 완전성: 모든 데이터가 데이터 모델에 정의
  • 중복 배제: 동일한 사실은 한번만 기록
  • 데이터 재사용: 향상시키려면 통합성 독합성 고려
  • 업무 규칙: 수많은 업무 규칙을 데이터 모델에 표현, 모든 사용자가 그 규칙을 공유할 수 있게 제공
  • 안정성, 확적성: 변화에 대해 최적으로 적응하도록
  • 간결성: 단순하게 분류
  • 의사소통: 여러 사용자, 개발자 사이에 의사소통 중요
  • 통합성: 동일한 데이터는 조직 전체에서 한 번만 정의되고, 여러 영역에서 참조 활용

 

3단계 모델링

개념 -> 논리 -> 물리

 

개념적 구조(예: E.R 다이어그램)

 

  • 개념 데이터 모델링: 포관적인 수준의 모델링, 전사적 데이터 모델링, EA 수립 시 많이 사용
  • 논리 데이터 모델링: 업무에 대해 Key, 속성 정확히 표현
  • 문리 데이터 모델링: 실제 데이터베이스에 이식할 수 있도록 설계

 

개념 데이터 모델링

  1. 주제별 가능한 업무 분석, 핵심 개체 추출
  2. 관계를 정의
  3. 전체 데이터 모델의 골격 생성
  4. 개체 간의 관계를 표현하기 위해 ERD 작성

 

논리 데이터 모델링

개념 데이터 단계의 상세화 과정

  1. 개념 데이터 모델링에서 정의한 핵심 개체와 관계를 바탕으로 상세 속성 정의
  2. 식별자 확정
  3. 정규화 과정 실행

 

물리 데이터 모델링

  1. 목표하는 DBMS 틍성, 환경 감안 스키마(데이터 구조)를 일정한 기준과 규칙에 의해 도출
  2. 칼럼의 데이터 타입과 크기 정의
  3. 효율적인 데이터베이스가 될 수 있도록 인덱스 정의 및 역정규화 작업

 

데이터 독립성

SOA(Service Orient Arcitecture) 독립적으로 비즈니스 처리 가능한 단위 -> 서비스

다른 기능이 변경되도 고유한 기능을 갖는다

 

데이터 독립성 장점

유지보수 절감

데이터 단순화

중복된 데이터 최소화

사용자 요구사항에 대해 데이터베이스 간의 독립

 

 

개념 데이터 모델링

건물의 골격이라 생각하자

 

핵심 개체란

행위 주체나 목절물이 되는 개체 집합

대체적으로 여러가지 행위 개체를 발생시킨다

 

개념 모델링과 논리 모델링을 명확히 구분하기 어렵다

 

주요 개체가 모두 도출되고, 식별자, 관계 등이 모두 그려진 구체적인 모델

 

  • 논리 모델은 개념 모델을 상세화 한 것
  • 물리 모델은 DBMS가 데이터를 담은 논리적인 구조

 

개념 데이터 모델의 역할

  • 데이터에 대한 개념을 준수할 수 있도록 기준 제시
  • 사용자와 개발자의 데이터 요구사항을 발견하고 검토
  • 핵심 개체와 개체 간의 주요 구조 표현
  • 기업에서 관리하는 데이터의 골격을 만드는 작업 수행