study ../SQLD

[과목 I. 데이터 모델링의 이해] 제1장 데이터 모델링의 이해: index

wlsekf 2025. 7. 31. 23:57
과목 I. 데이터 모델링의 이해
  제1장 데이터 모델링의 이해
    제1절 데이터 모델의 이해
    제2절 엔터티
    제3절 속성
    제4절 관계
    제5절 식별자


# 데이터 모델링
  * 정보시스템을 구축하기 위한 데이터 관점의 업무 분석 기법
  * 현실 세계의 데이터(what)를 약속된 표기법으로 표현하는 과정
  * 데이터베이스를 구축하기 위한 분석 및 설계의 과정

# 데이터 모델링 유의점
  * 중복(Duplication)
  * 비유연성(Inflexibility)
  * 비일관성(Inconsistency)

# 데이터베이스 스키마 구조 3단계
  * 외부스키마(External Schema)
  * 개념스키마(Conceptual Schema)
  * 내부스키마(Internal Schema)

# ERD 작성 순서
  (1) 엔터티를 그린다.
  (2) 엔터티를 적절하게 배치한다.
  (3) 엔터티 간 관계를 설정한다.
  (4) 관계명을 기술한다.
  (5) 관계의 참여도를 기술한다.
  (6) 관계의 필수여부를 기술한다.

# 엔터티의 특징
  * 반드시 해당 업무에서 필요하고 관리하고자 하는 정보이어야 한다.
  * 유일한 식별자에 의해 식별이 가능해야 한다.
  * 영속적으로 존재하는 인스턴스의 집합(두 개 이상)이어야 한다.
  * 엔터티는 업무 프로세스에 의해 이용되어야 한다.
  * 엔터티는 다른 엔터티와 최소 한 개 이상의 관계가 있어야 한다.

# 발생 시점에 따른 엔터티 분류
  * 기본, 키 엔터티(Fundamental Entity, Key Entity)
  * 중심 엔터티(Main Entity)
  * 행위 엔터티(Active Entity)

# 엔터티, 인스턴스, 속성, 속성값의 관계
  * 한 개의 엔터티는 두 개 이상의 인스턴스 집합이어야 한다.
  * 한 개의 엔터티는 두 개 이상의 속성을 갖는다.
  * 한 개의 속성은 한 개의 속성값을 갖는다.

# 속성의 특성에 따른 분류
  * 기본속성
  * 설계속성
  * 파생속성

# 도메인
  * 각 속성은 가질 수 있는 값의 범위가 있는데 이를 그 속성의 도메인(Domain)이라 하며, 엔터티 내에서 속성에 대한 데이터 타입과 크기 그리고 제약사항을 지정하는 것이다.

# 속성의 명칭 부여
  * 해당 업무에서 사용하는 이름을 부여한다.
  * 서술식 속성명은 사용하지 않는다.
  * 약어 사용은 가급적 제한한다.
  * 전체 데이터 모델에서 유일성을 확보하는 것이 좋다.

# 관계의 표기법
  * 관계명(Membership): 관계의 이름
  * 관계차수(Carinality): 1:1, 1:M, M:N
  * 관계선택사양(Optionality): 필수관계, 선택관계

# 식별자의 종류
  * 엔터티 내에서 대표성을 가지는가에 따라 주식별자(Primary Identifier)와 보조식별자(Alternate Identifier)로 구분
  * 엔터티 내에서 스스로 생성되었는지 여부에 따라 내부식별자와 외부식별자(Foreign Identifier)로 구분
  * 단일 속성으로 식별이 되는가에 따라 단일식별자(Single Identifier)와 복합식별자(Composit Identifier)로 구분
  * 원래 업무적으로 의미가 있던 식별자 속성을 대체하여 일련번호와 같이 새롭게 만든 식별자를 구분하기 위해 본질식별자와 인조식별자로 구분

# 주식별자의 특징
  * 유일성: 주식별자에 의해 엔터티 내의 모든 인스턴스들을 유일하게 구분함
  * 최소성: 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야  함
  * 불변성: 주식별자가 한번 특정 엔터티에 지정되면 그 식별자의 값은 변하지 않아야 함
  * 존재성: 주식별자가 지정되면 반드시 데이터 값이 존재해야 함(NULL 허용 안됨)