반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- @Configuration
- 스프링부트
- 스프링 부트 기본
- DIP
- 싱글톤
- 스프링 빈
- 스프링 컨테이너
- 스프링
- java
- resultMap
- DI
- db
- 스프링 부트 입문
- springboot
- jdbc
- JPA
- kafka
- 생성자 주입
- sqld
- 스프링 프레임워크
- Effective Java
- spring
- assertThat
- SQL
- 필드 주입
- Javascript
- thymeleaf
- assertThrows
- 스프링 부트
- mybatis
Archives
- Today
- Total
선 조치 후 분석
SQLD 개념 정리 - 데이터 모델링(3) 본문
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 |