기존 LAMP 사이트 중 하나에 매우 간단한 블로그 기능을 추가하고 싶습니다. 사용자의 기존 프로필과 연결되어 블로그의 각 게시물에 대한 제목과 본문을 간단히 입력 할 수 있으며 제출시 날짜가 자동으로 설정됩니다. 그들은 언제든지 블로그 게시물과 제목을 편집하고 삭제할 수 있습니다. 블로그는 가장 최근부터 가장 오래된 것 (아마도 한 페이지에 20 개의 게시물)이 표시되며 그 위에 적절한 페이지 매김이 표시됩니다. 다른 사용자는 각 게시물에 댓글을 남길 수 있으며, 블로그 소유자는 삭제할 수 있지만 사전 검토는 허용되지 않습니다. 그게 기본입니다. 내가 말했듯이 아주 간단합니다.
이를 위해 MySQL 테이블을 어떻게 구성해야하나요?
블로그 게시물과 댓글이있을 것이기 때문에 각각에 대해 별도의 테이블이 필요하다고 가정하고 있습니다. 맞습니까? 그러면 각 테이블에 어떤 열이 필요하고 어떤 데이터 구조를 사용해야하며 두 테이블을 어떻게 연결해야합니까 (예 : 외래 키)?
나는 이와 같은 것에 대한 튜토리얼을 찾을 수 없었고, 내가 원하는 것은 실제로 사용자에게 가능한 가장 간단한 버전의 블로그를 제공하는 것입니다. 태그, 조정, 이미지, 멋진 서식 등이 없습니다. 다른 사용자가 댓글을 단 단순한 일기 유형의 순수 텍스트 블로그입니다.
해결 방법
다음 테이블이 필요하다고 말하고 싶습니다
Posts
PostID (identity)
PostTitle (varchar)
PostDate (datetime)
Deleted (int)
OwnerID (int FK to Users)
PostDetails
PostDetailID (identity)
PostID (FK to Posts)
Sequence (int) -> for long posts you order by this
PostText (text)
Comments
CommentID (identity)
Comment (text)
CommenterID (int FK to Users)
CommentDate (datetime)
Deleted (int)
Users
UserID (identity)
UserNAme (varchar)
UserEmail (varchar)
CreatedDate (datetime)
Active (int)
모든 datetime 필드의 기본값은 현재 시간이며 모든 ID 필드는 PK입니다. 게시물 세부 정보의 시퀀스 필드는 텍스트 유형을 사용하지 않고 varchar를 사용하여 여러 레코드로 게시물을 분할 할 수있는 경우에 있습니다.
그 외에는 오픈 소스 블로깅 시스템을 살펴보고 그들이 무엇을했는지 확인하고 필요하지 않은 것을 뺍니다.
도움이되는 희망
참조 페이지 https://stackoverflow.com/questions/12354947
'MySql' 카테고리의 다른 글
MySQL PHP Simple HTML DOM Parser의 문자 인코딩 문제 (0) | 2021.01.30 |
---|---|
MySQL은 두 테이블을 결합하는 뷰를 만듭니다. (0) | 2021.01.30 |
MySQL Zend Framework로 MySQL 소켓을 통해 연결 (0) | 2021.01.30 |
MySQL MAX 값에 SQL 삽입 (0) | 2021.01.30 |
MySQL 여러 열에서 FULLTEXT INDEXES는 어떻게 작동합니까? (0) | 2021.01.30 |
댓글