1. 데이터 모델의 이해

1-1. 모델링이란?

  • 현실 세계를 일정한 표기법에 의해 단순화하여 표현하는 것
  • 특징
    • 추상화: 일정한 형식에 맞춰 표현
    • 단순화: 제한된 표기법이나 언어로 표현
    • 명확성: 이해가 쉽게 표현

1-2. 모델링의 세 가지 관점

시스템의 대상이 되는 업무를 분석해 정보시스템으로 구성하는 과정에서 업무의 내용과 정보시스템의 모습을 적절한 표기법으로 표현하는 것을 모델링이라고 한다. 모델링은 크게 세 가지 관점으로 구분된다.

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

2. 데이터 모델링

2-1. 데이터 모델링이란?

  • 정보 시스템 구축을 위한 데이터 관점의 업무 분석 기법
  • 목적
    • 정보에 대한 표기법을 통일해 업무 내용 분석 시 정확도 증대
    • 데이터 모델을 기초로 DB 개발 및 데이터 관리
  • 기능
    • 가시화
    • 명세화
    • 구조화
    • 문서화
    • 다양한 관점 제공
    • 구체화
  • 데이터 모델링의 중요성 및 유의점
    • 파급효과: 병행 테스트, 통합테스트 수행 시 영향 분석
    • 간결한 표현: 정보 요구사항과 한계를 간결하게 표현하는 도구
    • 데이터 품질
      • 유일성: 데이터 중복 저장 방지
      • 유연성: 데이터 정의와 데이터 사용 프로세스 분리
      • 일관성: 데이터와 데이터 간 상호 연관 관계에 대한 명확한 정의 필요
  • 데이터 모델링 3단계
    • 개념적 모델링: 엔티티 및 속성 도출 - ERD 작성 - 업무 중심적이고 포괄적인 수준의 모델링
    • 논리적 모델링: 식별자 도출 - 속성과 관계 정의 - 정규화 수행 - 데이터 모델의 독립성과 재사용성 확보, 논리 데이터 모델은 데이러 모델링 완료 상태
    • 물리적 모델링: DB를 구축함, 성능 및 보안 등 물리적인 성격 고려
    • 프로젝트 생명주기에서의 모델링
      • 계획 > 분석 > 설계 > 개발 > 테스트 > 전환, 이행 단계로 구성
      • 계획/분석 단계는 개념적 모델링
      • 분석 단계는 논리적 모델링
      • 설계 단계는 물리적 모델링
  • 데이터 모델링의 이해 관계자
    • DBA, 개발자, 현업업무 전문가, 전문 모델러

3. 데이터베이스 3단계 구조

외부 단계와 개념적 단계, 내부적 단계로 구성된 서로 간섭되지 않는 모델을 제시한다.

3-1. 3층 스키마

  • 외부 스키마: 각 사용자 단계의 개인적 DB 스키마, 사용자 관점
  • 개념 스키마: 모든 사용자 관점을 통합한 조직 전체의 DB 스키마, 설계자 관점
  • 내부 스키마: 물리적으로 데이터가 저장된 형식을 표현하는 스키마, 개발자 관점

3-2. 데이터 독립성의 필요성

  • 지속적으로 증가하는 유지보수 비용 절감
  • 데이터 복잡도를 낮추고, 중복된 데이터를 줄이기 위한 목적
  • 끊임없이 요구되는 사용자 요구사항에 대해 화면과 DB 간 서로 독립성을 유지하기 위한 목적

3-3. 데이터 독립성

  • 논리적 독립성: 개념 스키마가 변경되어도 외부 스키마에는 영향을 미치지 않음
  • 물리적 독립성: 내부 스키마가 변경되어도 외부/개념 스키마에 영향을 미치지 않음

4. 데이터 모델링의 세 가지 요소

  • 업무가 관여하는 어떤 것(Things)
  • 어떤 것이 가지는 성격(Attributes)
  • 업무가 관여하는 어떤 것 같의 관계(Relationships)
  • 엔터티, 속성, 관계

4-1. 데이터 모델 표기법

  • 엔터티: 사각형
  • 관계: 마름모
  • 속성: 타원형

4-2. ERD 작업 순서

  • 엔터티 도출
  • 엔터티 배치
  • 엔터티 간 관계 설정
  • 관계명 기술
  • 관계의 참여도 기술(관계차수, 1:1, 1:N, M:N)
  • 관계의 필수여부 기술

4-3. 좋은 데이터 모델의 요소

  • 완전성
  • 중복 배제
  • 업무 규칙
  • 데이터 재사용
  • 의사소통
  • 통합성

5. 엔터티

  • 정의: 업무에 필요하고 유용한 정보를 저장 및 관리해야 하는 데이터의 집합

5-1. 엔터티의 특징

  • 업무에서 필요로 하는 정보
  • 식별자를 가진다
  • 인스턴스의 집합이다
  • 업무 프로세스에 의해 이용된다
  • 속성을 가진다
  • 관계를 가진다

