質問: マスタデータ更新 こんにちは。 システム開発の基礎的なところがわからないので、教えていただきたく、投稿させていただきます。 システム開発をほとんどやったことがないので、言葉が変なところもあるかと思いますが、宜しくお願いいたします。 サーバー上に、aというsqlserverのdbがあります。 今までは、システム管理者のみがaccessからa.dbのリンクテーブルを使い、マスタデータの更新/追加/削除を行っていましたが、今後、リーダークラスの人もできるようにしたい!という要望があり、そのインターフェース部分を作成しています。 いろいろと考え、フロントエンド側にaccessでb.mdbを作成し、そこには、a.dbと同じテーブル構造の一時tblを作成し、b.mdbを開いた時にa.dbから全データを取得することにしました。(取得するところまではできています) ここから、設定するための画面作成をしますが、最終的に、更新/追加/削除されたデータは、どのようにa.dbにupすればいいのでしょうか? 考えた方法として (1)b.mdb内に、一時テーブルとは別に、更に同じ構造の変更用テーブルを作成。 設定画面から更新/追加/削除されたデータは変更用テーブルに保存し、全ての処理が終了したら、変更用テーブルにあるデータを1つづつ見て、a.dbへ更新/追加/削除をかける (2)一時テーブルのデータを直接更新/追加/削除し、全ての処理が終了したら、全テーブルのレコードを1件づつ比較し、a.dbへ更新/追加/削除をかける というくらいしか思いつかないのです。 その他に思ったのが、一時テーブルもしくは変更用のテーブルに、レコード毎に「更新/追加/削除」がわかるようにフラグを設けて、そのフラグに従ったsql文を発行する というくらいです。。。 根本的に、マスタデータに対する更新/追加/削除のやり方が間違っていたりしますか? 誰も聞ける人がいないので、どうぞ宜しくお願いいたします!!!
回答: マスター変更の運用規則というのがどういうものかによりますが、 例えば変更を即座に反映させたいのか、バッチ処理などで決まった時間に反映させるのかによります。 また、変更前のマスターの状態を再現させる必要があるかどうかによってつくりが変わってきます。 あと、現在のマスターに開始日、終了日などのフィールドがあるか教えていただけますでしょうか?