II-22-10. RDBを用いたDBアプリケーションの例

テーブルの作成とデータのロードといった具体的な手順を示し、さらに検索結果の表示やビューの設定といった業務帳票や画面設計の手順、パフォーマンスの検討など、実際のDBアプリケーション開発に必要な項目を解説する。

【学習の要点】

* 企業で利用するために設計されたデータベースをSQLにて作成し、データの登録を行う。

* 必要なデータの検索を行うSQLを作成し、結果を表示させる。

* インデックスの作成等により作成したデータベースのパフォーマンスの改善を行う。

図II-22-10. 画面・帳票設計の例

【解説】

1) データのロード

企業でデータベースを利用するための移行データなどの投入には、CSVデータを利用することが広く行われている。

 LOAD DATA INFILE ‘[ファイル名]’ INTO TABLE ` [テーブル名] `<br />
FIELDS TERMINATED BY ",(セパレーター)"<br />
OPTIONALLY ENCLOSED BY '"(囲い文字)';

作成したテーブルにデータをロードするには、プログラムを開発して、データをINSERT文に変換する方法の他、RDBMSにロード用のユーティリティが用意されている場合がある。例えば、MySQLでは、以下の構文でCSVファイルをテーブルにロードすることができる。

2) ビューの設定

ビューは、既存の一つまたは複数のテーブルから抽出した結果を、仮想的な名称をつけて表示できるテーブルである。

ビューは利用側からは単一のテーブルのように見えるが、ビュー内で結合取得するなど複雑なクエリとなっている場合は、パフォーマンスが低下する。

* ビューの利用目的

- テーブルをカプセル化することで、同じ検索結果を得たいプログラムが複数存在した場合に、同じようなSQLが乱立しプログラム開発上の不具合を誘発することを防止して、開発効率を向上させる。

- テーブル全体を取得させないなどの管理の厳格化により、データのセキュリティを向上させる。

* 記述例

CREATE VIEW hacchuu_shinamei AS

( SELECT B.suuryou , B.shinacode , A.shinamei FROM `hinmoku` AS A INNER JOIN `hacchuu` AS B ON A.`shinacode` = B.`shinacode` WHERE A.`tanka` < 800 )

3) 業務帳票や画面設計の手順

帳票や画面の設計は、システム作成依頼先から要件確認を行い、業務フローの作成によって、システム化対象となった機能の洗い出し(画面一覧、帳票一覧)をする。

そして、各機能から必要となるエンティティを確認しながら、データモデルを作成していく。

データモデルの作成においては、複数の画面帳票が相互に関連しているものもあるので、機能別にテーブル関連図やCRUD図(各々の機能が、どのテーブルに対して、データの参照、作成、更新、削除を行うかを示した表)などを作成する。

この前後に、必要と判断された機能について、「帳票レイアウト」と「画面レイアウト」の作成を実施する。これらに機能関連表、項目一覧、機能概要説明などを付記したものが一般に「基本設計書」となる。

4) パフォーマンスの検討

要件確認においては、登録データの件数もできるだけヒアリングし、パフォーマンス上、ボトルネックとなりそうな箇所を検討しておく。これらの箇所について、SQLのチューニングやデータベースの非正規化、インデックスの設定などのパフォーマンス対策の実施を検討する。

OSS Course Naviのコンテンツは IPA OSS モデルカリキュラムを基としています。