SQLD

[SQLD 1과목] 데이터 모델링의 이해 (속성, 관계, 식별자)

뜻 지, 깨달음 오 2023. 6. 10. 05:43

속성

: 업무에서 필요로 하는 인스턴스에서 관리하고자 하는 의미상 더 이상 분리되지 않는 최소의 데이터 단위

: 엔터티에 대한 자세하고 구체적인 정보 나타냄

: 하나의 엔터티는 두개 이상의 속성을 가짐

: 하나의 인스턴스에서 각각의 속성은 한개의 속성값을 가질 수 있음

: 속성도 집합임

 

속성의 특성에 따른 분류

1. 기본속성

2. 설계속성

3. 파생속성: 데이터를 조회할 때 빠른 성능을 낼 수 있게 원래 속성의 값을 계산하여 저장할 수 있도록 만든 속성

 

도메인: 각 속성이 가질 수 있는 값의 범위

 

속성의 명칭

  • 현업의 업무 용어 사용
  • 지나친 약어 사용은 지양
  • 유일한 이름
  • 분명한 의미
  • 서술식 X

 

관계

존재적 관계 행위에 의한 관계
ex) 부서, 사원의 '소속' 관계 ex) 주문, 배송의 '배송근거' 관계

데이터모델링에서는 존재적 관계와 행위에 의한 관계를 구분하는 표기법이 없음

UML에서는 연관관계(실선) and 의존관계 (점선)에 대해 다른 표기법을 가지고 표현

 

관계의 표기법

1. 관계명

2. 관계차수 (1:1, 1:M, M:N)

3. 선택성 (필수관계, 선택관계)

 

관계 도출 시 체크할 사항

  • 두개의 엔터티 사이에 관심있는 연관규칙이 존재하는가?
  • 두개의 엔터티 사이에 정보의 조합이 발생하는가?
  • 업무기술서, 장표에 관계연결에 대한 규칙이 서술되어있는가?
  • 업무기술서, 장표에 관계연결을 가능하게 하는 동사(verb)가 있는가?

 

식별자

 

식별자의 종류

  • 대표성 있으면 주식별자
    • 주식별자가 한번 특정 엔터티에 지정되면 그 식별자의 값은 변하지 않아야 함 (불변성)
    • 반드시 값이 있음 (존재성)
    • 주식별자에 의해 엔터티 내의 모든 인스턴스들이 유일하게 구분되어야 함 (유일성)
    • 주식별자를 구분하는 속성의 수는 유일성을 만족하는 최소의 수 (최소성)
  • 대표성 없으면 보조식별자

 

  • 엔터티 내에서 스스로 생성되었으면 내부식별자
  • 엔터티 내에서 스스로 생성되지 않았으면 외부식별자

 

  • 단일속성으로 구분이 되면 단일식별자
  • 단일속성으로 구분이 안되면 복합식별자

 

  • 업무에 의해 만들어지는 식별자이면 본질식별자
  • 업무적으로 만들어지지는 않지만 원조식별자가 복잡한 구성을 가지고 있기 때문에 인위적으로 만든 식별자이면 인조식별자

 

식별자관계 비식별자관계
강한 연결관계 표현 약한 연결관계 표현
실선 점선
자식 주식별자의 구성에 포함됨 자식 일반속성에 포함됨
- 반드시 부모엔터티 종속
- 자식 주식별자구성에 부모 주식별자포함 필요
- 상속받은 주식별자속성을 타 엔터티에 이전 필요
- 약한 종속관계
-자식 주식별자구성을 독립적으로 구성
- 자식 주식별자구성에 부모 주식별자 부분 필요
- 상속받은 주식별자속성을 타 엔터티에 차단 필요
- 부모쪽의 관계참여가 선택관계