[이론] DB 모델링 - 개념적 모델링

조민수·2025년 3월 9일
0

개발 이론

목록 보기
14/18

모델링이란?

  • 현실 세계를 단순화시켜 표현하는 것

프로그래밍에서의 모델링

  • 시간, 돈을 절약하는 기법
  • 다수가 사용하는 공통 기반

DB 모델링

  • 주어진 개념으로부터 논리적인 데이터 모델을 구성하는 작업
  • DB의 골격을 이해하고, 모델의 기능과 성능적인 측면에서의 효율적 작성을 필요로 함

1. Entity

업무의 관심 대상이 되는 정보를 갖고 있거나, 정보를 관리할 필요가 있는 유/무형의 개체

TABLE

  • 2개 이상의 Instance를 소유해야 함

2. Attribute

Entity에서 관리해야 할 최소 단위 정보 항목
Entity는 최소 하나 이상의 Attribute를 포함

COL

  • 유일하게 식별 가능하도록 지정

3. Instance

Entity의 속성, 실제로 구현된 값

4. Relationship

두 Entity 사이의 관계

  • Association : 연관 관계
  • Aggregation : 집합 관계
  • Composition : 구성 관계
  • Generalization : 일반화
  • Recursive : 재귀적 관계
  • Ternary : 삼항 관계

5. 주식별자

Entity 내 각 인스턴스를 구별하는 기준이 되는 Attr
PK

6. 외래식별자

관계가 있는 Entity 간 연결고리 역할을 하는 속성
FK


설계 단계

1. 개념적 설계

  • 요구분석 단계에서 정의된 핵심 개체와 그들 간의 관계(RelationShip)을 바탕으로 ERD를 생성하는 단계.
    = Entity 추출 과정

2. 논리적 설계

  • 개념 설계에서 추상화된 데이터를 구체화,
    개채와 속성을 테이블화하고 상세화하는 과정

3. 물리적 설계

  • 논리적 설계 단계에서 표현된 데이터를 실제 COM의 저장장치에 어떻게 표현할 것인지
    RDBMS로 전환하는 과정 및 구축에 필요한 상세 과정을 정하는 단계

개념적 모델링

  • Entity 도출하기
    : 업무 분석 단계 이후, 분석 자료를 기반으로 Entity 도출

  • 도출 과정

    1. Entity 후보 풀 구성
    2. Entity 리스트 작성
    3. 업무 분석 안에서 Department, Job 등 명사로 된 것을 모두 표기하며 명사 도출
    4. 명사가 Entity가 되는지, Attr이 되는지 구분
      ex) 학생은 Entity, 이름은 Attr
    5. 중복 명사(유사 의미) 정리
    6. 시스템에서 관리할 필요가 있는지 판단

ERD

  • 개체 관계도
  • 요구분석사항에서 얻은 Entity와 Attr의 관계를 모식화

  • 주식별자
    : Entity의 소속된 인스턴스를 구별하는 기준
    : 유일성, 최소성, 불변성, 존재성

  • 외래 식별자
    : 관계가 있는 두 Entity를 부모/자식으로 구분
    (1:N) 관계에서는 1이 부모 역할이 된다.
    : 부모의 주식별자(PK)와 공통 속성이 자식에게도 존재 시, 해당 속성을 외래 식별자로 지정

  • 참여도
    : 필수(Mandatory), 선택(Optional)로 구분
    : 기준 Entity에 대해 반드시 대응되는 Entity가 1개 이상 = Mandatory
    : 있을 수도, 없을 수도 = Optional

  • 식별 관계 (실선)
    : PK가 일반 COL이 아닌 PK의 역할을 하는 것

  • 비식별 관계 (점선)
    : PK가 일반 COL로 가는 것

※ M : N 관계

  • 반드시 해소시켜줘야 함
  • 실제적 구현이 불가능하기 때문에
    릴레이션 Entity를 통해 1:N 방식으로 해소 시켜야 함

Relationship Type

1. Association

  • 가장 일반적 관계
  • 2개 이상 Entity가 서로 관련되어 있음을 나타낸다.
    ex) 학생강의

2. Aggregation

  • 한 Entity가 다른 Entity를 포함하는 관계
  • 전체(whole)과 부분(part)의 관계
    ex) 선수

3. Composition

  • Aggregation 보다 강한 관계
  • 부분(part)가 전체(whole)과 생명주기를 함께하는 관계
  • 전체가 소멸 → 부분도 소멸
    ex) 자동차엔진

4. Generalization

  • 하나의 상위 Entity(Superclass)가 여러 하위 Entity(Subclass)로 세분화
  • 여러 하위 Entity의 공통 속성을 상위 Entity로 추출하는 과정
    ex) 직원계약직, 정규직

5. Tenary

  • 2개 이상의 Entity가 동시에 연관되는 관계
    ex) 의사, 환자, 병원이 연관될 때, 진료의 관계

6. Weak

  • 강한 Entity에 의해 약한 Entity의 존재 여부가 결정되는 경우
  • Weak Entity는 PK를 가지지 않으며, Strong Entity의 PKFK로서 식별한다.
    ex) 주문주문 상세 정보

논리적 모델링, 정규화 부터는 2부에서...

profile
멈춤에 두려움을 느끼는 것

0개의 댓글

관련 채용 정보