5-2. 엔터티의 분류

  • 유무형에 따른 분류
    • 유형 엔터티: 물리적 형태가 있고 지속적으로 활용되는 엔터티
    • 개념 엔터티: 물리적 형태가 존재하지 않고 관리해야 할 개념적 정보로 구분이 되는 엔터티
  • 발생 시점에 따른 분류
    • 기본 엔터티(Key Entity): 독립적으로 생성
    • 중심 엔터티(Main Entity): 기본 엔터티와 행위 엔터티의 중간에 존재
    • 행위 엔터티(Active Entity): 두 개 이상의 부모 엔터티로부터 발생되고, 비즈니스 프로세스를 실행하면서 생성되는 엔터티. 데이터 양이 가장 많다
  • 명명 규칙
    • 현업 업무에서 사용하는 용어
    • 약어 지양
    • 단수 명사
    • 유일성 보장
    • 명확성

6. 속성

  • 정의: 엔터티가 가지는 최소 의미 단위, 인스턴스의 구성 요소
    image

  • 속성 표기법: IE 표기법, Baker 표기법
    image

  • 특징
    • 업무에서 필요하고 관리하고자 하는 정보
    • 주식별자에 함수적 종속성을 가져야 한다
    • 하나의 속성에는 한 개의 값만을 가진다
  • 분류
    • 특성에 따른 분류
      • 기본 속성: 비즈니스 프로세스에서 도출되는 본래 속성
      • 설계 속성: 데이터 모델링 과정에서 업무 규칙화를 위해 발생되는 속성
      • 파생 속성: 다른 속성에 영향을 받아 발생하는 속성
    • 분해 가능 여부에 따른 분류
      • 단일 속성
      • 복합 속성
      • 단일값 속성
      • 다중값 속성
    • 엔터티 구성 방식에 따른 분류
      • 기본키 속성(Primary Key)
      • 외래키 속성(Foreign Key)
      • 일반 속성: 엔터티에 포함되어 있고 PK, FK에 포함되지 않은 속성

7. 관계

  • 정의
    • 엔터티의 인스턴스 사이의 논리적인 연관성
    • 존재의 형태로서나 행위로서 서로에게 연관성이 부여된 상태
  • 관계의 패어링: 인스턴스 간 개별적 관계를 가지는 것
  • 관계의 분류(종류)
    • ERD 기준
      • 존재에 의한 관계: 엔터티 간의 상태
      • 행위에 의한 관계: 엔터티 간에 발생하는 행위
    • UML(Unified Modeling Language) 기준
      • 연관 관계(Association): 실선 표기
      • 의존 관계(Dependency): 점선 표기
    • 식별자에 따른 분류
      • 식별 관계: 부모 엔터티의 식별자를 자식 엔터티에서 주식별자로 사용 ‒ 비식별 관계: 부모 엔터티의 식별자를 자식 엔터티에서 일반 컬럼으로 참조 사용, 약한 종속 관계
        image
  • 관계의 표기법
    • 관계명: 관계의 이름
    • 관계차수(Cardinality)
      • 1:1, 1:M(One to Many), M:M(Many to Many)
      • 두 개의 엔터티 간 관계에서 참여자의 수를 표현하는 것
      • 관계형 DB에서 M:N 관계의 조인은 카테시안 곱 발생
    • 관계선택사양(Optionality)
      • 필수관계, 선택관계
  • 관계 읽기
    • 각각의/하나의 > 기준엔터티 > 관계차수 > 대상 엔터티 > 관계선택사양 > 관계명

8. 식별자

  • 정의: 하나의 엔터티에 구성되어 있는 여러 개의 속성 중 엔터티를 대표할 수 있는 속성을 의미
  • 특징
    • 유일성
    • 최소성
    • 불변성
    • 존재성

8-1. 식별자의 분류

  • 대표성 여부에 따른 분류
    • 주식별자: 대표성을 만족하는 식별자
    • 보조식별자: 유일성과 최소성만을 만족하는 식별자, 참조관계 연결에 사용할 수 없음
  • 생성 여부에 따른 분류
    • 내부 식별자: 엔터티 내부에서 스스로 만들어지는 식별자
    • 외부 식별자: 타 엔터티와의 관계를 통해 타 엔터티로부터 받아오는 식별자
  • 속성 수에 따른 분류
    • 단일 식별자: 하나의 속성으로 구성된 식별자
    • 복합 식별자: 둘 이상의 속성으로 구성된 식별자
  • 대체 여부에 따른 분류
    • 본질 식별자: 대체될 수 없는 식별자, 업무에 의해 만들어지는 식별자
    • 인조 식별자: ‒ 인위적으로 만들어지는 대체가능한 식별자 (ex. 순서번호(Sequence Number)를 사용하여 생성된 식별자)

8-2. 주식별자 도출 기준

  • 업무에서 자주 이용되는 속성, 이름 명명 지양, 복합 식별자 지양

※ DB 키의 종류
‒ 기본키(PK; Primary Key): 엔터티를 대표하는 키, 후보키 중 선정됨
‒ 후보키: 유일성과 최소성을 만족하는 키
‒ 슈퍼키: 유일성만 만족하는 키
‒ 대체키: 기본키를 제외한 나머지 후보키

Tags:

Categories:

Updated: