ETC/SQLD

SQLD 개념정리 - 데이터 모델링 (1)

JB1104 2023. 9. 1. 13:24
728x90
반응형
SMALL

모델링

현실세계를 추상화, 단순화하여 표현하는 기법


데이터 모델링

업무정보를 구성하는 기초정보를 약속된 표기법에 의해 표현함으로써 업무내용을 정확하게 분석하고,

분석된 모델로 실제 데이터베이스를 생성하여 시스템 개발 및 데이터 관리에 사용하기 위해 수행

 

애매모호함을 배제하고 누구나 이해가 가능하도록 정확하게 현상을 기술하는 정확화의 의미를 가진다.

시스템 구현을 포함한 업무분석 및 업무형상화 목적이 있다.

(시스템 구현만을 위해 진행하는 작업은 아님)

 

데이터 모델링 고려사항

  • 시스템 완성 후, 잘못된 데이터 모델링을 변경하고자 한다면 파급효과가 크다.
  • 독립성이 확보되어야 능동대응이 가능
  • 복잡한 정보를 간결하게 표현해야 한다.
  • 데이터 표준을 정의하여 데이터의 품질을 높여야 한다.

데이터 모델링 유의점

  • 중복 : 여러 장소에 같은 정보가 저장되지 않도록 해야 한다.
  • 비유연성 : 사소한 업무변화에 데이터 모델이 수시로 변경되면 안 된다.
    즉, 데이터 정의와 데이터 사용 프로세스와 분리해야 한다.
  • 비일관성 : 데이터는 모순되지 않고 일관성 있어야 한다.

 

데이터 모델링 3단계

1. 개념적 모델링 (Conceptual Data Modeling)

  • 추상화정도 높음
  • 구체화정도 낮음
  • 요구사항을 사람이 이해할 수 있는 데이터 모델로 변환하는 과정
  • ERD 정의

2. 논리적 모델링 (Logical Data Modeling)

  • 추상화정도 중간
  • 구체화정도 중간
  • 컴퓨터가 이해할 수 있는 논리적 구조로 변환하는 과정
  • ERD -> 특정 DBMS에 맞게 사상

3. 물리적 모델링 (Physical Data Modeling)

  • 추상화정도 낮음
  • 구체화정도 높음
  • 논리적 구조 -> 물리적 구조로 변환하는 과정

데이터 독립성

유지보수 비용 증가, 데이터 중복성 증가, 데이터 복잡도 증가, 요구사항 대응 저하

이러한 이유로 데이터 독립성이 필요.

데이터 독립성은 ANSI/SPARC의 3단계 구조로 정의

 

외부 스키마 : 사용자 관점 DB 스키마, 추상화 높음

- 논리적 데이터 독립성  : 개념 스키마가 변경되어도 외부 스키마에 영향을 주지 않음

개념 스키마 : 사용자와 설계자 관점

- 물리적 데이터 독립성 : 내부 스키마가 변경되어도 개념/외부 스키마에 영향을 주지 않음

내부 스키마 : 설계자 관점 DB 스키마, 물리적으로 데이터 저장방법 표현, 추상화 낮음

 

 

데이터 모델 표기법 (ERD - Entity Relationship Model)

ERD는 엔티티와 엔티티 간의 관계를 다이어그램으로 표시하는 방법

 

ERD 작업순서

  1. 엔티티 도출
  2. 엔티티 배치
  3. 엔티티 간 관계 설정
  4. 엔티티 간 관계명 기술
  5. 관계의 관계차수 기술
  6. 관계의 필수여부 기술

좋은 데이터 모델의 요소

  • 완전성 : 업우메서 필요로 하는 모든 데이터가 정의돼있어야 한다.
  • 중복배제 : 동일한 사실은 반드시 한 번만 저장되어야 한다.
  • 업무규칙 : 업무규칙이 데이터 모델에 표현되어 있어야 한다.
  • 데이터 재사용 : 데이터가 재사용 가능하도록 설계되어야 한다.
  • 의사소통 : 엔티티, 관계, 업무규칙 등이 정보시스템에 표현됨으로써 데이터 모델이 의사소통의 도구로서 사용된다.
  • 통합성 : 공유데이터를 여러 업무영역에서 공동으로 사용할 수 있도록 정의되어야 한다.

엔티티 (Entity)

사람, 개념 등 명사에 해당하며, 업무상 관리가 필요한 관심사에 해당

 

엔티티와 인스턴스

엔티티는 범주(사람)에 해당되는 것이며, 인스턴스는 실제 객체(홍길동, 홍길순..)이다.

엔티티는 인스턴스의 집합이다.

 

특징

  • 업무에서 필요하고 관리하고자 하는 정보이어야 한다.
  • 유익한 식별자(PK)에 식별이 가능해야 한다.
  • 2개 이상의 인스턴스의 집합이어야 한다. (= 2개 이상의 속성을 갖는다)
  • 업무 프로세스에 이용되어야 한다.
  • 반드시 속성이 있어야 한다.
  • 다른 엔티티와의 관계가 있어야 한다. (단, 통계성/코드성 엔티티는 관계 생략 가능)

 

분류

 

1. 유/무형에 따른 분류

  • 유형 엔티티 : 물리적인 형태가 있는 엔티티
  • 개념 엔티티 : 개념적으로 사용되는 엔티티
  • 사건 엔티티 : 업무를 수행함에 따라 발생되는 엔티티
유형 엔티티 물리적인 형태가 있는 엔티티 사원, 물품
개념 엔티티 개념적으로 사용되는 엔티티 조직, 보험상품
사건 에티티 업무를 수행함에 따라 발생되는 엔티티 주문, 청구

 

2. 발생시점에 따른 분류

기본 엔티티 원래 존재하는 독립 가능한 엔티티 사원, 부서, 고객
중심 엔티티 업무로부터 발생되고 다른 엔티티와
관계를 통해 해위 엔티티 생성
계약, 청구, 주문
행위 엔티티 2개 이상의 부모로부터 발생되고
자주 내용이 바뀌는 엔티티
주문목록

 

엔티티명 생성 시 유의사항

  • 현업업무에서 사용하는 용어 사용
  • 약어 사용 X
  • 단수명사 사용
  • 모든 엔티티에서 유일하게 이름 부여
  • 엔티티 생성의미대로 이름 부여

 

728x90
반응형
LIST