アンケート調査機能を実装するために柔軟な MySQL テーブル構造を設計するにはどうすればよいですか?
1. はじめに
現代社会ではアンケート調査がデータ収集や研究に広く使われていますが、さまざまなアンケート調査のニーズに柔軟に対応するには、合理的な MySQL テーブル構造を設計する必要があります。この記事では、アンケート機能を実装するための柔軟な MySQL テーブル構造の設計方法と、具体的なコード例を紹介します。
2. 分析の必要性
3. テーブルの設計
上記の要件に基づいて、次のテーブルを設計する必要があります:
4. 具体的な実装
以下では、MySQL ステートメントを使用して上記のテーブルを作成し、いくつかのサンプル コードを提供します。
-- アンケート テーブルを作成します
CREATE TABLE アンケート (
id INT PRIMARY KEY AUTO_INCREMENT,
title VARCHAR(255) NOT NULL,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
);
--質問テーブルの作成
CREATE TABLE 質問 (
id INT PRIMARY KEY AUTO_INCREMENT,
Survey_id INT NOT NULL,
content TEXT NOT NULL,
type TINYINT NOT NULL、 -- 1 は単一の選択を表し、2 は複数の選択を表します
外部キー (survey_id) REFERENCES Surveys(id)
);
-- オプション テーブルの作成
CREATE TABLE options (
id INT PRIMARY KEY AUTO_INCREMENT,
question_id INT NOT NULL,
content TEXT NOT NULL,
FOREIGN KEY (question_id) REFERENCES question(id)
);
- - 回答テーブルの作成
CREATE TABLE 回答 (
id INT PRIMARY KEY AUTO_INCREMENT,
Survey_id INT NOT NULL,
question_id INT NOT NULL,
option_id INT NOT NULL,
user_id INT NOT NULL,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
外部キー (survey_id) REFERENCES 調査 (id),
外部キー (question_id) REFERENCES 質問 (id),
外部キー (option_id) REFERENCES オプション(id)
);
アンケートの具体的な実装については、PHP またはその他のプログラミング言語を使用してページの表示とデータ処理を処理できます。以下は簡単なサンプル コードです。
// 获取用户提交的答案 $surveyId = $_POST['survey_id']; $answers = $_POST; // 获取所有POST参数 foreach ($answers as $questionId => $optionIds) { if (strpos($questionId, 'question_') !== false) { $questionId = str_replace('question_', '', $questionId); // 保存答案到数据库 foreach ($optionIds as $optionId) { // 将答案插入到answers表中的代码 } } }
?>
5. まとめ
MySQL のテーブル構造を合理的に設計することで、柔軟にアンケート調査を実施できます機能を提供し、その後の統計と分析を容易にします。特定の実装プロセスでは、データの整合性と正確性を確保するために、データ テーブルの相関関係と論理処理に注意を払う必要があります。
以上がアンケート調査機能を実装するために柔軟なMySQLテーブル構造を設計するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。