アクセスQ&A
Q&Aでアクセスとデータベースの基礎知識を解説します。
↓パネルをクリックすると開きます。
- データベースについてのQ&A
- アクセスの機能と特徴についてのQ&A
- テーブルについてのQ&A
- リレーションシップについてのQ&A
- フォームについてのQ&A
- レポートについてのQ&A
- クエリーについてのQ&A
- マクロについてのQ&A
- VBAについてのQ&A
(ここから回答集)
データベースって何?
データベースはデータ(情報)のベース(基地)が語源です。データとは情報(事実・概念・指令など 認識できるすべての事)を人やコンピュータが使いやすいように形式化(項目別に整理など)したものです。そ してデータベースとは「データの基地」の意味のように、データを集約し、そのデータの操作(保存・検索など )を容易に出来るようにしたシステムのことです。代表的な例としては、図書館の図書検索システムがあります。
(例1)図書館の図書検索システム:たくさんの図書を収蔵している図書館で探したい本を容易に見つけら
れるように作られています。出版社、著者、ジャンルなどで検索できます。
(例2)銀行の預金情報システム:銀行カードを入れると自分の預金高や入手金データを、どこの銀行から
でも知ることが出来ます。また入出金することもできます。これはデータベースを通信ネットワークの利用によ
り便利にしたものです。
(例3)航空会社の座席予約システム:航空券を予約するシステムです。予約した座席が、2重予約になって
いたのでは困ります。正確さが絶対のシステムです。
第一に正確なデータの維持です。蓄積したデータを有効に利用することがデータベースの目的になります から、データを正確に保つ仕組みが出来ています。第二にデータの書き換えの制限や保護の仕組みがあります。 第三にダブらない仕組みがあります。これはデータの一元性の仕組みです。一つのデータが複数箇所にあったら、 一つだけを変更して残りはそのままになってしまいます。それではどれが正しいのか判らなくなるので、一つの データは一箇所だけにして、他所からは参照するようにしたものです。最後に、最大のメリットである膨大な量 から必要な情報の瞬時の検索機能は最大の特徴です。
データ保存部、データベース管理システム(DBMS)、アプリケーション部の三つの基本部分から成り立っ ています。データ保存部はデータを記録しておく部分です。アプリケーション部は、データベースを操作する部分 で、コンピュータ画面となって現われます。人が検索などの処理操作をするところです。DBMSはこれらの二つ を結びつける仕組みです。アプリケーション部から命令をデータ保存部に伝え、結果を受け取ります。そしてその 結果をアプリケーション部に返すことにより、画面に結果が表示されます。
データはエクセルのワークシートのようなテーブルというものに収められます。同じテーブルに全てのデ ータを収めようとすると、複雑で無駄が避けられません。そこで目的別にテーブルを分離し、テーブル間を関係付 ける(リレーション)ことで、この問題を解決しました。これがリレーショナル型データベースです。アクセス はこれに該当します。
アクセスはワードやエクセルと異なり、すぐに作業などが出来るものではありません。テーブル設計などの設 計作業が必要となるデータベースのソフトです。本格的なデータベースアプリケーションが作れる開発ソフトです が、同時に未経験者がその日から間単に操作できるメニューを備えている素晴らしいソフトです。
データの保存、削除、検索、抽出:データベースソフトウェアですからこれらは基本機能として持って います。これらの機能はメニューバーやツールバーに収められているので、テーブルにデータを入力するだ けで使うことが出来ます。 アプリケーション開発:目的をもって処理をさせるシステムがアプリケーションです。アクセスでは、顧客 管理、販売管理など様々な目的のアプリケーションを作ることが出来ます。こうしたアプリケーションは通 常、プログラム言語を用いて作成しますが、アクセスでは機能を持った部品(オブジェクト、コントロール など)が予め用意されていますので、初心者でも容易にアプリケーションを作ることが出来ます。
アクセスの各バージョンの概要と特徴です。
バージョン名 | 概要と特徴 | ファイル形式 | 実行ファイル形式 |
---|---|---|---|
Access2000 | JET以外のデータベースとの連携強化。ADOの導入。 | MDB | MDE |
Access2002 | Office XP版。 | ||
Access2003 | セキュリティの強化。 | ||
Access2007 | ファイル形式が変更。オフィスとの連携強化。フィールドに複数の値を格納することができる。 旧バージョンのファイルは2007形式に変更することで使用できる。 | ACCDB | ACCDE |
Access2010 | Office 2010版。 | ||
Access2013 | 最新バージョン。 |
(注記)
①古いバージョンでは新しいバージョンファイルは開けない。
②新バージョンから旧バージョンファイルを使用することは出来る。
テーブルはデータを保存するものです。テーブルはエクセルのワークシートで列に相当するフィールドと 行に相当するレコードで表現されます。1件の情報は1レコードとして表現され、フィールドはレコードの要素 が表現されます。人に関する情報であれば、1レコードに一人の情報が入ります。フィールドには住所、生年月日 、性別などを別々のフィールドとして記録します。
データベースでは、全てのレコードが一意に識別できることが必要です。主キーはその役割を果たすため のものです。主キーはいずれかのフィールドに設定しますが、主キーを設定したフィールドは重複のデータを許 しません。通常は重複しないコード番号を付与する方式か、オートナンバーフィールドを利用します。
正規化とは、テーブルを分割することによって、データ項目(フィールド)をまとまったグループごと に分けることです。正規化されたテーブルのことを正規形といい、通常に使われる正規形には第一正規形、第二 正規形、第三正規形があります。
第一正規形は繰り返し部分を持たないということです。受注伝票の例を考えてみましょう。伝票の上部 には顧客名、受注金額、納品日などの受注情報が記載されます。また下部の受注明細には複数の品名や数量、単 価などが記載されます。これを単一テーブルに記録すると、受注情報はシンプルに記録できますが、受注明細は 受注品目ごとに品名、数量、単価を繰り返し記載しなければなりません。また受注ごとに繰り返しの回数が変わ ることになります。この問題を避けるためには、受注明細を別テーブルにします。これが第一正規形です。
第二正規形は、全てのフィールドは主キーに従属しているということです。主キーが2つのフィールドの 複合で出来ている場合には、他のフィールドは両方のキーに従属しなければいけません。受注明細の例として、 受注番号と商品コードの複合キーとなります。ところが、商品名と単価のフィールドについては商品コードによ って決まってしまいます。片方のフィールドに従属していることになり、この部分を別テーブルに分けます。こ れが第二正規形となります。
第三正規形は、主キー以外のフィールド注目します。受注明細の例として、顧客名、顧客の住所は顧客 コードが決まると自動的に決まります。これは顧客コードに従属していることなので、別テーブルに分けます。 これが第三正規形となります。
データベースでは情報を種類ごとにフィールドに分けて記録します。そうすることによってデータの利 用が容易に、効率的に操作できるからです。分けられたフィードは当然として、氏名ならテキスト、生年月日 なら日付となります。データ型この形式を合わせたデータ型にすることが、合理的になります。これがデータ型 を設定する理由です。
リレーションシップとはテーブル間を関係付けることです。正規化によって分離したテーブルはお互いに 関係付けしておく必要があります。関係付けには一方のテーブルの主キーと別のテーブルの外部キーを結合さ せます。外部キーとは結合したいテーブルの主キーに結合させるフィールドをいいます。結合の種類には1対1 、1対多、多対多の3種類があります。
参照整合性を形成しているリレーションシップで、相手テーブルの結合先が主キーである場合、 そのフィールドを外部キーと呼びます。外部キーのとり得る値は相手テーブルの主キーの中に存在しなければなりません。 このことにより、参照整合性を保つことが出来るのです。
フォームはテーブルなどにあるデータを表示するためのものです。フォームはデータの登録、編集、検 索などを操作しやすいように自由に設計できるものです。1つのレコードを表示する単票フォーム、複数のレコ ードを表示できる帳票フォーム、エクセルワークシートのようなデータシートの種類があります。
単票フォームは1件のレコードを表示するためのフォームです。1件のレコードについて、多くの情報を 表示することが出来ます。会員管理システムのような場合では、一人の会員の入会日、生年月日、年齢、住所、 電話番号、趣味など、本人情報を1画面に表示させることが出来ます。また、ページを切替えて別会員を順次に 表示させてゆきます。
レポートは印刷表現するための機能を持っています。様々な表現方法やヘッダ、フッダよりグループ化、 集計値などを印刷できます。レポートではフォームのようにレコードの編集などは出来ません。
クエリーはテーブルなどをデータについて、特定のフィールドのみを選択したり、指定したレコードの みを抽出するものです。クエリーによりデータベースの基本的な機能であるデータの検索・抽出の機能を達成す ることが出来ます。
マクロは特定の操作手順をプログラムとして記述して自動化する機能。よく使う処理をマクロとして保存しておけば、 必要なときに誰でも簡単に実行できるようになる。アクセスでは通常使う機能がマクロのアクションとして登録されているので、選択するだけで自動処理が組み立てられる。
【マクロの良い点】
・アクセス側が用意したアクションを利用するだけなので事前準備が不要である。
・アクションを選択するだけで自動処理システムができる。
【マクロの弱点】
・基本的なマクロアクションしか用意されていない。
・独自の自動処理を作成できない。
・複雑な条件を組み合わせた制御を行うことができない。
・エラー発生の場合の独自の制御を行うことができない。
VBAの正式名はVisual Basic For Applicationです。Accessのみならず、Office製品にはこのVBAが備わっています。 マイクロソフト社のVBという開発言語を元に各アプリケーション用にカスタマイズされたプログラミング言語です。 このプログラミング言語を用いて、Accessを自分の好みに仕上げることができます。
【VBAの良い点】
・開発者が意図するアクセス操作ができる。
・複雑な条件を組み合わせた制御を行うことができる。
・独自のエラー処理を組み込むことができる。
【VBAの弱点】
・プログラミングの基礎的な知識を必要とするので初心者には敷居が高い。
・ステートメント、メソッド、アクションなどの機能取得に時間がかかる。