설문 데이터베이스 스키마.
이것은 수천 명의 사람들이 수행하는 진정한 고전입니다. 그들은 항상 '정말 단순'하게 보이지만 실제로는 꽤 복잡합니다. Rails에서이 작업을 수행하려면 첨부 된 다이어그램에 표시된 모델을 사용하십시오. 나는 그것이 다소 복잡해 보일 것이라고 확신하지만, 몇 년 동안 이들 중 몇 가지를 구축하면 대부분의 디자인 결정은 매우 고전적인 패턴이며 시초.
자세한 내용은 아래를 참조하십시오.
키 테이블의 테이블 세부 사항
대답
답변의 는 사용자가 실제 응답을 캡처 표는 중요하다. 답변은 질문 이 아니라 question_options에 대한 링크 입니다. 이것은 의도적 인 것입니다.
input_types
input_types 는 질문 유형입니다. 각 질문은 1 가지 유형, 예를 들어 모든 라디오 다이얼, 모든 텍스트 필드 등일 수 있습니다. 5 개의 라디오 다이얼과 "포함?"에 대한 1 개의 확인란이있는 경우 추가 질문을 사용하십시오. 옵션 또는 이러한 조합. 사용자보기의 두 질문에 하나의 레이블을 지정하지만 내부에는 두 가지 질문이 있습니다. 하나는 라디오 다이얼, 하나는 확인란입니다. 이 경우 확인란에는 1 그룹이 있습니다.
option_groups
option_groups 및 option_choices 를 사용하면 '공통'그룹을 만들 수 있습니다. 예를 들어, 부동산 응용 프로그램에는 '재산이 몇 살입니까?'라는 질문이있을 수 있습니다. 다음 범위에서 답을 원할 수 있습니다. 1-5 6-10 10-25 25-100 100+
예를 들어 인접한 부동산 연령에 대한 질문이있는 경우 설문 조사는 위의 범위를 '재사용'하여 동일한 option_group 및 옵션이 사용되도록합니다.
측정 단위
units_of_measure 는 들리는대로입니다. 인치, 컵, 픽셀, 벽돌 등 무엇이든 여기에서 한 번 정의 할 수 있습니다.
참고 : 본질적으로 일반적이지만,이 위에 애플리케이션을 작성할 수 있으며이 스키마는 각 테이블의 기본 키에 대해 "id"와 같은 규칙 을 사용하여 Ruby On Rails 프레임 워크에 적합 합니다. 또한 관계는 many_to_many 또는 has_many 스루가 필요없는 단순한 one_to_many입니다. 아마 has_many : throughs 및 / 또는 : delegates를 추가하여 다중 체인을 사용하지 않고도 개별 답변에서 쉽게 Survey_name과 같은 것을 얻을 수 있습니다.