학익시장
110
2021-10-26 16:47:48
3
212

설문조사 DB설계


제가 페이지에 여섯가지 질문을 라디오박스 형식으로 체크하게 해놓고 그 결과들에 따라서 결과를 도출하는 

DB를 설계하고싶은데(mbti같은 느낌) 어떤 방식으로 설계를 해야할지 감이 안잡힙니다.. 부디 초보 개발자에게 도움을 주실수 있을까요? 여섯개는 각각의 페이지로 구성되어있고 체크후 다음 페이지로 버튼을 통해 넘어갑니다 결과로 도출될 값들은 여섯개정도 생각하고있는데 어떤 방식이 좋을까요?

0
  • 답변 3

  • Eleutherius
    2021-10-26 17:15:03

    DB 설계 초안 주시면 의견드리겠습니다.

  • 제타건담
    7k
    2021-10-26 18:21:48

    이렇게 설명하면 도움이 되실지는 모르겠는데..제 경험에 비춰 일단 썰을 한번 풀어보겠습니다..


    설문..이란 것은 1차로는 질문과 답이 있습니다..

    그리고 답에는 주관식, 객관식, 또는 이 둘의 혼합..이 있을수 있죠..

    그리고 객관식은 2개,4개,6개 등등 갯수가 정해져 있지 않고..

    주관식은 한 문항당 하나의 답만 작성가능하겠죠..(주관식 답안을 2개 작성하는 상황이 있을수도 있겠습니다만..극히 드문 케이스이고..하지만 이것도 반영해보도록은 하겠습니다..)

    또 요즘은 기타..를 선택한 후 주관식으로 답하는 것도 있습니다..


    그러면 먼저 질문을 생각해보죠..

    질문은 질문 내용이 핵심입니다..이거는 반드시 있어야 하고 상황에 따라 추가적인게 필요하면 추가로 더 필드를 만들어 넣어야겠죠..

    그러면 질문테이블은 key, 질문내용 컬럼 이렇게가 있어야 합니다..


    이제 해당 질문 테이블이 객관식이면 객관식 문항을 보여줘야겠죠..

    그러면 객관식 문항 테이블은 key, 질문 테이블 key, 객관식 문항 이렇게 있어야 합니다..

    그래야 질문 테이블의 key와 객관식 문항의 질문 테이블 key를 조인을 걸어 객관식 문항을 보여줄수 있을테니까요..

    기타로 주관식을 넣더라도 기타 항목을 선택할 수 있게끔은 해야 하기 때문에 객관식 문항 테이블에는 넣어야 합니다


    여기까지 질문에 대한 설계는 끝났고..이제 사용자가 설문을 응답한 답변 테이블 설계를 보죠..

    답변은 위에도 얘기했다시피 주관식과 객관식..또는 이 둘의 혼합이 있습니다..

    그러면 답변 테이블을 분리해야 합니다..주관식 답변 테이블과 객관식 답변 테이블 이렇게요..

    객관식 답변 테이블을 보자면..

    key, 질문 테이블의 key, 객관식 문항 테이블의 key 이렇게 저장합니다..

    이렇게 해두면 같은 질문의 객관식 복수개 답변도 가능하죠..


    주관식 답변 테이블은

    key, 질문 테이블 key, 주관식 답변 내용

    이렇게 저장합니다..

    이렇게 해놓으면 객관식 질문이더라도 기타 선택하고 주관식으로 적게 하더라도 주관식 테이블에 질문 테이블 key 값을 넣고 저장하면 되니까요..


    이 정도가 기본적인 설계입니다..

    나머지 필요한 부분은 각 테이블에 맞춰서 넣으시면 가능하실껍니다..


  • 학익시장
    110
    2021-10-27 16:30:02

    제타건담님 정말감사합니다.. 큰 도움이 되었습니다.

  • 로그인을 하시면 답변을 등록할 수 있습니다.