Tags in a comma-separated column
Articles store their tags as a comma-separated string. Finding every article tagged "security" means matching a substring across the whole table, and "security" also matches "security-review".
Renaming a tag means rewriting every row that mentions it, and nothing stops a typo from silently creating a new tag.
Model the relationship the way the database can actually use it.
Components — tap one, then tap a slot on the diagram
!Searching for a tag matches other tags that contain it, and renaming one means rewriting every row.
Outside every boundary: tags (one row per tag), articles (tags: "a,b,c"; FAILED: substring search), an empty slot for the between the two Connections: articles calls between the two (step 1) between the two calls tags — one row per pair (step 2)
tagsone row per tag
articlestags: "a,b,c"substring search