0

私は現在、codeigniter、php、mySqlを一度に「学習」しており、訪問者がサインアップしてプロジェクトを作成し、特定のフィールドに入力する必要がある質問のリストを尋ねられる「チェックリスト」タイプのWebサイトを作成しようとしています。

私はmySQLDBデザインに少し立ち往生しています...(実際には完全に立ち往生しています)

結局のところ...

1つのプロジェクトは3つのタイプのいずれかを持つことができます。「タイプa/b /c」

タイプaには20の質問があります

タイプb =タイプa+15の質問

タイプc =タイプb+15の質問..

つまり、基本的に簡単に言うと、質問AはタイプAおよび/またはタイプBですが、Cではありません

今、私がしていることが正しいかどうかはわかりませんが、基本的に2つのテーブルを作成し、mySQLワークベンチでそれらの間の関係を「多対多」に設定しています(私は思いますか?)

ProjectType
id
ProjectTypeName

Questions
ID
Title etc...

ProjectType_has_Questions
ProjectType_id
Questions_id

また、すべての質問「CAN、必須ではない」には、3つの結果(現在の事実)と3つの修正(結果の改善)があります。

これがここの誰かにとって意味があるかどうかはわかりません、確かに地獄が私を困惑させているので:-/

何かご意見は?

ps:画像を添付しようとしましたが、このサイトを使用するのはこれが初めてであるため、許可されませんでした。

4

1 に答える 1

0

ここで理解したことに対応します。あなたの質問で私がコメントした他のいくつかの質問がありました。

プロジェクトタイプが常に集約される場合(つまり、タイプCは常にタイプBのスーパーセットであり、これは常にタイプAのスーパーセットです)、質問に対して、その特定の質問が含まれる最大のプロジェクトを指定できます。たとえば、質問がタイプAとタイプBに表示される場合は、その質問をタイプBとして指定します。3つのタイプすべてに表示される場合は、タイプCとして指定します。

ただし、これを行うときは自分自身をコミットしています。これを行うためのより柔軟な方法は、質問IDとプロジェクトタイプIDを含むリンクテーブルを用意することです。各質問には、このテーブルに1つ以上のエントリを含めることができます。

于 2010-10-21T22:21:01.067 に答える