情 報 分 析 演 習 (2010) Access 第 1 回 はじめに データベースソフトにおいて 世 界 市 場 のトップシェアを 占 め るORACLE 社 に データは21 世 紀 最 大 の 資 源 である という 宣 伝 コピーがあった この 言 葉 に 象 徴 されるように 現 代 の 企 業 が 抱 えるデータの 重 要 性 はますます 増 大 し 扱 うデータ 量 は 増 加 の 一 途 をたどっている 企 業 においては こうした 大 量 の データはデータベースとして 保 存 管 理 されており そのため 情 報 システムを 構 築 するにあたっては データベースを 使 用 し ない 開 発 はほとんど 考 えられない また 近 年 では データを 安 全 に 管 理 するためのセキュリティが 重 要 な 課 題 であり 蓄 積 し たデータをもとにしたデータマイニングなどの 応 用 も 活 発 と なっている 今 後 も 情 報 システムにおけるデータベースの 重 要 性 は 一 層 増 加 すると 考 えられる ここでは 手 軽 に 扱 えるデータベース 管 理 システムとして 代 表 的 なマイクロソフト 社 の Access ( 通 称 MS-Access)を 使 用 して データベースの 基 本 的 な 概 念 を 理 解 し 簡 単 なデータベースの 構 築 とデータの 検 索 方 法 などを 学 ぶ データベースとは 1つ 以 上 のファイルの 集 まりであっ て その 内 容 を 高 度 に 構 造 化 することによって 検 索 や 更 新 の 効 率 化 を 図 ったもの (JIS:Japan Industial Standards) 1. データベースの 概 要 データベースとは データは 情 報 量 が 少 ない 場 合 やデータ 件 数 が 少 ない 場 合 は どのような 方 法 でも 管 理 することが 可 能 である たとえば あな たがよく 連 絡 をとる 友 人 の 携 帯 番 号 の 数 は 数 十 人 程 度 であろう この 程 度 の 量 であれば 記 憶 することも 不 可 能 ではないし 住 所 録 にメモしておけば 対 応 することができる しかし 企 業 が 扱 う 携 帯 番 号 の 件 数 は 数 万 ~ 数 千 万 人 分 ( 例 えば Docomoの2009 年 7 月 末 時 点 での 契 約 者 数 は 約 5500 万 人 )に もなる 可 能 性 がある 企 業 において 記 録 しなければならないデー タ 数 は 膨 大 であり 業 務 で 使 われる 情 報 システムも 大 量 のデータ を 扱 うことを 前 提 として 構 築 される また その 内 容 も 例 えば 顧 客 が 商 品 を 購 入 するとき 保 存 すべき 情 報 をあげれば 携 帯 番 号 だけでなく 氏 名 住 所 性 別 購 入 日 購 入 品 目 購 入 数 など 多 くの 項 目 がある このように 多 種 多 様 な 情 報 は 保 存 後 の 利 用 のためには データの 内 容 を 整 理 して 使 いやすい 形 にモデル 化 していくことが 必 要 となる これらの 情 報 は 顧 客 の 問 合 せに 応 じて 瞬 時 に 呼 び 出 すなど 業 務 上 の 目 的 に 合 わせて 使 用 されるから である このモデル 化 をデータモデリングといい モデル 化 され たデータの 集 まりをデータベースという データベースの 形 式 で 整 えられたデータは ただ 保 存 するだけ でなく 新 規 登 録 変 更 削 除 などが 発 生 する 時 に データの 整 合 性 を 保 って 処 理 が 行 われること ある 条 件 に 一 致 するデータを 時 間 をかけずに 検 索 すること データからわかる 情 報 をレポート として 提 出 することなどが 求 められる このためには データ 量 の 大 きさや 各 種 のデータ 形 式 に 対 応 できるように データの 管 理 方 法 がシステム 化 されていなければならない このような 目 的 のために 作 成 されたソフトウェアをデータベース 管 理 システム ( DBMS : Data Base Management System )という 1
データベースの 種 類 データを 正 しく 更 新 したり 早 く 検 索 したりするためにはデータをモデル 化 する ことが 必 要 となる モデル 化 の 方 法 はいろいろあり ネットワーク 型 データベー ス カード 型 データベース 階 層 型 データベース リレーショナルデータベース (RDB) オブジェクト 指 向 データベース(OODB)などが 対 応 するデータベー スとして 開 発 されてきた このうち 現 在 最 も 多 く 使 用 されているのがRDBで ここで 学 習 するAccessもリレーショナルデータベース 管 理 システムの1つである リレーショナルデータベース(RDB)は データ 項 目 の 関 係 を 行 と 列 (フィー ルド)の2 次 元 の 表 (テーブル)の 形 式 で 表 したデータベースである テーブルは 表 計 算 ソフトであるExcelのシートとよく 似 た 表 形 式 になっている また データ ベースは 複 数 のテーブルから 構 成 される 例 えば 販 売 管 理 データベースは 売 上 伝 票 テーブル 顧 客 テーブル 商 品 テーブルなどのテーブルからなる また 異 なるテーブルの 任 意 のフィールドのデータを 取 り 出 して 新 しいテーブルを 作 成 したり 複 数 のテーブルを1つのテーブルにまとめたりすることができる さら に テーブルのフィールドは 他 のテーブルのフィールドと 関 係 付 けることができ (この 関 係 づけを リレーション と 呼 ぶ) データの 検 索 などに 利 用 される 販 売 管 理 データベース 売 上 伝 票 テーブル 伝 票 ID 日 付 レコード フィールド 顧 客 テーブル 商 品 テーブル 顧 客 ID 氏 名 商 品 ID 商 品 名 商 品 データベースを 用 いた 領 収 書 発 行 や 売 上 管 理 の 例 データベースはどんな 時 に 便 利? 文 具 店 の 例 商 品 番 号 :123 手 帳 300 商 品 番 号 商 品 名 単 価 : : : 122 筆 箱 500 123 手 帳 300 124 消 しゴム 300 : : : : : : 領 収 書 123 手 帳 1 個 300 124 消 しゴム 1 個 300 合 計 600 ( 内 税 ) 商 品 番 号 と 数 量 を 入 力 するだけで 領 収 書 を 出 力 するようなしくみも 作 れる 領 収 書 123 手 帳 1 個 300 124 消 しゴム 1 個 300 合 計 600 ( 内 税 ) すべての 項 目 を 手 書 きまたはワー プロ 等 で 作 成 する ことにも このしくみが なければ 本 来 は 売 上 履 歴 のデータ ベースも 存 在 するのが 一 般 的 であるが ここでは 便 宜 上 簡 略 化 したイメージで 説 明 商 品 の 種 類 や 取 り 扱 い 件 数 が 少 ない 場 合 は 対 応 できるが 商 品 の 種 類 件 数 が 多 い 時 は 対 応 が 大 変 データベースは 多 い( 件 数 項 目 ) を 効 率 的 に 扱 う のに 便 利 データベースの 活 用 例 住 所 録 電 子 百 科 事 典 商 品 カタログ 生 産 管 理 銀 行 の 預 金 処 理 在 庫 管 理 株 取 引 カルテの 管 理 チケット 購 入 予 約 人 事 管 理 大 学 等 における 成 績 管 理 よく 使 われているDBMS Oracle Database Microsoft Access MySQL PostgreSQL 2
Microsoft Accessとは Microsoft Accessは Microsoft Officeの 中 のデータベース 管 理 システム (DBMS)である ユーザーインターフェースに 優 れており データの 入 力 やデータ 検 索 出 力 帳 票 のレイアウト 設 計 などが 比 較 的 容 易 にできる それほど 大 規 模 ではないデータ 用 や 個 人 使 用 のためのDBMSとして 普 及 し ている 利 用 者 DBMS 提 供 の インターフェース 応 用 ソフトウェア (SQLを 記 述 ) データベースの 使 い 方 データベース 管 理 システムを 通 してデータを 扱 う 場 合 その 方 法 は2つある ひとつは DBMSが 提 供 するユーザインターフェースを 通 してデータベースを 操 作 するものであり もうひとつは 応 用 ソフトウェアのなかにSQL (structured query language)という 言 語 を 記 述 してデータベースを 操 作 するも のである 今 回 の 演 習 では 前 者 の 方 法 を 用 いてデータを 操 作 する 方 法 を 学 ぶ が この 場 合 も 内 部 ではSQLに 変 換 されて 処 理 が 行 われている データベース 管 理 システム (DBMS) SQL 機 能 データベース 画 面 の 名 称 1Officeボタン ファイル 操 作 や オプション 設 定 などのためのボタン が 表 示 される 1 2 2クイック アクセス ツール バー 3リボン 4ナビゲーションウ ィンドウ よく 利 用 するボタンが 表 示 される 自 分 で 変 更 可 能 タブで 選 んだメニューの 中 に 含 まれるツールボタンや らコマンドが 表 示 される ここでは [ホーム] タブの [ 表 示 ] グループ [クリップボード] グループ [フォント ]グループなどが 表 示 されている 開 いているデータベースのテーブル フォーム レポ ート クエリなどのオブジェクトが 表 示 される 3 4 5 5データベース オブジェクト 開 いているテーブルなどのオブジェクトが 表 示 される 3
Accessの 機 能 Accessの 主 な 機 能 (オブジェクト)としては 以 下 のものがある テーブル:データの 保 存 場 所 の 作 成 やデータ 同 士 の 関 連 づけをする クエリ: 必 要 なデータを 検 索 抽 出 する (クエリ(Query)とは 問 い 合 わせ 照 会 の 意 味 ) フォーム:データを 効 率 よく 入 力 する レポート:データを 帳 票 形 式 で 印 刷 する (ページ マクロ モジュールの 機 能 は 今 回 は 使 用 しない) テーブル 作 成 の 流 れと 使 用 するオブジェクト テーブルの 設 計 テーブル テーブル データの 入 力 フォーム データの 関 係 付 け テーブル ビューについて 各 オブジェクトには 操 作 の 内 容 に 合 わせて 作 業 に 適 した 表 示 方 法 (ビュー)が 用 意 されている 例 えば テーブルオブジェク トには 各 レコードのデータの 内 容 を 見 るための データシート ビュー とテーブルのフィールドや 属 性 などの 構 造 を 変 更 するた めの デザインビュー がある それぞれの 目 的 に 応 じてビュー を 使 い 分 けて 作 業 をしていく 主 キーとは テーブル 内 の 各 レコードを 識 別 するためのフィールドを 主 キー という 主 キーを 設 定 したフィールドには 重 複 するデータや 空 の 値 を 入 力 することはできない 各 オブジェクトの 主 なビュー オブジェクト ビュー 内 容 テーブル データシートビュー データの 内 容 を 見 る デザインビュー フィールド 名 や 属 性 を 設 定 する クエリ データシートビュー クエリの 結 果 を 見 る デザインビュー クエリのデザインを 設 定 する フォーム フォームビュー フォームでデータの 入 力 更 新 を 行 う デザインビュー フォームのデザインを 設 定 する レポート レポートプレビュー 印 刷 結 果 を 見 る データの 検 索 データの 出 力 テーブルにどういう 項 目 を 入 力 できるよ うにするかを 決 める( 設 計 する) ( 例 ) 商 品 番 号 商 品 名 単 価 テーブルの2つのビュー デザインビューで テーブルを 設 計 デザインビューで 直 接 テーブル 設 計 する 代 わり にウィザードを 使 うことも 可 能 ( 実 際 にはウィザードで 設 定 し た 内 容 がデザインビューに 書 き 込 まれている) クエリ レポート ビューの 切 替 ボタン データビューで データを 入 力 デザインビューで 決 めた 項 目 の 内 容 を 入 力 する ( 例 ) 122 筆 箱 300 デザインビュー 印 刷 のデザインを 設 定 する 4
数 値 型 のサイズ データ 型 テキスト 型 255 文 字 まで サイズ メモ 型 数 値 型 通 貨 型 65536 文 字 まで バイト 型 (0~255) 整 数 型 (-32768~32767) 長 整 数 型 (-2147483648~2147483647 ) 単 精 度 浮 動 小 数 点 型 ( 有 効 桁 数 7 桁 の 小 数 点 を 含 む 数 値 ) 倍 精 度 浮 動 小 数 点 型 ( 有 効 桁 数 15 桁 の 小 数 点 を 含 む 数 値 ) 小 数 点 以 下 4 桁 小 数 点 以 上 15 桁 フィールドのデータ 型 データ 型 テキスト 型 メモ 型 数 値 型 日 付 / 時 刻 型 通 貨 型 オートナンバー 型 Yes/ No 型 OLEオブジェクト 型 ハイパーリンク 型 ルックアップウィザード 文 字 列 の 入 力 長 い 文 字 列 の 入 力 計 算 用 日 付 や 時 刻 の 入 力 用 途 金 額 の 計 算 計 算 速 度 が 速 い 自 動 で 整 数 値 の 割 り 当 て 入 力 不 可 論 理 型 画 像 文 書 ワークシート URL あらかじめ 指 定 したいくつかの 値 からひ とつを 入 力 したい 時 5
操 作 演 習 1 実 施 する 内 容 データベースの 新 規 作 成 /デザインビューからのテーブルの 新 規 作 成 /データシートビューでのデータ 入 力 データの 型 1 起 動 とデータベー スの 新 規 作 成 Microsoft Accessの 起 動 データベースの 新 規 作 成 [officeボタン] [ 新 規 作 成 ] 操 作 概 要 ウィンドウの 右 に 空 のデータベースを 作 成 する 画 面 が 出 てくるので ファイル 名 にデータベースの 名 前 文 具 店 を 入 力 し 保 存 ([ 作 成 ]ボタン) まずデータベースを 作 成 してその 後 テーブルなどのオブジェクトを 作 成 していく ファイル 名 の 下 には 保 存 場 所 が 表 示 されています 1つのデータ ベースの 中 に 複 数 のテーブルを 作 成 できる 2 テーブルの 作 成 テーブルの 作 成 (デザインビューにて) [ 表 示 ( の 部 分 )] [デザインビュー]を 選 択 [ 名 前 を 付 けて 保 存 ]ウィンドウが 出 てくるので テーブル 名 商 品 マスター を 入 力 し 保 存 デザインビューとなる フィールドとデータ 型 を 入 力 フィールド 名 とデータ 名 を 入 力 フィールド 名 列 に 商 品 番 号 商 品 名 単 価 在 庫 数 を 入 力 データ 型 は ボタンから (オートナンバー 型 )(テキスト 型 )( 通 貨 型 )( 数 値 型 )をそれぞれ 選 択 6
3 データシート ビューでデータ 入 力 操 作 概 要 ビューの 切 替 [ 表 示 ] より ビューをデータシートビューに 切 り 替 える データ 入 力 それぞれのフィールドにデータを 入 力 していく 筆 箱 500 30 手 帳 300 10 消 しゴム 300 50 を 入 力 商 品 番 号 は 自 動 的 につけられる 7
操 作 演 習 2 実 施 する 内 容 データシートの 操 作 ( 列 の 操 作 データのコピー データの 並 べ 替 え 抽 出 検 索 等 ) オートフォーム/フォームのデザイン 1 データシートの 操 作 操 作 概 要 データベース 文 具 店 の 商 品 マスター ( 操 作 演 習 1 作 成 ) のテーブルを 開 く 列 の 挿 入 (データシートビューになっていることを 確 認 して) 列 を 挿 入 したい 場 所 の 列 フィールドを 右 クリック [ 列 を 挿 入 ] [フィールド1]という 新 しい 列 ができる フィールド 名 の 変 更 挿 入 した 列 のフィールド 名 をダブルクリックし 列 名 を 変 更 商 品 名 (かな) 同 様 に 商 品 名 のフィールドも 商 品 名 ( 漢 字 ) に 変 更 商 品 名 (かな)を 入 力 する 行 データのコピー コピーしたい 行 を 選 択 し 右 クリックで[コピー] (または [ 編 集 ]タブ [コピー]ボタン) コピーした 行 の 貼 り 付 け 最 終 行 を 選 択 し 右 クリックで[ 貼 り 付 け] (または[ 編 集 ] [ 貼 り 付 け] コピーした 行 の 商 品 名 ( 漢 字 かな) 単 価 を 修 正 消 しゴム 消 しゴム( 小 ) けしごむ けしごむ(しょう) 単 価 150 在 庫 数 50 8
2 データシートの 操 作 ( 続 き) 3 フィールドプロパ ティの 変 更 列 データのコピー 操 作 概 要 単 価 のデータの 次 に 列 を 挿 入 単 価 のデータ 列 を 選 択 し 右 クリック [コピー] 挿 入 した 列 を 選 択 して 右 クリック [ 貼 り 付 け] 挿 入 した 列 の 名 称 を 旧 単 価 に 変 更 (デザインビューから) ふりがな 入 力 支 援 機 能 の 設 定 商 品 名 ( 漢 字 )の 行 を 選 択 し フィールドプロパティ 設 定 の 標 準 タブの[ふりがな]にカーソルを 合 わせ 入 力 支 援 ウィザードボタンをクリック ふりがなの 入 力 先 : 既 存 フィールドを 選 択 [ 商 品 名 (かな)] ふりがなの 文 字 種 を 選 択 し [ 完 了 ] ふりがな 入 力 支 援 ウィザードで ふりがなの 入 力 の 先 フィールドの 作 成 を 同 時 に 行 うことも 可 能 データシートビューに 戻 し ふりがな 入 力 支 援 機 能 の 動 作 を 確 認 してみる( 自 動 入 力 されたふりがなは 上 書 き 可 能 ) 入 力 支 援 機 能 には 郵 便 番 号 を 入 力 すると 住 所 の 町 名 等 を 自 動 入 力 郵 便 番 号 電 話 番 号 等 の 定 型 入 力 データ 入 力 日 などの 設 定 が 可 能 4 データの 並 べ 替 え (データシートビューから) データの 並 べ 替 え 並 べ 替 えの 基 準 にするフィールドを 選 択 並 べ 替 えとフィルタ リボンの[ 昇 順 / 降 順 で 並 べ 替 え]ボタ ン 並 べ 替 えの 解 除 : 並 べ 替 えとフィルタ リボンの[すべての 並 び 替 えをクリア]ボタン 9
操 作 概 要 5 データの 抽 出 ( 単 価 が300 円 の 商 品 を 抽 出 したい 場 合 ) 選 択 フィルタ 抽 出 したい 条 件 に 合 っているデータを 選 択 ( 価 格 が 300 円 のデータ) 並 べ 替 えとフィルタ リボンの[ 選 択 ] フィルタの 解 除 並 べ 替 えとフィルタ リボンの[フィルタの 実 行 ] フォームフィルタ フィルタの 解 除 並 べ 替 えとフィルタ リボンから[ 詳 細 設 定 ] [フォームフィルタ] 単 価 の 欄 から300 円 を 選 択 する フィルタの 解 除 並 べ 替 えとフィルタ リボンの [フィルタの 実 行 ] ( 終 了 してデータを 保 存 ) 6 フォームの 作 成 フォームの 作 成 [ 作 成 ]タブ フォームの[フォーム]ボタン レコードのボタンで 異 なる 商 品 を 見 る 事 が 出 来 る 10
7 フォームのデザ イン 編 集 操 作 概 要 [ 書 式 設 定 ]タブの[オートフォーマット]からテンプレートを 選 べる ラベルの 文 字 色 の 変 更 商 品 名 のラベルを 選 択 し フォントの 色 を 変 更 する 単 価 のラベルも 同 様 にする テキストボックスの 大 きさの 調 整 テキストボックスを 選 択 し ドラッグで 大 きさを 調 整 する (フォームビューでデータを 入 力 ) 既 存 データの 編 集 新 しいレコード レコードの 削 除 11