그 전에 알아볼 데이터 모델링
데이터 모델링의 중요한 세 가지 개념
1) 업무가 관여하는 어떤 것 ( Things )
--> 이는 엔터티
ERD 를 그릴 때.. -> 엔터티를 배치하는 것도 중요한데 가장 중요한 엔터티를 왼쪽 상단에 배치
2) 어떤 것이 가지는 성격 ( Attributes)
-> 속성 / 세부적인 사항 등..
3) 업무가 관여하는 어떤 것의 관계 ( Relationship)
-> 관계
여기 안에서 중요한 것 먼저 고려해야 하는 사항은 먼저 엔터티, 속성, 관계로 인식되어야하는데 저희가 알아볼 부분은 여기서 관계입니다.
1. 관계의 개념
- 인스턴스 사이의 논리적인 연관성으로서 존재 또는 행위로서 서로에게 연관성이 부여된 상태
- e.x) 강사가 수강생을 가르친다.
- 인스턴스는 각각은 자신의 연관성을 가지고 있을 수 있다. 이것을 집합하여 '강의' 라는 관계를 도출
각 강사가 여러 수강생을 가르칠 수 있고 다른 강사는 또 박혜수라는 학생을 가르칠 수 있듯이.
2. 관계의 분류
- 존재에 의한 관계
- 행위에 의한 관계
3. 관계 표기명
- 관계 차수 : 두 개의 엔터티 간 관계에서 참여자의 수를 표현하는 것을 관계차수
4. 식별자
- 하나의 엔터티에 구성된 여러 개의 속성 중에 엔터티를 대표할 수 있는 속성
- 주식별자인지 아니면 외부식별자
- 식별자의 특성 : 유일성 / 최소성 / 불변성 / 존재성
- 식별자 관계와 비식별자관계의 결정
* 외부 식별자는 자기 자신의 엔터티에서 필요한 속성이 아니라 다른 엔터티의 관계를 통해 자식 쪽에 엔터티에 생성되는 속성에 대해서 보기.
식별자와 비식별자
- 비식별자관계로만 설정할 경우의 문제점
- 식별과 비식별을 잘 구분해서 써야 좋은 데이터 모델링을 할 수 있음.
- 주식별자 : 인스턴스의 유일성을 가질 수 있도록 하는 식별자 / PK
- 외부 식별자 : 자기 자신의 엔터티타입에 필요한 속성이 아니라 다른 엔터티의 관계를 설명하기 위해 쓰이는 식별자
FK 로 생각하면 편함.
- 약간 부모 엔터티와 자식 엔터티 가 있으면 부모의 식별자가 자식의 식별자에 어떻게 가는지..
- 보조 식별자 :
식별자의 분리 체계
* 대표성 여부 : 주식별자 <---> 보조식별자
* 스스로 생성 여부 : 내부 식별자 <---> 외부식별자
* 속성수 : 단일식별자 <---> 복합식별자
* 대체 여부 : 본질식별자 <---> 인조식별자
'이유's Programming > DBMS' 카테고리의 다른 글
[ 식별자 ] 본질식별자와 인조식별자 (0) | 2021.03.18 |
---|---|
[ 2 -1 ] 관계와 조인의 이해 (0) | 2021.03.16 |
2-2. 정규화 ( 제 3 정규형, 반정규화와 성능 ) (0) | 2021.03.15 |
2-1. 정규화 ( 제 1 정규형, 제 2 정규형 ) (0) | 2021.03.08 |
1-2. 엔터티 entity (0) | 2021.03.04 |