先日データの現新比較(新システムのデータが正しいことを確認するために、現行システムのデータと比較すること)をするのにAccessを使う機会がありました。Accessを触った経験のない方が大半だったため、簡単に操作説明を行い、後は触りながら身に着けて頂きました。
自分が逆の立場で触ったことなくてあの説明だけで取り組めと言われたら、きっと本を買って不足を補うだろうなと思いました。しかしちょうどよい本がある気もしなくて、どんな本を手に取るだろうと思いながら本屋さんでAccess本を眺めてみました。
しかし、残念ながらこれ、という本はありませんでした。今回はAccessを使ってデータの比較検証を行うのが主目的です。
シンプルなやり方は、現行データと新データそれぞれ1ファイルずつテーブルにインポートし、キー項目で結合し一致不一致を見るものです。
本屋にあるAccess本の分類
本屋でAccess棚を眺めたところ以下のような本がありました。
- Accessの使い方ガイド
- Accessでデータベースを作る
- SQLリファレンス
しかしながら、結局家にあるデータベースはじめて物語に勝るものは見当たりませんでした。
改訂版が出ていたのでリンクで紹介します。
理由は、Accessの使い方ガイドは範囲が広すぎて、肝心なインポート、クエリ作成の部分に占める割合が低いことです。
Accessでデータベースを作る本もやっぱり肝心なインポート、クエリ作成の部分に占める割合が低くなってしまいます。
SQLリファレンスはSQLの構文を辞書的に参照するものですが、OracleやDB2にも対応したものだと情報量が多すぎます。
自分だったらどれを買っていたかはわかりませんが、どれを買ったとしても週末一通り読んでみてやっぱり使いこなせる気がしなくて悩んでいた気がします。
データベースはじめて物語の目次から要素を抽出
目次を紹介します。翔泳社サイトからの引用です。
データの現新比較に役立つ章を太字にし、節まで表示しました。
Part 1 データベースはじめの一歩
第1章 データベースを初体験
第2章 リレーションシップとデータの整合性
第3章 データ型とNULL
列の内容とデータの型
列の定義を見直す
<学習ノート>
データ型
空値(NULL)Part 2 Accessから学ぶデータベースの基礎知識
第4章 リレーショナルデータベースとSQL
SQLって何だ?
<学習ノート>
SELECT文の概要
リレーショナルモデルとSQL第5章 正規化でテーブル設計を正しく行う
第6章 ER図とデータモデル
第7章 SQLのグループ化/副問い合わせと手書きSQL文
重複クエリを作ってみよう
クエリ同士を組み合わせる
SQLで考えよう(1)
SQLで考えよう(2)
新たなる挑戦?!
SQLに詳しくなろう
<学習ノート>
条件の指定
集計関数とグループ化
副問い合わせPart 3 ユーザーにやさしいデータベースの運用/管理
第8章 フォームの作成とインデックス
第9章 データアクセスページでデータを公開する
第10章 Accessで作成するXMLデータとその操作法付録
付録1 絵で分かるSQLの書き方
SQLの概要
テーブルの作成
問い合わせ
データの追加/更新/削除付録2 SQLリファレンス
SELECT(データの抽出)
FROM(テーブルの指定)
INNER JOIN(内部結合)
WHERE(データの条件)
GROUP BY、HAVING(グループ化と集計関数)
ORDER BY(並べ替え)
UNION、UNION ALL(併合)
副問い合わせ(サブクエリ)
INSERT(データの追加)
UPDATE(データの更新)
DELETE(データの削除)
CREATE TABLE(テーブルの作成)
ALTER TABLE(テーブル定義の変更)
DROP TABLE(テーブルの削除)
CREATE INDEX(インデックスの作成)
DROP INDEX(インデックスの削除)付録3 Access 2003とXML
コラム
データの現新比較に向けてAccessで知っておきたいこと
上記を参考にデータの現新比較するうえでAccessについて知っておきたいことをまとめてみます。
- データベース、テーブル、クエリの概念
- データのインポートとリンク、ウィザードの設定、0落ち注意
- データ型、特に数値と文字列の違い、NULL型について
- 選択クエリ、where、count、join
- 結合キーの補正もろもろ rightによる0埋め、cdblによる数値変換
- 集計クエリ、group by、distinct、sum、max/min
- 一致判定、iif
- 同じ列数の結果を一つの表で出したい、union
- データのエクスポート、excel、テキスト
- データベースの2GB制限と最適化
Accessは多機能ゆえに限定的な利用者には敷居が高い
こうしてみると、はじめて物語も決して最適ではなさそうです。さらにAccess2003の頃の本ですので情報としても古すぎます。
(2020/1/7追記)こちらの改訂版では、「Aceess 2016/2013/2010対応に内容がアップデートされている」ようです。
本記事ではこの本自体をおすすめするわけではなく、「データの現新比較を行う」という目的に対してはじめてAccessを使う必要に迫られたときに何を学べばよいかを書きました。
Access自体はデータベースとして、データの登録や取り込みから集計加工の処理まで豊富な機能を備えています。
本記事であげた「知っておきたいこと」に多く紙面が割かれている本であればきっと役に立つと思います。