データベースの運用をする中で、あるデータベースから別のデータベースにデータ移行をしないといけない場面に出くわすことがあります。
こういった場合に、追加クエリを用いると、1つまたは複数のテーブルやクエリを組み合わせたデータソースから抽出したレコードを、別の既存のテーブルにコピーすることができます。
例えば、ある部署の統廃合に伴い従業員の情報を管理するテーブルを含むデータベースを別のデータベースへ移行する必要が出たとします。移行先のデータベースに同じ種類のデータが保存されているテーブルがあれば、当然ながら1つのテーブルでデータを管理することが望ましく、このような場合に、データを手動で入力せずに追加クエリを使用してレコードをコピーすることができます。
追加クエリを利用すると、1回の処理で条件に応じた複数のレコードをコピーすることができ、人の手を介さないためヒューマンエラーの発生も防ぐことができます。
そこで、今回は追加クエリの作成方法について紹介をします。
サンプルデータの用意
サンプルテーブルとして表1に示す「T_従業員」テーブルと表2で示す移行元のデータを含む「T_従業員_コピー元」テーブルを用意します。ここで、それぞれのテーブルのフィールド名とデータ型は表3に示すように同じにしています。
表1 「T_従業員」テーブル
氏名 | 部署コード | 年齢 | 電話番号 | 出身地 |
山田 太郎 | A111 | 35 | 080-1234-5678 | 東京都 |
佐藤 花子 | A101 | 16 | 090-9876-5432 | 北海道 |
鈴木 次郎 | B102 | 40 | 080-1928-3764 | 愛知県 |
表2 「T_従業員_コピー元」テーブル
氏名 | 部署コード | 年齢 | 電話番号 | 出身地 |
一木 英恵 | A101 | 22 | 090-9876-9999 | 青森県 |
中山 一郎 | A101 | 42 | 080-1234-5678 | 東京都 |
上島 達夫 | B102 | 25 | 090-2586-2262 | 三重県 |
表3 「T_従業員」及び「T_従業員_コピー元」テーブルのフィールド名とデータ型
フィールド名 | データ型 |
氏名 | 短いテキスト |
部署コード | 短いテキスト |
年齢 | 数値型 |
電話番号 | 短いテキスト |
出身地 | 短いテキスト |
以上がサンプルデータとなりますので、続いて、追加クエリの作成手順を見ていきます。今回作成する条件として、「T_従業員_コピー元」テーブルにある年齢が25歳以下の従業員の情報を「T_従業員」テーブルへコピーする方法を見てみましょう。
追加クエリの作成
追加クエリ作成の流れとして、まずは選択クエリを作成し図1に示すように「T_従業員_コピー元」テーブルを追加し、「フィールド」項目には全てのフィールドを追加します。また、「年齢」フィールドの抽出条件に「<=25」を追加します。
追加クエリのフィールドと抽出条件を設定した後、図2に示すように「追加」アイコンをクリックします。
追加アイコンをクリックすると、図3に示すダイアログボックスが表示されます。追加先のテーブルの名称を設定するため、「テーブル名」に「T_従業員」テーブルを設定します。また、ラジオボタンは「カレントデータベース」を選択します。
「OK」ボタンをクリックするとクエリデザインの画面は図4に切り替わります。
以上で、追加クエリを作成することができました。
追加クエリの実行とその結果
作成した追加クエリを実行してみましょう。図5に示すように「クエリツール」の「実行」アイコンをクリックします。
今回の例は、対象となる2件のレコードがあるため、これらを追加するかの確認画面が表示されます。ここで「はい」を選択すると後戻りはできませんので注意をしてください。
「はい」を選択すると、図6に示すように「T_従業員」テーブルに対象レコードが追加されます。
このようにして、追加クエリを用いることで条件に応じたレコードをコピーすることができました。
まとめ
今回は、一つのテーブルにおけるデータを移行するための追加クエリの作成例を示しましたが、選択クエリで必要な情報を結合、射影、抽出し、データ移行をすることもできます。また、定期的にデータ移行が必要な場合には一度追加クエリを作成しておけば、それ以降は追加クエリを実行するだけで必要なデータ処理を行えるようになります。
このように、追加クエリを活用することで効率的なデータ処理ができ、業務効率の改善が期待できます。
スポンサーリンク
コメント