Database/Cassandra

[Cassandra][datastax] Hierarchy

bisi 2020. 5. 25. 19:52

데이터 설계시 필수 개념인 상속성(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/