2016-06-18 2 views
-1

저는 SQL 데이터베이스에서 전체 초보자입니다. 나는 삼보경 프로젝트로 만들고있는이 웹 사이트의 데이터베이스와 테이블을 구성하는 방법을 잘 모릅니다.포럼 사이트 용으로 SQL DB를 구성하는 가장 좋은 방법

웹 사이트는 4chan과 같은 포럼 사이트이지만 각 보드마다 별도의 디렉토리가있는 대신 해당 서신 디렉토리 아래에 나열된 편지로 시작하는 모든 보드가 있습니다.

예.

A boards -> art (artwork), ani (animation), etc. 

은 지금부터 나는 자신의 DB에 모든 편지 쓰기 디렉토리 (A 보드, B 보드)로 분리하고, DB에 각 보드에 제출 한 파일과 게시물에 대한 테이블을했습니다.

'게시물'테이블에는 각 게시물의 이름, 제목, 댓글 및 타임 스탬프가 저장됩니다.

'파일'테이블에는 업로드 된 파일과 관련된 모든 정보가 저장됩니다.

예. I 외래 키 'FILE_ID'를 이용하여 게시물 파일 연관 각 카테고리 (B 판, C 판 등)

A boards (DB) 
Tables: 
    ani_posts (posts submitted to ani), 
    ani_files (files submitted to ani), 
    #_posts, 
    #_files 

등등.

좋은 방법일까요? 어떻게 개선 될 수 있습니까?

+1

모든 게시물에 대해 하나의 표를 사용하고 특정 주제에 대한 열을 사용합니다. 이것이 당신이 한 일인지 확실하지 않습니다. 그런 다음 하루에 얼마나 많은 게시물을 기대하는지에 대한 질문이 있습니다. –

+0

최근 내 마음에 그랬다. 게시물과 파일 테이블 모두에 제목 열을 만들어야합니까? file_id는 고유하며 auto_increment에 있습니다. 나는 하루에 많은 게시물을 기대하지 않고, 내 청중은 ~ 500 명에 달하는 나의 학교가 될 것입니다. – Lolechi

+1

파일 테이블에는 게시물 테이블을 가리키는 외래 키가 있어야합니다 (각 파일을 게시물과 연결할 수 있도록). –

답변

0

이전에 게시하지 않으셔서 죄송합니다. 몇 가지 사항이 나타났습니다.

모든 데이터가 단일 DB에 저장되도록 테이블과 DB를 다시 작성했습니다. "posts"라는 제목의 표와 또 다른 "files"표를 만들었습니다.

테이블 설정이있는 스프레드 시트에 여기에 a link이 있습니다.

posts 테이블과 파일 테이블은 외래 키 및 계단식 업데이트 (posts 테이블은 parent)로 연결됩니다. 모든 게시물을 단일 테이블에 배치하기 위해 범주 요약 (art - artwork, ani - animation 등)을 "posts"에 저장합니다.

트래픽 문제를 제기 한 Tim Biegeleisen에게 감사드립니다.하지만 서버가 하나의 테이블에서 500 개의 게시물을 처리 할 것이라고 생각합니다 (즉, 모든 사람이 매일 게시하는 경우).

나는이 질문에 대한 대답으로 표시하고 있지만 최적화 및 조언은 여전히 ​​열려 있습니다.

관련 문제