F closure 유도하기

<Armstrong’s axioms>

Untitled

<additional rules>

Untitled

8.9 Modeling Temporal Data

BCNF Process

  1. E-R Data를 relational data로 변환하기(1NF)
  2. business rule이나 constraints에 의한 functional dependencies 정의하기
  3. trivial(좌변이 우변을 포함)하지 않는 functional dependency의 좌변에 나오는 attribute sets에 대한 closure 계산 (A→B일 때 A+)
  4. closure of attribute set(A+)이 relation의 모든 attributes(R)가 아니라면(A+≠R) 그 attribute set은 relation의 superkey가 아니고, 해당 functional dependency는 BCNF 조건을 위반
  5. BCNF를 위반하는 functional dependency를 중심으로 lossless decomposition 실행
  6. relation R-(B-A)가 BCNF인지 검사 후 lossless decomposition하는 과정을 재귀적으로 반복

<aside> 💡 언제 쪼개나? >> fd 좌변 중 하나(A)의 closure(A+)가 R이 아닐 때

</aside>

fd 좌변 중 하나(A)의 closure(A+)가 R이 아니다.

= A가 R의 superkey가 아니다.

= A → B가 BCNF의 조건을 위배한다.

<aside> 💡 어떻게 쪼개나? >> R1 = A-B and R2 = R-(A-B)

</aside>