2012-03-23 6 views
2

사용자가 기사를 MySQL에 제출 한 다음 PHP가 게시물을 화면으로 보내는 작은 프로젝트를 진행 중입니다. 여태까지는 그런대로 잘됐다. 이제 기사를 사람들이 의견을 말할 수있는 "2 단계"의 게시물 시스템으로 확장하려고합니다. 사례는 그 작업을 수행하는 방법을 모릅니다.아티클 및 주석을 별도의 테이블로 작성하는 것이 더 좋습니까?

내가 저장 기사에 사용하는 테이블 :

표 : 게시물

ID 사용자 날짜 아바타 서명 후

난, 게시물 테이블에 새 행이라는 의견을해야하거나 코멘트를 별도의 테이블에 두어야합니까? 하나는 기사 용, 하나는 의견 용?

모든 도움을 주시면 감사하겠습니다.

+0

당신은 엉망진창의 디자인과 conding입니다. "이것은 디스플레이 SQL입니다 ..."라는 질문의 끝까지 모든 것을 안전하게 삭제할 수 있으며, 필요하지 않으며 질문을 혼란스럽게 만 만듭니다. – TMS

+0

나는 너를 위해 그것을 만들었다. 이제 귀하의 질문에 +1 할 수 있습니다 :) 이제는 더 짧아 지므로 더 많은 사람들이 그것을 읽습니다. :) – TMS

답변

1

약간 주관적이지만 게시물 테이블에 상위/하위 관계를 설정하고 동일한 테이블의 id 열에 대한 외래 키인 parent_id 열을 만듭니다. 추가 크레딧을 얻으려면 nested set 관계를 만들어 부모와 모든 자녀를 하나의 검색어로 끌어 올 수 있습니다.

2

귀하의 웹 사이트에서 사용하는 방법에 따라 다릅니다. 질문 : "내 기사와 의견은 본질적으로 같은 개념입니까?" 예이면 하나의 표를 사용하고, 표가 없으면 두 표를 사용하십시오. 대부분의 웹 사이트 기사는 다르게 작동하며, 범주화, 편집 등이 가능하며 일반적으로 주석 테이블을 복잡하게 만드는 다른 필드가 필요합니다. 따라서 두 테이블이 더 합리적입니다. 그러나 당신이 당신의 웹 사이트 기사 및 코멘트에 일반적으로 동일 하 (그러나 미래 증거를 생각하는 것을 시도하는 경우에 : 당신은 2 달에 몇몇 기사 기능을 추가 할 필요가 없을 것입니다?) 그 때 당신은 논평으로 기사를 생각할 수 있고 그들을위한 하나의 테이블.

당신이 하나 개의 테이블에 일을 합병하기로 결정, 당신은 당신이 게시물의 유형을 구별하기 위해 다른 열을 필요로하고, 일부 열이 어떤 종류의 사용되지 않는 남아있는 것을 깨닫게되면, 그것은 분명한 경고 신호 당신 두 개의 테이블이 있어야합니다!