DNF LOVE

[데이터베이스론 기초 - 6] 데이터 모델링 3개의 종류, E-R다이어그램 & Entity Type, Relationship Type의 간단 설명 본문

Computer Science/데이터베이스

[데이터베이스론 기초 - 6] 데이터 모델링 3개의 종류, E-R다이어그램 & Entity Type, Relationship Type의 간단 설명

botho 2019. 8. 4. 16:02
반응형

https://dnf-lover.tistory.com/49 이전 포스팅에서 데이터모델링 정의에 대해 알게 되었다.

그렇다면 데이터 모델링에는 어떤 종류가 있을지 알아보도록 하자.


 

데이터의 3가지 세계, 현실 세계, 개념 세계, 컴퓨터 세계

데이터에는 3가지 세계가 있다.

  • 현실 세계(개체 / 특성 / 값) 
  • 개념 세계(개체 타입 / 속성 / 값) : 현실 세계의 개체를 추상화, 개념적 모델링을 한 세계(대표적인 예 : E-R다이어그램)
  • 논리적 구조=컴퓨터 세계(레코드 타입 / 필드 / 값) : 개념 세계의 개체 타입을 변환, 논리적 모델링을 한 세계
  • 물리적 구조(저장 데이터베이스) : 논리 세계의 레코드 타입을 데이터 구조화, 물리적 데이터 모델링을 한 세계.

설계의 핵심은 개념적인 구조와 논리적 구조를 거쳐 실제 데이터를 저장할 수 있는 물리적 구조로 변환하는 것이다. 개념/물리적 데이터 모델링은 분석 부분에서 작업되고, 물리적 데이터 모델링은 설계 부분에서 작업된다

  • 개념적 모델링(현실 세계 -> 개념적 구조) : 현실 세계를 추상적 개념, 개체타입으로 현실 세계를 표현
    (현실 정보 -> ER 다이어그램), 추상화 수준이 높고 업무 중심적이며 포괄적인 수준의 모델링 진행
  • 데이터 모델링(논리적 모델링) : 개념적 구조를 논리적 개념, 레코드 타입으로 개념적 세계를 표현
    (ER 다이어그램 -> DB레코드), 업무에 대해 키, 속성, 관계 등을 정확하게 표현
  • 데이터 구조화(물리적 모델링) : 논리적 구조를 물리적 구조로 표현, 실제 데이터베이스에 이식할 수 있는 성능, 저장 등 물리적인 성격 고려 후 설계

 

그럼 이, 데이터 모델링을 표현하기 위해 사용되는 개념은 어떻게 될까?

크게는 개념 세계를 표현하는 다양한 다이어그램, Entity Type, Relationship Type 등이 있다. 이들의 개념을 짧게 살펴보도록 하자.



1. Entity Type

  • Entity : 단독으로 존재할 수 있으며 다른 것과 구별되는 객체(Object)
  • Entity Type : 이름과 애트리뷰트들로 정의된다.
    • Entity Set : 한 개체 타입에 대한 개체 인스턴스들의 집합
  • 애트리뷰트의 유형
    • 단순 애트리뷰트 : 더 이상 작은 구성원소로 분해할 수 없는 애트리뷰트
    • 복합 애트리뷰트 : 몇 개의 기본적인 단순 애트리뷰트로 분해할 수 있는 애트리뷰트(ex> 주소 ///우편번호 /번지/아파트번호)
    • 단일 값 애트리뷰트 : 대부분의 애트리뷰트들은 특정 개체에 대해 하나의 값을 가진다.
    • 다중 값 애트리뷰트 : 한 개체에 대해서 몇 개의 값을 가지고 있을 수 있다.(ex> 학생이라는 개체는 여러 개의 Hobby를 가질 수 있다)
    • 유도 애트리뷰트 : 애트리뷰트의 값이 다른 애트리뷰트나 개체가 가지고 있는 값으로부터 유도되어 결정되는 경우
    • 저장 애트리뷰트 : 유도 애트리뷰트를 생성하는데 사용된 애트리뷰트
    • Null 애트리뷰트 : 애트리뷰트의 값을 알수 없는(Unknown) 경우
      • 그 값이 존재하지만, 값이 누락된 경우
      • 그 값이 존재하고 있는지 조차 알 수 없이 모르는 경우.
  • 약한 개체 타입 : 자기 자신의 애트리뷰트만으로 키를 명세할 수 없는 개체 타입이다.(<-> 강한 개체 타입)
    • 주 개체 강한 개체 타입
    • 종속 개체 약한 개체 타입
  • 식별 관계 타입 : 약한 개체를 강한 개체에 연관시켜 개체를 유일하게 식별하는 관계
  • 구별자 : 강한 개체와 연관된 약한 개체 집합 내에서만 이들을 서로 구별할 수 있는 애트리뷰트

 

2. Realtionship Type : 개체 타입들 사이의 대응, 즉 사상을 의미한다.

학생 개체와 과목 개체의 Relationship Type '등록'
사상원소 수에 따른 관계

  • 사상원소 수는, 관계 타입의 원소 수 제약조건을 의미한다.(사진) 
    • 1 : 1(일 대 일)
    • 1 : n(일 대 다)
    • N : 1(다 대 일)
    • N : N(다 대 다)
  • Relationship Attribute를 가질 수 있다.
  • 관계 타입의 참여 제약조건
    • 전체 참여 : A-B관계에서 개체 집합 A의 모든 개체가 A-B관계에 참여
    • 부분 참여 : A-B관계에서 개체 집합 A의 일부 개체가 A-B관계에 참여
    • 종속 참여 : 어떤 개체 b의 존재가 개체 a의 존재에 종속된다. 이때 b a에 존재 종속되며 a는 주 개체, b는 종속 개체라 한다

종속 참여 관계 E-R다이어그램

 

3. E-R다이어그램(Entity-Relationship model, 개체-관계 모델) : 개체 타입과 관계 타입을 기본 개념으로 현실세계를 개념적으로 표현하는 방법이다.

  • 개체 집합 : 한 개체 타입에 속하는 모든 개체 인스턴스
  • 관계 집합 : 한 간계 타입에 속하는 모든 관계 인스턴스

반응형