문제

기존 WebApp이 있고 사용자가 기존 객체를 태그 할 수 있도록 태그 기능을 추가하려고합니다. 질문은 각 객체에 태그 열을 추가해야합니까? 아니면 정규화하고 각 객체에 태그 모음이있는 태그 테이블을 사용해야합니까? 나는 더 깨끗하고보고하기 쉽고 태그 구름을 만들기가 더 쉽기 때문에 후자에 기대고 있습니다. 그러나 이것이 1000 번 해결되었다는 것을 알고 있기 때문에 내가 뭔가 빠졌는지 묻고보고 싶었습니까?

도움이 되었습니까?

해결책

하나 이상의 태그를 객체와 연결 해야하는 사용자를 예견합니까?

만약에 ~ 아니다, TAG_ID FK를 객체 테이블에 추가하십시오. 그렇지 않으면, 다수의 관계를 올바르게 모델링하려면 총 3 개의 테이블이 필요합니다.

물체

  • Object_id (PK)

Object_Tag_XREF

  • Object_id (pk, fk to object)
  • tag_id (pk, fk to tag)

꼬리표

  • tag_id (pk)

다른 팁

예, 정상화해야합니다. '태그 열'은 레코드 당 하나의 태그 만 지원하거나 끔찍한 검색 성능을 제공합니다.

확실히 정상화하십시오. 태그 테이블, 기존 객체의 테이블 및 그 사이의 링크 테이블.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top