Files
document-haness/docs/n+1liner/final/.techviz/target-schema/spec.json
T

177 lines
4.3 KiB
JSON
Executable File

{
"version": "1.1",
"id": "target-schema",
"title": "목표 스키마에 추가되는 mention 관계",
"question": "목표 모델에서 기존 users는 mentioned 사용자 역할로 feed_item_mentions에 어떻게 연결되는가?",
"type": "erd",
"direction": "LR",
"audience": [
"백엔드 개발자"
],
"summary": "기준선 관계에 feed_items와 기존 users를 잇는 feed_item_mentions 관계가 추가된다.",
"alt": "기존 users를 mentioned 사용자 역할로 재사용해 feed_item_mentions와 연결한 5노드 목표 관계도.",
"long_description": "왼쪽의 users와 pages가 중앙의 feed_items에 연결된다. 오른쪽에는 highlights와 feed_item_mentions가 놓인다. feed_items는 두 엔티티에 각각 연결되고, 기존 users도 mentioned 사용자 역할로 feed_item_mentions에 연결된다.",
"source_context": {
"document": "docs/n+1liner/final/document.md",
"document_sha256": "f9e048a68db0ab82078955bf611b06a71a0033539e0c87ff0aa0d620a3126e36",
"anchor": {
"kind": "heading",
"value": "3.1 관계와 스키마",
"line": 44
}
},
"composition": {
"profile": "component-flow",
"diagram_only": true,
"reference_ids": [
"payment-event-flow"
],
"rationale": "기준선의 연결 경로와 feed_item_mentions를 통한 추가 연결을 하나의 방향성 있는 관계망으로 읽게 하는 구조가 목표 모델의 차이를 직접 드러낸다.",
"focus_node": "feed-items"
},
"groups": [],
"nodes": [
{
"id": "users",
"label": "users",
"kind": "entity",
"role": "source",
"evidence": [
{
"start_line": 46,
"end_line": 46
}
],
"assumption": false
},
{
"id": "pages",
"label": "pages",
"kind": "entity",
"role": "source",
"evidence": [
{
"start_line": 47,
"end_line": 47
}
],
"assumption": false
},
{
"id": "feed-items",
"label": "feed_items",
"kind": "entity",
"role": "store",
"evidence": [
{
"start_line": 46,
"end_line": 46
}
],
"assumption": false
},
{
"id": "highlights",
"label": "highlights",
"kind": "entity",
"role": "sink",
"evidence": [
{
"start_line": 48,
"end_line": 48
}
],
"assumption": false
},
{
"id": "feed-item-mentions",
"label": "feed_item_mentions",
"kind": "entity",
"role": "sink",
"evidence": [
{
"start_line": 56,
"end_line": 56
}
],
"assumption": false
}
],
"edges": [
{
"id": "users-have-feed-items",
"from": "users",
"to": "feed-items",
"label": "1:N",
"kind": "relationship",
"evidence": [
{
"start_line": 46,
"end_line": 46
}
],
"assumption": false
},
{
"id": "pages-have-feed-items",
"from": "pages",
"to": "feed-items",
"label": "1:N",
"kind": "relationship",
"evidence": [
{
"start_line": 47,
"end_line": 47
}
],
"assumption": false
},
{
"id": "feed-items-have-highlights",
"from": "feed-items",
"to": "highlights",
"label": "1:N",
"kind": "relationship",
"evidence": [
{
"start_line": 48,
"end_line": 48
}
],
"assumption": false
},
{
"id": "feed-items-to-mentions",
"from": "feed-items",
"to": "feed-item-mentions",
"label": "피드 아이템",
"kind": "relationship",
"evidence": [
{
"start_line": 56,
"end_line": 56
}
],
"assumption": false
},
{
"id": "users-to-feed-item-mentions",
"from": "users",
"to": "feed-item-mentions",
"label": "mentioned 사용자",
"kind": "relationship",
"evidence": [
{
"start_line": 56,
"end_line": 56
}
],
"assumption": false
}
],
"legend": [],
"metadata": {
"rationale": "기준선 관계를 유지하면서 line 43의 feed_item_mentions가 기존 users를 mentioned 사용자 역할로 참조하는 관계만 추가했다."
}
}