찾다

 >  Q&A  >  본문

mysql - 라벨 테이블의 일부 문제

저는 mysql을 방금 배웠고 mysql이 익숙하지 않습니다. 이제 이런 테이블이 3개 생겼습니다.

기사 테이블

id 제목 콘텐츠
0 안녕 세상
1 안녕 ....

질문 양식

id 제목 콘텐츠
0 안녕 세상
1 안녕 ....

태그 테이블

id 이름 아바타
1 자바 ....
2 js ....

두 테이블 모두 태그 테이블을 공유합니다. 태그 테이블의 아바타는 태그의 아바타입니다. 각 태그에는 자체 아바타 또는 기본 아바타가 있습니다.
현재 궁금한 점은 태그 테이블을 다른 두 테이블과 어떻게 연결하느냐는 것입니다. 태그 ID를 기반으로 기사나 주제를 빠르게 찾을 수 있도록 해야 합니다.

제가 생각한 첫 번째 해결책은 기사 테이블과 질문 테이블 아래에 태그 필드를 추가하는 것이었습니다. 쉼표로 구분해서(좋은지 아닌지 모르겠음...) 그러다가 검색해보니 정말 검색할 줄 모른다는 걸 알게 됐는데... 이렇게 검색하려면 어떻게 해야 하는지... like를 쓰는 걸까. ..

기사 테이블

id 제목 콘텐츠 태그
0 안녕 세상 0,1
1 안녕 .... 2,3,4

질문 양식

id 제목 콘텐츠 태그
0 안녕 세상 1,4
1 안녕 .... 6,3

그럼 두 번째 계획을 생각했는데, 기사 테이블과 질문 테이블의 구조가 기본적으로 동일하기 때문에 병합할 수 있을까요?

질문과 기사 제목의 조합....

id제목콘텐츠태그종류0안녕세상1,4기사1안녕....6,3질문
그렇다면 병합하면 안 될 것 같은데요? 분리하면 데이터베이스가 그렇게 크지 않기 때문에 레이블이 1인 질문을 모두 찾고 싶다면 단일 테이블에서 쿼리하는 것이 더 빠를까요?

그런 다음 세 번째 계획을 생각했는데, 상관표를 만들어 보면 이 상관표에 ID가 필요한지 잘 모르겠습니다.. 상관표가 있으면 기사와 질문의 표가 되지 않을까요? 다른가요? 태그 필드가 필요합니다.

협회 테이블

aq_id0101

이 쿼리는 비교적 간단한 것 같은데요? select 문 하나만으로 할 수 있고 쿼리 속도도 나쁘지 않네요... 그런데 시간이 지날수록 이 관련 테이블에는 확실히 데이터가 많아질 텐데요, 이 쿼리는 좀 복잡해?

누군가가 나에게 답변을 해줄 수 있기를 바랍니다... 모두 미리 감사드립니다

世界只因有你世界只因有你2774일 전758

모든 응답(2)나는 대답할 것이다

  • 漂亮男人

    漂亮男人2017-05-18 10:51:42

    먼저 주신 기사표와 질문표에 깜놀했습니다... 잊어버리세요 구조도 같고, 데이터도 그대로네요...
    둘째, 에서 사이좋게 지내던 솔루션 태그 시작은 바람직하지 않습니다... 태그 수정도 어렵고, 말씀하신 대로 쿼리도 어렵습니다.
    기사 테이블과 질문 테이블의 병합은 데이터베이스 설계와 관련하여 전혀 필요하지 않습니다. , 데이터베이스의 패러다임을 이해할 수 있습니다.
    마지막으로 연관 테이블 아이디어가 매우 좋고 aq_id 및 tag_id를 사용하는 것도 정확합니다. 미래에 많은 데이터가 있을 수 있다고 말씀하셨는데 걱정하지 마세요. mySql이 채식주의자가 아니라는 점은 말할 것도 없고 데이터가 너무 많다는 문제도 향후 연구에서 해결될 것입니다

    회신하다
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-18 10:51:42

    처음부터 해결 방법은 태그를 쿼리할 수 있다는 것입니다. 태그의 각 숫자는 기호로 구분됩니다. 예를 들어 1,11,31을 쿼리할 때 태그를 사용할 수 있습니다. '%, 1, %'와 같습니다. 이를 알아낼 수 있어야 합니다.

    회신하다
    0
  • 취소회신하다
  • 태그_ID
    1
    6
    4
    3