일부 db 디자인 도움말을 찾고 있습니다. 각각 자신의 블로그를 사이트에 게시 할 수 있습니다 기존 레일스 앱에 블로그 기능 추가하기
- 지원 사이트 블로그의 개념을 : 난에 다음과 같은 기능을 추가 할 기존 응용 프로그램이 사이트는 하나 개의 블로그가 수 있기 때문에 블로그,
- 회원은 자신의 회원 블로그
에 게시 할 수 있으며, 각 구성원은 하나 개의 블로그를 가질 수 있습니다. 나는 Blog 테이블이 필요하다고 생각하지 않는다. 대신 나는 blog_name, blog_tagline 또는 무엇인가를위한 Sites와 Users 테이블에서 두 개의 컬럼을 걸어 놓을 것이다.
제 질문은 : 게시물에 하나의 표를 사용해야 하나, 대신 2 개의 표 (site_posts 및 member_posts)를 사용해야합니까?
1 개의 표를 사용하면 유형 열 (사이트 또는 회원)과 관련 상위 레코드 (사이트 또는 회원)를 가리키는 content_id 열을 쉽게 가질 수 있습니다. 그러나 리소스와 컨트롤러 측면에서이 작업을 수행하는 가장 좋은 방법은 무엇인지 생각하고 있습니다. 만약 내가 1 테이블을 누른 다음 나는 하나의 컨트롤러 게시물을 가지고있다. 그러나 사용자의 역할에 따라 사이트 소식이나 회원 소식을 업데이트 할 수 있습니다. 이것은 좀 지저분 해 보입니다. 항상 리소스를 업데이트하기 위해 사용자의 역할을 확인하는 것입니다.
그래서 2 개의 리소스 (및 2 개의 테이블)를 향해 기울어 져 있으므로 회원은 항상 site_posts의 member_posts 및 admins에서 작업하고 있습니다.
누구나이 디자인에 대한 의견이 있거나 문제가 있습니까?
감사합니다.
덕분에, 나는 의견을 주셔서 감사합니다. 나는이 접근법에 어떤 특별한 이점이 있는지 궁금합니다. 두 테이블을 사용하는 것보다 접근 방법이 더 위험합니다. 이것이 주요 이점입니까? –
예 - 이것이 가장 큰 이점입니다. –