松田軽太の「一人情シスのすゝめ」#4:Accessを使いにくいと感じる理由
松田軽太の「ひとり情シスのすゝめ」、タイトルだけ見るとひとり情シスを推奨しているように思われるかも知れませんが、思いはまったくの”逆”。様々な事情によりやむなく”ひとり情シス/ゼロ情シス”という状況になってしまっても頑張っていらっしゃる皆様のお役に立つような記事をお届けしたいと思っております。
今回はExcelユーザーがAceessを使った際に「なんか使いにくい」と感じるその理由について触れてみます。
この記事の目次
ExcelとAccessの違い、利用を挫折するその理由
「Excelはもうそれなりに使えるようになったから、次はAccessでも使ってみようかな」と思ったりしたことはありませんか。
しかしながら、ExcelとAccessの構造的な違いという壁に阻まれ、挫折を経験した方もいらっしゃるのではないでしょうか?
実際、Excelに慣れている人の方がデータベース的な考え方ってなかなか馴染まないこともあるようです。
確かにExcelとAccessはパッと見ただけだとよく似てますよね。
しかし、ExcelとAccessはまったくの別物です。
それは何故か? そりゃ、ExcelとAccessが同じようなモノだったら、片方、要らないですからね。
Excelは表計算ソフトでAccessはリレーショナルデータベースですそもそも根本的に素性が違うモノなのです。
新宿(しんじゅく、新宿区)と新宿(にいじゅく、葛飾区)くらいの違いがあります。(笑)
特に理解しにくいのはExcelのシートとデータベースのテーブルの違いのようです。 まずはExcelのシートとAccessなどのデータベースのテーブルの違いを比較してみることにしましょう。
シートとテーブルは何が違うのか?
Excelの大きな特徴はセル単位で設定が可能という部分でしょう。 1列目の1行目が文字で2行目が日付で3行目が数字を入力することが出来るので、非常に柔軟性が高いといえます。
しかしAccessのテーブルではそうはいきません。
1列目を文字列と決めたら、その列は文字しか入力できないし、数値と決めたら数字しか入力できません。 Excelのセル単位に何でも入力できる柔軟性の高さと比べると、なんともアタマの固いヤツだと感じることでしょう。
では、次にサンプルデータを比較しながら見てみましょう。
Excelで社員マスタを作成する
まずExcelで「ジュニーズ」というブック(Excel形式のファイル)を作成します。 そしてブックの中に「社員マスタ」というsheetを作成します。
「社員マスタ」の項目はつぎの5つで作成します。
- 社員コード
- 社員名
- 所属部署
- 入社年月日
- 生年月日
入社年月日と生年月日はセルの書式設定で西暦の日付形式で表示します。
Accessで社員マスタを作成する
まずAccessで「ジュニーズ」というデータベース(Access形式のファイル)を作成します。 そして「社員マスタ」というテーブルを作成します。
項目名はExcelと同じ社員コード、社員名、所属部署、入社年月日、生年月日とします。入社年月日と生年月日は日付として扱います。 Excelでは「セルの書式設定」で日付と設定しましたが、Accessでは「デザインビュー」で開いて「データ型」で指定します。
この時点で「あれ?なんか違うな」と違和感を感じませんか?
では、もう一度、ExcelとAccessの画面を並べてみましょう。
見た目は色が違う程度かもしれませんが、、まぁ、同じですね。 では、まずは1行目の大野 智の「入社年月日」に名前のフリガナ おおのさとし と入れてみましょう。
問題なく入力できますよね。
次はAccessの「入社年月日」に名前のフリガナを入れてみましょう。
あれ? 思ってもいなかった画面が出てきませんでしたか。 そうなんです、Excelではセルの書式に日付と設定しても文字を入力できるのに、Accessだと怒られるのです。
しかしながら、これがデータベースというものなのです。
せっかくなのでFileMakerでも同じように”ジュニーズ”というデータベースに「社員マスタ」というテーブルを作ってみました。
では、同じように「入社年月日」に名前のフリガナを入れてみましょう。
FileMakerでもAccessと同じようにエラー画面が表示されることが見てとれます。
このようにデータベースというものは列単位でデータ属性を設定したら、それに則ったデータしか入力できないように守ってくれるのです。
何でも手軽に入力できるExcelはノート代わりに気軽に使えますが、AccessやFileMakerのようなデータベースはノート代わりに使うのは無理があります。
データベースはデータの整合性や信頼性を守るのが仕事
だからといってデータベースソフトがExcelと比べて不便だということではありません。 データベースは複数のテーブルに関連性(リレーション)を持たせて運用するのでヘンなデータが入っていると困ってしまいます。異物混入みたいなモノです。
だからこそ、データベースはルールに則ったデータしか入力できないのです。
なんでも入力できてしまうExcelはその辺りがユルいのです。 もちろんExcelにも入力規則で縛ることはできますが、普段、自分がメインで使っていたら、なかなかそこまでしないのではないでしょうか?
作った本人であれば「この情報はここに入れて・・・」と自分で分かっているから、入社年月日にヘンなデータは入れませんが誰か他の人が使うとなったときに「入社年月日なんかあんまり使わないからちょっとここにメモしちゃおう」なんて思われちゃうと、せっかく今まで管理してきたデータに異物が混入してしまいます。
そういうのって後になって分かると、メチャクチャ困りますよね。エラー表示の原因になったりとかもします。
そこがExcelとのAccessなどのデータベースの役割の大きな違いなのです。
ということで、今回はExcelしか使ったことがない人に向けてExcelとAccessなどのデータベースソフトの違いを説明してみました。
Excelだけで頑張るんじゃなくて、データベースで管理したほうが楽チンな場合もあります。過去の記事もお読みいただくと参考になると思います。
※本記事は松田軽太様許諾の元、「松田軽太のブロぐる」の記事をベースに再編集しております。
松田軽太(まつだ・けいた)
とある企業に勤務する現役情シス。会社の中では「何をしているのかナゾな職場」でもある情シス業務についてのTipsや基礎知識などを紹介する。
ブログ『松田軽太のブロぐる』を運営。