2011-01-12 2 views
0

다른 필드가있는 게시 유형을 사용하는 것이 가장 좋은 방법인지 궁금해했습니다. 게시물 유형의 메시지 (제목, 본문)는 사진 (제목, URL 경로, 설명) 등의 필드와 다릅니다.게시 유형을 기반으로 한 데이터베이스 구조

이상적으로 나는 하나의 테이블 아래에 가지고 싶습니다. 보기에서 집계하십시오. jQuery를 사용하여 필드를 숨기거나 표시 할 수는 있지만 DB에 중복 필드가 남습니다.

이 문제를 해결하기위한 가장 좋은 방법에 대한 제안이 있으십니까?

감사

답변

1

난 후 유형 필드에

  1. 일반적인 게시물 테이블을 권 해드립니다.
  2. 포스트 유형 테이블
  3. 개별 포스트 유형에 대한 특정 테이블.

모든 게시물 유형에 적용되는 입력란의 경우 일반 게시물 테이블에 저장됩니다.

그런 다음 게시 유형 ID를 사용하여 추가 필드를 찾고 게시 유형 ID를 기반으로 해당 필드의 데이터를 검색 할 수 있습니다.

그래서 일반적인 게시 테이블은 다음과 같습니다.

| 이드 | 제목 | author_id | 텍스트 |

게시 유형 테이블은

| 이드 | post_type | < - post_type이 문자열입니다.

날짜 입력란이 필요한 '캘린더'게시 유형이 있다고 가정 해 봅니다. 사진 게시 유형이라고 부릅니다. 테이블은 "calendar_post_fields", 게시물 유형은 "calendar"입니다.

| 이드 | post_id | 날짜 |

+0

의미가 있습니다. 감사합니다. 나는 그것을 줄 것이다. – Goldy

0

첫 번째 사항부터 런타임에 새로운 "유형"을 추가 할 수 있어야합니까? 이 질문에 대한 답은 그렇지 않으면 견고한 해결책을 무효화 할 수 있습니다.

질문에 대한 대답이 "아니오"이면 gargantuan의 해결책으로 이동하십시오. 일반 필드에 대한 기본 테이블과 특정 필드에 대한 별도의 테이블이 있어야합니다. 특정 테이블에는 기본 테이블에 대한 외래 키가 있습니다. 이 방법은 동적 SQL을 피하고 중복 필드를 피하며 좋은 쿼리 성능을 제공합니다.

위의 해결 방법이 필요를 충족시키지 못하면 다른 해결책이 있지만 언급하지 않을 것입니다.

관련 문제