1. 데이터 모델링 관련 유의사항
- 여러 장소에 같은 정보를 보관하지 않도록 한다.
- 데이터 모델링을 할때 반정규화는 고려 대상이 아니다. 성능을 위한 반정규화는 모델링 이후의 단계이고, 모델링 단계에서 반정규화는 성능을 해칠 수 있으므로 주의한다.
2. 부모 엔티티로부터 속성을 받았지만, 자식 엔티티에의 주식별자로 사용하지 않는 경우
- 자식 엔티티에서 받은 속성이 반드시 필수가 아니어도 무방한 속성, 부모 없는 자식이 생성될 수 있는 경우
- 데이터 생명주기가 다른 경우
- 여러 개의 엔티티가 통합되어 표현되었는데, 각각의 엔티티가 별도의 관계를 가지는 경우
- 자식엔티티에 주식별자로 사용되어도 되지만, 자식엔티티에서 별도의 주식별자를 생성하는 것이 더 유리하다고 판단할때
3. 데이터 모델링
- 개념, 논리, 물리
- 개념은 추상화 수준이 높고, 논리는 시스템적으로 구축하고자 하는 모델에 대해 key/관계 등을 명확히 표현(재사용성 높음), DB에 이식할 수 있을 정도의 수준으로 물리 성격을 고려하여 설계
※ 스키마
개념 > 내부 > 외부 스키마
4. 파생속성
- 파생속성은 다른 속성에 의해 영향을 받아 값이 변화한다(주문수량, 총 주문금액 등)
5. 속성
- attribute
- 업무에서 필요로 하는 인스턴스를 구성하는 요소로, 엔티티가 가지는 항목이다.
- 업무에 필요한 데이터가 저장될 수 있고, 더이상 분리할 수 없는 최소한의 단위이다.
6. NF
- 1 : 원자값으로 구성
- 2 : 부분함수종속제거
- 3 : 이행함수종속제거
- 4 : 결정자가 아닌 후보키를 제거(관련 함수종속 제거)
- 5 : 다치종속제거
- 6 : 조인종속제거
7. 참고자료
https://yunamom.tistory.com/336#answer9