# 주제 안의 축과 기록을 잇는 자리 ## 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: L1071–L1073. - **topic** (database): 주제. 축의 이름을 주제가 정한다. Evidence: L1057–L1059, L1067–L1068. - **topic_variant** (database): 축의 값들. Evidence: L1060–L1060, L1047–L1048. - **record_variant** (database): 어느 기록이 어느 축에 걸리는지 적는 자리. 외래키를 걸지 못한다. Evidence: L1061–L1061, L1071–L1073. - **document** (database): 기록 테이블 하나. Evidence: L1071–L1072. - **open_question** (database): 기록 테이블 하나. Evidence: L1071–L1072. - **project_decision** (database): 기록 테이블 하나. Evidence: L1071–L1072. ## Relationships - **topic → topic_variant:** 1 : N. Evidence: L1057–L1060. - **topic_variant → record_variant:** 축에 건다. Evidence: L1060–L1061. - **record_variant → document:** (kind, id). Evidence: L1061–L1073. - **record_variant → open_question:** (kind, id). Evidence: L1061–L1073. - **record_variant → project_decision:** (kind, id). Evidence: L1061–L1073.