
お世話になります。
とある企業の業務システムの設計をしていたところ、
上司からその設計では、変更に弱いと指摘されました。
具体的には、検索系の画面で、ユーザーがプルダウンを選択する。
選択された値に基づきDBを検索し、結果を画面に出力するというものです。
私の設計はプルダウンの値が、(仮に)Aだったら、where 条件を これと、
これを指定して検索してください。という設計書を書きましたが、
上司からはプルダウンの値が増えたら、SQLを変更しなければならず、
変更に弱いと指摘されました。
上記のパターンでは、どうすれば変更に強いのかを聞きましたが、
それ以外にも皆さんが知っているパターンで、「こういう時はこういうケースがあるから、
予めこうした方がいいよ」といった変更に強い設計のパターンをご存知でしたら
教えていただけませんでしょうか?
よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
2つのDBを使うようにすれば良いかもしれません。
プルダウンで'A'ならWHERE句を変更する。ではなくて、プルダウンで'A'が選択されたら'A'の値を別テーブルより取得して、その値でWHERE句を生成するようにする、なんて事をすると良いかもしれませんね。
道具建てとしては、PL/SQLなんかもあったほうが良いかもしれませんね。
ありがとうございます。
例えば、マッピングするテーブルを設けてこんなデータを用意するわけですね。
pulldows_value where_joken
--------------------+-------------------------
A where table.column = 'A' and ...
B where table.column = 'B' and ...
で、プルダウンが増えたら、このテーブルをメンテしていけば、
SQLのロジックを変える必要がないということですね。
他にもご経験からこんなことがあって、こう対処したよ(すればよかった)とかございましたら教えていただけると嬉しいです。
No.1
- 回答日時:
要するにあなたは、こんな設計を書いてしまったのでしょう?
Aだったら、where条件を これ1と、これ2を指定して検索してください。
Bだったら、where条件を これ3と、これ4を指定して検索してください。
Cだったら、where条件を これ5と、これ6を指定して検索してください。
。。。
これじゃぁ、ダメですよね。
解決法は上司から聞いたそうなので、わざわざ書きませんが、要するに変更に強い設計のパターン
は、いかに想像力を働かせて、パターンを考えられるか?なのです。
自分がやってることを客観的に見ることができるか、も重要です。
客観的に見ることができれば、いろいろなパターンが見えてくるものです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
彼女のことが好きすぎて彼女の...
-
風俗店へ行く前のご飯
-
2つの数値のうち、数値が小さい...
-
検便についてです。 便は取れた...
-
excel関数で TRUEやFALSEについて
-
透亮像について。 先日会社の健...
-
excelでsin二乗のやり方を教え...
-
血液検査の結果が悪くefgrの値...
-
Excel 0目標に対して数字があ...
-
勃起する時って痛いんですか? ...
-
胃底部(胃穹窿部 大弯透亮像...
-
イタリアから帰国する際、肉製...
-
ラブホってバスタオルが2枚ある...
-
エクセルで空白セルを含む列の...
-
「Q.C. PASSED」とは?
-
リンク先のファイルを開かなく...
-
精液の落とし方を教えてください
-
汚い話ですみません。 検便って...
-
WORDで複数語句を検索するには
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
アトピー性皮膚炎
-
コロナになるのが死ぬほど怖い...
-
検便についてです。 便は取れた...
-
24歳、女性です。性欲が強すぎ...
-
未成年の従姉妹が自分の真似絵...
-
頭痛に関する質問です。現在高...
-
血液検査の結果が悪くefgrの値...
-
肝臓がんになりたいです。肝機...
-
何故 削除され続けるか、
-
◎敢えてノンジャンルカテゴリー...
-
彼女のことが好きすぎて彼女の...
-
腕を見たら黄色くなってる部分...
-
風俗店へ行く前のご飯
-
2つの数値のうち、数値が小さい...
-
病院側から早く来てくださいと...
-
EXCELで条件付き書式で空白セル...
-
Excel 数値の前の「 ' 」を一括...
-
リンク先のファイルを開かなく...
-
値が入っているときだけ計算結...
おすすめ情報