카테고리 없음

[DB 설계 및 구축]3장 데이터 모델링의 주요 개념

kkh1902 2022. 1. 31. 02:05
728x90
반응형

단원 목표

  • 데이터 모델링의 기본 요소인 엔티티, 속성, 기본 개념을 이해한다.
  • 주식별자와 외래식별자를 이해한다.
  • ERD를 그리는 방법을 익힌다.

3.1 개요

  • 논리적 데이터베이스 설계란 현실세계의 업무를 분석하여 이를 약속된 표기법을 사용하여 개념적 모델(ERD)로 표현하는 과정을 말하며 전체 데이터베이스 설계에서 핵심적인 부분이다.
  • 현실세계 표현 : 엔티티(entity) , 속성(attribute), 관계(relationship)

3.2 엔티티

3.2.1 엔티티의 정의

  • 엔티티는 현실세계를 데이터 관점에서 모델링할 때 사용되는 핵심적인 개념이다.
  • 엔티티란 업무의 관심 대상이 되는 정보를 갖고 있거나 그에 대한 정보를 관리할 필요가 있는 유형, 무형의 사물(개체)를 말한다.

3.2.2 엔티티의 분류

  1. 유형 엔티티
  2. 무형 엔티티
  3. 문서 엔티티
  4. 이력 엔티티
  5. 코드 엔티티

3.2.3 엔티티의 성질

  1. 업무에서의 필요성
    1. 아무리 그 사물이 관리해야 할 정보를 가지고 있다하더라도 업무의 관심 대상이 아니거나 업무 절차상에서 사용되지 않는다면 엔티티로 표현할 필요가 없다.
  2. 두 개 이상의 인스턴스 소유
  3. 속성의 소유
    1. 설명할 속성을 가지고 있어야한다.

3.3 속성

  • 속성이란 엔티티에서 관리해야 할 최소 단위의 정보 항목을 말하며 엔티티는 하나 이상의 속성을 포함한다.
  • 특성에 따라
    • 기본 속성
      • 업무 분석 과정에서 업무의 관심 대상으로 분류된 정보 항목들로 전체 속성들 중에서 가장 많은 비중을 차지한다
    • 유도 속성
      • 다른 속성의 값들로부터 유도될 수 있는 속성을 말한다.
    • 설계 속성
      • 현실세계에는 존재하지 않지만 설계를 보다 효과적으로 할 수 있기 위해서, 혹은 나중에 정보 시스템이 운용될 때의 필요성 때문에 강제적으로 만들어주는 속성

3.4 관계

3.4.1 관계의 정의

  • 관계란 두 엔티티 사이의 관련성을 나타내는 용어이다.
  • 두 엔티티가 관계가 있다는 의미는 상호 공유하는 속성이 있다는 의미이다.

3.4.2 관계의 카디낼러티

  • 두 엔티티 간의 관계를 보다 구체적으로 표현하는 방법의 하나로 각 엔티티에 속해 있는 인스턴스들 간에 수적으로 어떤 관계에 있는지를 나타내는 개념이다.
  • 1:1, 1:N , N:M

3.4.3 관계의 참여도

  • 참여도(partiality)에는 필수(mendatory), 선택(optional) 두 가지가 있다.
  • 선택 관계 : 기준이 되는 엔티티의 인스턴스와 대응되는 인스턴스가 상대방 엔티티에 있을 수 도 있고 없을 수도 있을 때
    • 카디낼러티 앞에 동그라미로 표시한다.
  • 필수 관계 : 어느 한 쪽이 존재하면 다른 쪽도 반드시 존재해야 하는 관계
    • 카디낼러티 앞에 ‘ | ‘라 표시한다.

3.4.4 부모 엔티티와 자식 엔티티

  • 두 엔티티가 부모-자식 관계가 있다면 일반적으로 부모 엔티티와 자식 엔티티의 가디낼러티는 1:N이고 참여도는 부모 쪽이 필수 , 자식쪽이 선택

3.5 주식별자와 외래식별자

  • 주식별자(Primary identifier)와 외래식별자(Foreign identifer)의 개념은 관계형 모델에서 기본키( primary key) 와 외래키(foregin key)의 개념에 대응한다.
  • 주식별자는 엔티티 내에서 인스턴스와 인스턴스를 구별하는 기준의 역할을 한다.
  • 외래식별자는 엔티티와 엔티티를 연결해주는 고리의 역할을 한다.
    • 다른 엔티티와 연결고리 역할을 한다.
    • 자식 엔티티의 외래식별자는 부모 엔티티의 주식별자와 연결된다.
  • 모델링에서는 ‘키’라는 용어 대신에 식별자라고 쓴다.
728x90
반응형