2011-01-28 4 views
1

私はデータベースモデルで作業しています。私が対応する必要がある領域の1つは、クライアントが構成可能なチェックリストテーブルです。理想的には、クライアントにはビット列として入力できる事前定義チェックリストがあります。悲しいかな、これは起こるつもりはありません。クライアントは、チェックリストを追加してグループ化して再利用できるようにしたいと考えています。データベースの構成可能なチェックリストテーブルを設計するにはどうすればよいですか?

私はEAVタイプのモデルを使って "true/false"の文字列を使うことができましたが、私は以前この道を歩いていましたが、もうその旅をやり直すことはありません。

ご意見やご提案は大歓迎です。ありがとう。

答えて

2

「クライアント設定可能」とは、ほとんどの場合EAVを意味します。 EAVのというデータを保存しています...データを取り戻すだけです。

;-)

他...ややレス不快なアプローチは、一般的な列を作ることです。 Answer1 BIT、Answer2 BIT、Answer3 ...

この場合、任意のチェックリストに対して正しいビューを作成できるように、列の実際の名前を定義するテーブルを作成します。

は、最初のチェックリストは、タンク内の

  • ガスであると言いますか?
  • ウォレットのマネー?

その後

CheckList_ID  Answer_Number  Column_Name 
    1     1    Tank has Gas 
    1     2    Wallet has Money. 

を保存するとビューは次のようになります。

SELECT Answer1 "Tank has Gas", Answer2 "Wallet has Money" 
    FROM Generic_Answer_Table 
    WHERE CheckList_ID = 1 

これは、ビューを動的に生成されるかは明白。

10個の列を含めると10個を超えることはできません。

XMLはもう1つの可能性があり、問題はありません...しかし、それはSQLにはあまり似ていません。

+0

私はあなたの提案を気に入っています。私はあなたがEAVについて正しいのではないかと心配しました。初めはとても賢いように聞こえますが、その後の痛みはあなたが馬鹿げた気分になります。 drlouies XMLの提案は意味がありますが、これは非常に複雑な設定ではありません。 XML照会が嫌いです。私はあなたの提案Stephanieをテストし、答えを確認します。あなたの提案と助けてくれてありがとう。 – trevorc

0

私は、XMLがチェックボックスを動的に保ちながら、彼らが求めるコントロールを与えるための最良の方法だと思っています。おそらく、すべてのカスタムチェックボックスを含むページ/セクションごとのXMLファイル。 XMLの利点は、使いやすさと柔軟性です。データベースレベルでは、チェックボックスの出力をファイナライズされたデータとして保存するだけです。チェックボックスのソースXMLが変更された場合でも、データベースレベルで保存された最初の値は引き続き表示されます。

0

私たちはこのような目的のためにhttp://tallyfy.comをビルドしていますが、アクションとデータベーステーブルの直接の関係は新しいものです。

関連する問題