본문 바로가기

데이터베이스(Database)/Data Modeling

[DB] 데이터 모델링(2) - 데이터 모델링의 요소와 ERD

 

이 글은 전공 수업 내용을 복습할 겸 기록해놓은 글입니다.

추가할 사항이 있거나 잘못된 점이 있으면 댓글로 남겨주세요.

 


 

데이터 모델링의 3가지 구성 요소

  • 3가지 구성 요소
    - 업무와 관련된 어떤 것(Things) - Entity
    - 어떤 것이 갖는 성격(Attributes) - Attribute
    - 업무가 관여하는 어떤 것 간의 관계(Relationships) - Relationship

    엔티티, 속성, 관계 3가지가 핵심 키워드.
    아래 표의 복수 개념이 스키마(Schema), 단수 개념이 인스턴스(Instance)에 해당된다.

 

 

  • 데이터베이스 스키마와 인스턴스의 차이
    데이터베이스 스키마
    - 데이터 모델링의 대상
    - 데이터베이스 구조, 데이터 타입, 그리고 제약 조건에 대한 명세
    - 데이터베이스 설계 단계에서 명시

    데이터베이스 인스턴스
    - 특정 시점에 데이터베이스에 실제로 저장되어 있는 데이터 값

데이터 모델 표기법

  • ERD(Entity Relationship Diagram)
    - 엔티티와 엔티티 간의관계를 도식화한 다이어그램
    - 실제 프로젝트에서는 해당 업무에서 데이터의 흐름과 프로세스와의 연관성을 모두 표기

출처 : https://dataonair.or.kr/db-tech-reference/d-guide/sql/?pageid=5&mod=document&uid=330

  • ERD 작성 순서
    1) 엔티티를 그린 후 적절하게 배치
    - 가급적 선이 꼬이지 않게 배치
    - 왼쪽 → 오른쪽, 위 → 아래 순으로 읽어나가기 편하도록 배치

    2) 엔티티간 관계 설정
    - 식별자 관계를 우선 설정
    (식별자 관계 : 부모로부터 상속받은 외래키가 자식의 기본키의 일부가 되는 관계)
    - 가급적 사이클 관계가 발생하지 않도록 설정

    3) 관계명 기술
    - 현재형을 사용
    - 지나치게 포괄적인 용어는 피하기

    - 실제 프로젝트에서는 크게 고려하지 않음

    4) 관계차수와 선택성 표시


  • 좋은 데이터 모델의 요소
    완전성(Compleateness)

    - 업무에서 필요로 하는 모든 데이터가 데이터 모델에 정의되어야 함

    중복배제(Non-Redundancy)
    - 동일한 사실은 반드시 한 번만 기록해야 함

    업무규칙(Business Rules)
    - 업무 규칙이 데이터 모델에 표현되어야 함

    데이터 재사용(Data Reusability)
    - 회사 전체 관점에서 공통 데이터를 도출하고, 이를 전 영역에서 사용할 수 있도록 설계해야 함

    통합성(Integration)
    - 동일한 데이터는 조직의 전체에서 한 번만 정의되고, 이를 여러 다른 영역에서 참조, 활용해야 함