728x90
반응형

SQLD

데이터 모델링의 이해

모델링?

  • 현실을 단순화 하여 표현하는 것

특징

  • 단순화
    - 핵심 요소에 집중하고 불필요한 세부 사항 제거
  • 추상화
    - 일정 형식에 맞춰 간략하게 표현
  • 명확화
    - 애매모호함을 제거하고 정확하게 현상을 기술하는 과정

유의점

  • 중복
    - 테이블에 정보가 중복되지 않게 하는것
  • 비유연성
    - 사소한 변화에 잦은 변경이 되지 않도록 주의
  • 비일관성
    - 데이터 상호 연관 관계 명확히 정의

3가지 요소

  • 엔티티(대상)
  • 속성
  • 관계

모델링 3단계

  • 개념적 모델링
    - 추상화 수준 가장 높음, ERD 작성
  • 논리적 모델링
    - 재사용성 높음, 데이터 정규화 수행
  • 물리적 모델링
    - 물리적으로 생산하는 과정, 추상화 수준 가장 낮음

ERD

  • 피터 첸이 만든 표기법, 모델링 표준
  • 엔터티 간의 관계 표현 다이어그램
  • 실선 : 식별자 관계(부모 엔터티 식별자가 자식 엔터티의 주식별자)
  • 점선 : 비식별자 관계(부모 엔터티 식별자가 자식 엔터티의 일반 속성)

엔터티(Entity)

  • 식별 가능한 객체 혹은 사물
  • Instance들로 이루어진 집합

엔터티 특징

  • 2개 이상의 인스턴스의 집합
  • 유일한 식별자에 의한 식별
  • 반드시 속성을 가짐(2개 이상)
  • 업무에 필요한 정보
  • 다른 엔터티와 최소 1개 이상 관계

엔터티 분류

1. 유형과 무형

  • 유형 엔터티 : 물리적 형태 존재, 안정적, 지속적
  • 개념 엔터티 : 물리적 형태 x
  • 사건 엔터티 : 행위에 따라 발생하는 엔터티

2. 발생 시점

  • 기본 엔터티 : 독립적으로 생성, 고유한 주식별자 가짐
  • 중심 엔터티 : 기본 엔터티에서 파생, 행위 엔터티 생성
  • 행위 엔터티 : 2개 이상의 엔터티로부터 발생

엔터티 명명

  • 단수 명사
  • 유일한 이름
  • 약자 사용 지양
  • 현업 용어 사용
  • 엔티티 생성 의미대로 명명

속성

속성?

  • 고유한 성질, 특징
  • 칼럼으로 표현 가능한 단위
  • 더이상 분리되지 않는 최소 데이터 단위

엔터티, 인스턴스, 속성, 속성값 관계

  • 한 개의 엔터티는 2개 이상의 인스턴스
  • 한 개의 엔터티는 2개 이상의 속성
  • 한 개의 속성은 1개의 속성값

분류

1. 특성에 따른 분류

  • 기본 속성 : 업무에 따라 바로 정의되는 속성(가장 많음)
  • 설계 속성 : 설계과정에서 필요하다 판단되어 생기는 속성
  • 파생 속성 : 다른 속성에 의해 계산되거나 도출된 속성

2. 구성방식에 따른 분류

  • PK(Primary Key) 속성 : 인스턴스를 식별할 수 있는 속성
  • FK(Foreign Kry) 속성 : 다른 엔터티의 속성에서 가져온 속성
  • 일반 속성 : PK, FK를 제외한 나머지 속성

도메인

  • 속성이 가질 수 있는 속성값의 범위

 

관계(Relationship)

종류

  • 존재적 관계 : 존재 자체로 연관성이 있는 관계
  • 행위적 관계 : 행위로 인해 연관성이 생기는 관계

관계의 구성

  • 관계명 : 엔터티 간의 관계를 나타냄
  • 관계차수(Cardinality) : 각 엔터티에서 관계에 참여하는 수(1:1, 1:N, N:M 등)
  • 관계선택사양(Optionality) : 관계가 필수인지 선택인지(필수적 관계, 선택적 관계)

 

식별자

식별자

  • 각각의 인스턴스를 구분가능하게 만들어주는 대표 속성

분류

1. 대표성 여부

  • 주식별자 : 유일성, 최소성, 불변성, 존재성(Null 허용 x), 참조관계 가능
  • 보조식별자 : 유일성, 최소성, 인스턴스 구분가능, 대표성 x, 참조관계 x

2. 생성 여부

  • 내부 식별자 : 내부에서 스스로 생성되는 식별자
  • 외부 식별자 : 다른 엔터티에 의해 만들어지는 식별자

3. 단일 속성 여부

  • 단일 식별자 : 하나의 속성
  • 복합 식별자 : 2개 이상의 속성

4. 대체 여부

  • 본질 식별자 : 업무 프로세스로 만들어지는 식별자
  • 인조 식별자 : 인위적으로 만들어지는 식별자

식별과 비식별

식별 관계 

  • 부모 엔터티의 식별자가 자식 엔터티의 주식별자가 되는 관계

비식별관계

  • 부모 엔터티의 식별자가 자식 엔터티의 일반속성

 

 

참고

홍쌤의 데이터랩

728x90
반응형

'SQL > 제 1 과목' 카테고리의 다른 글

2장_데이터 모델과 SQL  (0) 2024.05.15