데이터 설계시 필수 개념인 상속성(Hierarchy)에 대해서 알아보자.
Entity Type Hierarchy
- ISA(is-a) Hierarchies라는 뜻은 만약 A ISA B라고 한다면, 모든 A entity는 B entity로서 간주됨을 의미한다.
- 상위클래스(Superclass)-하위클래스(Subclass)의 관계로 말할 수 있다.
- ex ) Employees ISA Constract_Employees, Video ISA Full Video
- Superclass(A)의 속성들을 subclass(B)에게 적용시키기(물려주기)위해 사용한다.
- Relationship에서 entity를 identity하기 위해 사용한다.
Transitivity
- Transitivity의 원어적 의미는 전이종속성이다.
- 동일한 테이블의 값 사이의 간접적 관계로 기능적 종속성이 발생한다.
- 3NF(Third Normal Form)의 정규화 표준을 달성하려면 전이 종속성을 제거해야한다.
- 본질적으로 전 이적 종속성에는 기능적 종속성이 있는 세 개 이상의 속성(또는 데이터베이스 열)이 필요하다.
- 이는 테이블 열 A가 중간 열C를 통해 열 B에 의존한다는 것을 의미한다.
- A->B->C 이면 A->C 임을 의미
- Full Video는 Tv Show를 subType으로 가지고 있다.
- 위의 그림 처림 Video가 Full Video에 의존성이 있고, Full Video는 Tv Show에 의존성이 있다면
- Video는 TV Show에 의존성이 있음을 의미한다.
- 하지만, 이러한 의존성은 필요할 때가 있고, 피해야하는 경우가 있기때문에 설계할 때 주의해야한다.
Disjointness Constraint
- 분리 제약 조건에서 하나의 개체는 단지 하나의 하위 개체에만 속해야 한다.
- 복수의 subclass를 가질수 없다는 것을 의미한다. (= 여러개의 개체 집합에 속할 수 없다.)
- 반드시 일반화(혹은 세부화)에 명시 되어야한다.
- 개체-관계 다이어그램에서 삼각형 옆에 분리(disjoint)라는 단어를 써 줌으로써 표시힌다.
Covering Constraint
- Overlap Contraints subclass를 가질 수 있다.
Relationship Keys
참고사이트
https://www.lifewire.com/transitive-dependency-1019760
http://www.gurubee.net/lecture/2242
https://jgtonys.github.io/school/2018/10/20/database-2/
https://theneuroflux.wordpress.com/tag/disjointness-constraint/
'Database > Cassandra' 카테고리의 다른 글
[Cassandra][datastax]Application Workflow and Access Patterns (0) | 2020.05.25 |
---|---|
[Cassandra][datastax] Relationship Keys (0) | 2020.05.25 |
[Cassandra][datastax] Conceptual Data Modeling, Entity-Relationship (ER) Model (0) | 2020.05.25 |