Files
document-haness/docs/TechLog/final/assets/diagrams/topic-variant-model/topic-variant-model.alt.md
T

1.9 KiB
Raw Blame History

주제 안의 축과 기록을 잇는 자리

Alternative text

왼쪽부터 topic, topic_variant, record_variant 로 이어지고 record_variant 가 document·open_question·project_decision 세 테이블을 가리키는 구조도.

Long description

왼쪽에 topic 이 있고 variant_label 로 축의 이름을 스스로 정한다. 그 오른쪽에 topic_variant 가 있고 SPA, Mediator, BFF, Forward-Auth 같은 축의 값들을 담는다. 그 오른쪽에 record_variant 가 있고 어느 기록이 어느 축에 걸리는지를 종류와 아이디의 쌍으로 적는다. record_variant 는 오른쪽의 document, open_question, project_decision 세 테이블을 가리키는데, 기록이 종류마다 다른 테이블에 살기 때문에 외래키를 걸지 못하고 쌍으로만 가리킨다.

Elements and evidence

  • Boundary: 기록은 종류마다 다른 테이블에 산다 (system): No additional description. Evidence: L1071L1073.
  • topic (database): 주제. 축의 이름을 주제가 정한다. Evidence: L1057L1059, L1067L1068.
  • topic_variant (database): 축의 값들. Evidence: L1060L1060, L1047L1048.
  • record_variant (database): 어느 기록이 어느 축에 걸리는지 적는 자리. 외래키를 걸지 못한다. Evidence: L1061L1061, L1071L1073.
  • document (database): 기록 테이블 하나. Evidence: L1071L1072.
  • open_question (database): 기록 테이블 하나. Evidence: L1071L1072.
  • project_decision (database): 기록 테이블 하나. Evidence: L1071L1072.

Relationships

  • topic → topic_variant: 1 : N. Evidence: L1057L1060.
  • topic_variant → record_variant: 축에 건다. Evidence: L1060L1061.
  • record_variant → document: (kind, id). Evidence: L1061L1073.
  • record_variant → open_question: (kind, id). Evidence: L1061L1073.
  • record_variant → project_decision: (kind, id). Evidence: L1061L1073.