sql >> データベース >  >> RDS >> Database

オンライン調査のためのデータベースモデル。パート1

    データレイヤーとなる新しいデータベースのデザインを作成する必要があります アプリケーションの場合。アプリケーションはオンラインの調査になります またはSurveyMonkeyのようにポーリングします。私の課題は、必要な機能が既存の調査サイトでサポートされていないことです。そのため、独自の機能を構築する必要があります。必要なのは条件付き調査です(質問4の答えが「はい」の場合は質問5を尋ねて質問6をスキップしますが、質問4の答えが「いいえ」の場合は質問5をスキップして質問6を尋ねます。

    このデザインについての一連の記事を書き、毎回デザインを拡張するので、この記事は主に基本的な調査データベースのシーンを設定することについてです。今後の記事では、より高度な機能に取り組みます。 調査および調査の管理における質問の条件付き順序に関連します。

    ドメイン

    オンライン調査のドメインは、一連の質問で構成されるアンケートまたは投票に基づいています。回答者がアンケートに回答し、回答を保存する必要があります。

    今のところ、自由形式の質問から始めます。 質問と回答で構成されています。

    モデルの将来のバージョンでは、調査での質問の順序、質問が条件付きであるかどうか、およびさまざまなタイプの質問(複数選択など)を定義する必要があります。

    機能性

    前述のとおり、回答者に質問します 調査に回答するために(すべての人に公開されるわけではありません)、回答を保存する必要があります。さらに、同じ参加者が戻って応答を更新できます。 応答の保存 元の質問にリンクされているが、調査を完了する回答者ごとに回答があるテーブルが必要になるため、多少難しい場合があります。

    モデルの将来のバージョンでは、オンライン調査の管理者を追加する予定です。

    最後に、レポートと分析が必要になります。応答はどうでしたか?異なるサブグループから何件の回答がありましたか? (不適切な言葉の質問を特定するために)最も頻繁に回答されなかった質問はどれですか?

    エンティティと関係

    見てみましょう:一連の質問で構成される調査(またはアンケート)があります。今のところ、自由形式の質問から始めるので、多肢選択式の質問に必要なように、質問にリンクされた可能な回答は必要ありません。調査の質問の順序は固定されます(調査の作成時に定義されます)が、モデルの将来のバージョンでは、調査を介した条件付きパスのオプションを追加したいと考えています。

    もちろん、回答者とその回答が必要になります。前述のように、モデルの将来のバージョンでユーザー管理を追加します。

    フォーマルデザイン

    エンティティと関係がわかったので、エンティティ関係図(ERD)を作成する準備が整いました。これを行うには、 Vertabeloを使用します 、データベースモデリング用のオンラインツール。 Vertabeloアカウントをまだお持ちでない場合は、こちらから無料トライアルプランに登録できます。

    オンライン調査では、調査、それに関連する質問、および質問が表示される順序から始めます。回答者を追加し、回答者が回答を提供した調査と調査への回答をリンクします。




    今のところ、それを基礎として使用し、モデルの将来のバージョンでさらに複雑さを追加しましょう。

    結論

    基本設計が定義されたら、改善について考え始めることができます。今後の記事では、次のようなより高度な機能に取り組みます。

    • 多肢選択式の質問など、さまざまな種類の質問
    • 調査における質問の条件付き順序
    • 調査の管理。


    1. MySqlでの照合エラーの不正な組み合わせ

    2. ClusterControlを使用した高可用性データベースとクラスターのデプロイ

    3. MySQLで接続の照合を表示する方法

    4. 'as'キーワードを使用してOracleでテーブルのエイリアスを作成するにはどうすればよいですか?