본문 바로가기

SQL

설문조사 테이블 생성: 고객 설문조사 결과를 저장하기 위한 테이블을 생성합니다.

반응형

설문조사 결과를 저장하는 테이블은 고객의 의견, 선호도, 피드백 등을 수집하고 분석하는 데 중요합니다. 이 정보는 제품 개선, 서비스 개선, 고객 만족도 측정 등에 활용될 수 있습니다. 다음은 고객 설문조사 결과를 저장하기 위한 테이블 생성을 위한 SQL 쿼리문 예제와 각각의 설명입니다.


1. 기본 설문조사 테이블 생성
CREATE TABLE surveys (
    survey_id INT AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(200),
    description TEXT,
    start_date DATE,
    end_date DATE
);
설명: 설문조사의 기본 정보를 저장합니다. 제목, 설명, 시작일, 종료일을 포함합니다.

 

2. 설문조사 질문 테이블 생성
CREATE TABLE survey_questions (
    question_id INT AUTO_INCREMENT PRIMARY KEY,
    survey_id INT,
    question_text TEXT,
    question_type VARCHAR(50),
    FOREIGN KEY (survey_id) REFERENCES surveys(survey_id)
);
설명: 각 설문조사의 질문과 질문 유형을 저장합니다.

 

3. 설문조사 응답 테이블 생성
CREATE TABLE survey_responses (
    response_id INT AUTO_INCREMENT PRIMARY KEY,
    question_id INT,
    user_id INT,
    response TEXT,
    response_date TIMESTAMP,
    FOREIGN KEY (question_id) REFERENCES survey_questions(question_id),
    FOREIGN KEY (user_id) REFERENCES users(user_id)
);
설명: 사용자의 각 질문에 대한 응답과 응답 날짜를 저장합니다.

 

4. 설문조사 응답 옵션 테이블 생성
CREATE TABLE response_options (
    option_id INT AUTO_INCREMENT PRIMARY KEY,
    question_id INT,
    option_text TEXT,
    FOREIGN KEY (question_id) REFERENCES survey_questions(question_id)
);
설명: 선택형 질문에 대한 응답 옵션을 저장합니다.

 

5. 설문조사 참여자 테이블 생성
CREATE TABLE survey_participants (
    participant_id INT AUTO_INCREMENT PRIMARY KEY,
    survey_id INT,
    user_id INT,
    participation_date DATE,
    FOREIGN KEY (survey_id) REFERENCES surveys(survey_id),
    FOREIGN KEY (user_id) REFERENCES users(user_id)
);
설명: 설문조사에 참여한 사용자와 참여 날짜를 저장합니다.

 

6. 설문조사 결과 요약 테이블 생성
CREATE TABLE survey_results_summary (
    summary_id INT AUTO_INCREMENT PRIMARY KEY,
    survey_id INT,
    total_responses INT,
    positive_feedback INT,
    negative_feedback INT,
    FOREIGN KEY (survey_id) REFERENCES surveys(survey_id)
);
설명: 설문조사의 총 응답 수, 긍정적 피드백 수, 부정적 피드백 수 등을 요약하여 저장합니다.

 

7. 설문조사 리마인더 테이블 생성
CREATE TABLE survey_reminders (
    reminder_id INT AUTO_INCREMENT PRIMARY KEY,
    survey_id INT,
    user_id INT,
    reminder_date TIMESTAMP,
    FOREIGN KEY (survey_id) REFERENCES surveys(survey_id),
    FOREIGN KEY (user_id) REFERENCES users(user_id)
);
설명: 설문조사 참여를 위한 리마인더 발송 기록을 저장합니다.

 

8. 설문조사 공유 테이블 생성
CREATE TABLE survey_shares (
    share_id INT AUTO_INCREMENT PRIMARY KEY,
    survey_id INT,
    shared_by INT,
    shared_to INT,
    share_date TIMESTAMP,
    FOREIGN KEY (survey_id) REFERENCES surveys(survey_id),
    FOREIGN KEY (shared_by) REFERENCES users(user_id),
    FOREIGN KEY (shared_to) REFERENCES users(user_id)
);
설명: 설문조사가 공유된 사용자와 공유 날짜를 기록합니다.

 

9. 설문조사 코멘트 테이블 생성
CREATE TABLE survey_comments (
    comment_id INT AUTO_INCREMENT PRIMARY KEY,
    survey_id INT,
    user_id INT,
    comment TEXT,
    comment_date TIMESTAMP,
    FOREIGN KEY (survey_id) REFERENCES surveys(survey_id),
    FOREIGN KEY (user_id) REFERENCES users(user_id)
);
설명: 설문조사에 대한 사용자 코멘트와 코멘트 날짜를 저장합니다.

 

10. 설문조사 태그 테이블 생성
CREATE TABLE survey_tags (
    tag_id INT AUTO_INCREMENT PRIMARY KEY,
    survey_id INT,
    tag_name VARCHAR(50),
    FOREIGN KEY (survey_id) REFERENCES surveys(survey_id)
);
설명: 설문조사에 할당된 태그를 저장합니다.

관련 전문용어 설명
CREATE TABLE: 새로운 테이블을 생성하는 SQL 명령어입니다.
INT, VARCHAR, DATE, TIMESTAMP, TEXT: 데이터 유형을 나타냅니다.
AUTO_INCREMENT: 자동으로 숫자를 증가시키는 속성입니다.
PRIMARY KEY: 각 행을 고유하게 식별하는 주 키입니다.
FOREIGN KEY: 다른 테이블의 주 키를 참조하는 외래 키입니다.

반응형