선 조치 후 분석

SQLD 개념 정리 - 데이터 모델링(3) 본문

ETC/SQLD

SQLD 개념 정리 - 데이터 모델링(3)

JB1104 2023. 9. 1. 13:30
728x90
반응형
SMALL

식별자

엔티티를 대표할 수 있는 속성을 의미

하나의 엔티티는 반드시 하나의 유일한 식별자가 존재해야 한다.

 

주식별자 특징

  • 유일성 : 모든 인스턴스들이 주식별자로 유일하게 구분되어야 한다.
  • 최소성 : 주식별자를 구성하는 속성은 최소의 수가 되어야 한다.
  • 불변성 : 주식별자의 값은 자주 변하지 않아야 한다.
  • 존재성 : 주식별자가 지정되면 반드시 값이 들어야 한다.

 

식별자 분류

 

1. 대표성 여부

주식별자 유일성O,최소성O,대표성O 사원번호
보조식별자 유일성O,최소성O,대표성X 주민번호

2. 스스로 생성 여부

내부식별자 엔티티 내부에서 스스로 만들어지는 식별자  
외부식별자 타 엔티티와의 관계로 만들어지는 식별자  

3. 속성의 수

단일식별자 하나의 속성으로 구성된 식별자 주민번호
복합식별자 둘 이상 속성으로 구성된 식별자 이름 + 주민번호

4. 대체 여부

본질식별자 업무에 의해 만들어지는 식별자  
인조식별자 본질식별자가 복잡해서 인위적으로 만든 식별자 사원번호

 

주식별자 도출기준

  • 해당 업무에서 자주 이용되는 속성으로 지정
  • 명칭, 내역과 같이 이름으로 기술되는 것은 가능하면 지정하지 않는다.
  • 복합 속성인 경우, 너무 많은 속성이 모함되지 않도록 한다.

 

식별자/비식별자 관계

  식별자관계 비식별자관계
목적 강한 연결관계를 표현 약한 연결관계를 표현
부모에게 물려받은 식별자 부모로부터 받은 식별자를
자식 엔티티에서 주식별자로 이용하는 경우
-> 부모엔티티가 생성되어야 자식 엔티티가 생성된다.
부모로받은 식별자를
자식 엔티티에서 주식별자로 이용하지 않고
일반속성으로 이용하는 경우
-> 부모 엔티티가 없어도 된다.


식별자/비식별자로만 구성할 경우
여러 부모의 식별자를 받을 경우, 주식별자의 개수가 많아지게 된다.
-> 개발 시 복잡해지고 오류가능성 높아진다.

자주 조회하는 주식별자를 일반속성으로 두면 자식 엔티티에서 데이터를 처리할 때, 쓸데없이 부모 엔티티까지 찾아가야하는 경우가 발생한다.
표기법 실선 점선
식별자/비식별자 관계를 선택해야하는 경우 - 강한 관계인 경우
- 자식테이블에서 종속적인 주식별자를 원할 경우
- 부모테이블의 식별자를 계속 상속할 경우
- 엔티티별로 생명주기를 동일학 관리할 경우
- 약한 관계인 경우
- 자식테이블에서 독립적인 주식별자를 원할 경우
- 부모테이블의 식별자를 상속받지 않을 경우
- 엔티티별로 생명주기를 다르게 관리할 경우
- SQL 문장의 복잡성이 증가하는 경우

ERD 표기법 (IE 표기법 vs Bakrer 표기법)

ERD는 서로 다른 엔티티들과의 관계를 직관적으로 표현하는 수단

ERD의 구성 요소는 엔티티, 관계, 속성 3가지이다.

 

Barker 표기법 속성 표시
# : PK
* : Nout null 
o : null 가능
관계
필수 : 실선
선택 : 점선
IE 표기법 관계
타원 : 0 개체 가능
해쉬 마크 : 1개체 허용
까마귀 발 : 그 이상의 개체 허용

 

728x90
반응형
LIST

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

SLQD 개념 정리 - 데이터 모델링 (2)  (0) 2023.09.01
SQLD 개념정리 - 데이터 모델링 (1)  (1) 2023.09.01