参考问卷星设计数据库表给出建表语句
时间: 2023-08-04 15:07:02 浏览: 243
这里提供一个简单的问卷调查系统的数据库设计,包含用户表、问卷表、问题表和答案表。建表语句如下:
```sql
-- 用户表
CREATE TABLE user (
user_id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(20) NOT NULL,
password VARCHAR(32) NOT NULL,
email VARCHAR(50),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 问卷表
CREATE TABLE questionnaire (
questionnaire_id INT PRIMARY KEY AUTO_INCREMENT,
user_id INT NOT NULL,
title VARCHAR(100) NOT NULL,
description TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES user(user_id)
);
-- 问题表
CREATE TABLE question (
question_id INT PRIMARY KEY AUTO_INCREMENT,
questionnaire_id INT NOT NULL,
title VARCHAR(100) NOT NULL,
type ENUM('单选', '多选', '文本') NOT NULL,
options TEXT, -- 对于单选和多选题目,存储选项,用逗号分隔
FOREIGN KEY (questionnaire_id) REFERENCES questionnaire(questionnaire_id)
);
-- 答案表
CREATE TABLE answer (
answer_id INT PRIMARY KEY AUTO_INCREMENT,
user_id INT NOT NULL,
questionnaire_id INT NOT NULL,
question_id INT NOT NULL,
answer_text TEXT, -- 对于文本题目,存储回答内容
answer_choices TEXT, -- 对于单选和多选题目,存储选项,用逗号分隔
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES user(user_id),
FOREIGN KEY (questionnaire_id) REFERENCES questionnaire(questionnaire_id),
FOREIGN KEY (question_id) REFERENCES question(question_id)
);
```
这些表包含了问卷系统的基本功能,可以根据需要进行扩展和调整。
阅读全文