본문 바로가기
DB/SQLD

[SQLD] 데이터모델링 3요소 + 식별자

by 댕꼬 2022. 5. 7.
728x90

데이터모델링 3요소 +식별자


데이터모델링의 3가지 요소

: 엔티티, 속성, 관계

 

①엔티티

 

엔티티란?

- 사람, 장소, 물건, 사건, 개념들의 명사에 해당

- 저장이 되기 위한 어떤 것

- 인스턴스의 집합 

 

특징 

- 업무에서 필요로 하는 정보

- 유일한 식별자가 존재

- 두개 이상의 인스턴스의 집합

- 업무프로세스가 반드시 이용함

- 반드시 속성을 가지고 있다

- 다른 엔티티와 최소 한개이상의 관계가 있어야 함

 

엔티티의 분류

  • 유무형에 따른 분류 : 유형, 개념, 사건 
  • 발생시점에 따른 분류 : 기본, 중심, 행위

 

②속성

 

속성이란?

- 업무에서 필요로 하며, 의미상 분리되지 않는 최소의 데이터 단위

- 하나의 속성은 하나의 인스턴스에만 존재할 수 있으며, 관계로 기술될 수 없고 자신이 속성을 갖지 못함

 

엔티티/인스턴스/속성/속성값의 관계

- 엔티티는 2개 이상의 인스턴스 집합

- 엔티티는 2개 이상의 속성을 가진다

- 한개의 속성은 한개의 속성값을 가진다

 

속성의 표기법

: 식별자일경우 #, 필수값이면 *, 선택값이면 o 표현

 

속성의 분류

  • 특성에 따른 분류 : 기본, 설계, 파생
  • 엔티티 구성방식에 따른 분류 : PK속성, FK속성, 일반속성

도메인  

-  각 속성이 가질 수 있는 범위 값

 

 

③관계

 

관계란?

: 상호 연관성이 있는 상태

 

* 관계 정의시 체크사항

- 두개의 엔티티 사이에 관심있는 연관규칙이 존재하는가?

- 두개의 엔티티 사이에 정보의 조합이 발생되는가?

- 규칙이 서술되어 있는가?

- 동사가 있는가?

 

관계의 분류

  • 존재에 의한 관계 : ex) 부서, 사원 - 부서엔 사원이 존재
  • 행위에 관한 관계 : ex) 고객, 주문 - 고객이 주문을 해야 성립

관계의 표기법

관계명 관계의 이름/ 현재형으로 표현
관계차수 1:1, 1:M, M:N
관계 선택사항 필수관계, 선택관계

 


 

식별자 

 

식별자란?

: 엔티티 내에서 인스턴스들을 구분할 수 있는 구별자

 

식별자의 특징 

1. 유일성 : 모든 인스턴스들을 유일하게 구분함

2. 최소성 : 유일성을 만족하는 최소의 수

3. 불변성 : 식별자의 값은 변하지 않음

4. 존재성 : NULL값 불가

 

식별자 분류

  • 대표성 여부 : 주식별자(참조관계 연결 가능), 보조식별자(불가능)
  • 스스로 생성 여부 : 내부식별자(스스로 가능), 외부식별자 (타엔티티로부터 받아옴)
  • 속성의 수: 단일식별자(하나의 속성으로 구성), 복합식별자
  • 대체여부 : 본질식별자(업무에 의해 만들어짐), 인조식별자(인위적으로 만듬)

식별자 도출 기준

- 자주 이용되는 속성을 주 식별자로 지정

- 명칭, 내역과 같이 이름으로 기술되는 것들은 가능하면 지정X

- 복합 주식별자 구성 시, 너무 많은 속성이 포함되지 않도록 주의

 

식별자 관계와 비식별자 관계

식별자 관계 (강한연결) 부모의 주식별자가 상속이 되는 경우로, 상속받은 식별자를 자식의 주식별자로 사용
비식별자 관계 (약한연결) 부모엔티티로부터 속성을 받았지만 주식별자로 사용하지 않고,
일반적인 속성으로 사용한다.
728x90

'DB > SQLD' 카테고리의 다른 글

[SQLD] SQL기본 - 명령어  (0) 2022.05.13
[SQLD] 데이터 모델과 성능  (0) 2022.05.08
[SQLD] 정규화, 반정규화  (0) 2022.05.08
[SQLD] 데이터모델링의 이해  (0) 2022.05.05

댓글