데이터 모델링(Data Modeling)의 3층 스키마, 엔터티

Daehyeon Yun·2023년 8월 3일

SQL

목록 보기
3/4

데이터 모델링(Data Modeling)의 고려사항

  1. 데이터 모델의 독립성
    독립성을 확보하기 위해선 중독된 데이터를 제거해야한다. => 정규화 진행
  2. 고객 요구사항 표현
    데이터 모델링으로 고객 <-> 데이터 모델러 간의 의사소통을 위해 요구사항을 최대한 간결하게 표현한다.
  3. 데이터 품질 확보
    DB구축 시에 데이터 표준 정의, 확보를 통한 데이터 품질 향상

3층 스키마(3-Level Schema)

사용자, 설계자, 개발자가 데이터베이스를 보는 관점에 따라 데이터베이스를 기술하고, 이들의 관계를 정의한 ANSI 표준

  • 목적 : 3층 스키마는 데이터베이스의 독립성을 확보하기 위한 방법.
  • View : 3층 스키마를 3단계 계층으로 분리하여 독립성을 확보하는 방법

3층 스키마의 독립성

  • 논리적 독립성 : 저장 구조가 변경되어도 응용 프로그램과 개념 스키마에 영향이 없어야 할 것.
  • 물리적 독립성 : 데이터베이스 논리적 구조가 변경되어도 응용 프로그램에 변화가 없어야 할 것.

3층 스키마 구조

  • 외부 스키마(External Schema)
    : 응용 프로그램이 접근하는 데이터베이스를 정의.
    : 관련 데이터베이스의 뷰(View)를 정의.
    : 사용자 관점, 업무와 관련이 있는 데이터 접근을 말한다.
  • 개념 스키마(Conceptual Schema)
    : 통합 데이터베이스 구조
    : 전체 데이터베이스 내의 규칙, 구조를 정의
    : 설계자 관점, 사용자 전체 집단의 데이터베이스 구조
  • 내부 스키마(Internal Schema)
    : 개발자 관점, 데이터베이스의 물리적 저장구조
    : 데이터 저장구조, 레코드 구조, 필드 정의, 인덱스 등을 의미

엔터티(Entity)란?

업무에서 관리해야하는 데이터의 집합을 의미.
엔터티(Entity)는 저장되고, 관리되어야 하는 데이터이다.

💡엔터티(Entity)는 개념, 사건, 장소 등의 명사이다.

비즈니스 프로세스의 엔터티 도출 예시

[은행 가입 프로세스]
1. 사용자가 아이디, 비밀번호, 이름, 주소, 전화번호를 입력하여 회원가입 진행  
2. 사용자가 가입하기 위해서는 반드시 하나의 계좌를 개설해야함  
3. 사용자는 여러 개의 계좌를 개설할 수 있음.  
4. 계좌를 개설할 때는 계좌번호, 계좌명, 예수금, 계좌 개설 시점 시간, 담당자 입력  

위 비즈니스 프로세스에서 엔터티를 도출하면 다음과 같다.

[사용자]
>사용자 아이디
>패스워드
>이름
>주소
>전화번호

[계좌]
>계좌번호
>계좌명
>예수금
>계좌 개설 시점 시간
>담당자

엔터티(Entity)의 특징

엔터티(Entity)는 다음과 같은 특징을 가진다.

  1. 식별자
    : 엔터티는 유일한 식별자가 있어야 함
    : ex) 회원 ID, 계좌번호
  2. 인스턴스 집합
    : 2개 이상의 인스턴스의 존재
    : 사용자 정보는 2개 이상 존재해야한다는 것
  3. 속성
    : 엔터티는 속성이 있어야 함
    : ex) 사용자 엔터티 -> 사용자 ID, 비밀번호, 이름, 주소, 전화번호 등등
  4. 관계
    : 엔터티는 다른 엔터티와의 최소 한 개 이상 관계가 있어야 함
    : ex) 사용자계좌를 개설한다.
  5. 업무
    : 엔터티는 *업무에서 관리되어야 하는 집합.
    : ex) 사용자, 계좌

엔터티(Entity)의 종류

엔터티는 유형, 무형, 엔터티가 발생하는 시점에 따른 종류로 나누어진다.

유형, 무형에 따른 종류

  • 유형 엔터티 : 업무에서 도출되는 지속적으로 사용되는 엔터티
    ex) 사용자, 강사, 사원 등등
  • 개념 엔터티 : 개념적으로 사용되는 엔터티. 물리적 형태가 없는 엔터티를 말한다.
    ex) 주식 종목, 보험 상품, 거래소 종목 등등
  • 사건 엔터티 : 비즈니스 프로세스를 실행하면서 생성되는 엔터티
    ex) 주문, 체결, 취소주문, 수수료 청구 등등

발생 시점에 따른 종류

  • 기본 엔터티(Basic Entity) : 키 엔터티라고 불리며 다른 엔터티의 영향 없이 독립적으로 생성되는 엔터티를 말한다.
    ex) 사용자, 상품, 부서 등등
  • 중심 엔터티(Main Entity) : 기본 엔터티와 행위 엔터티 중간에 위치한 엔터티. 즉, 기본 엔터티에서 발생되며 행위 엔터티를 생성하기 위한 중간 단계.
    ex) 계좌, 주문, 취소, 체결 등등
  • 행위 엔터티(Active Entity) : 2개 이상의 엔터티로부터 발생되는 엔터티
    ex) 주문 이력, 체결 이력 등등

Reference

이기적 SQLD 이론서+문제집
코딩하렴

profile
열심히 살아야지

0개의 댓글