トップ :: G 物理学 :: G06 計算;計数




【発明の名称】 データベースアクセス処理方法
【発明者】 【氏名】中島 千昌

【要約】 【課題】データベースに定義された物理的な構造をアプリケーションが意識せずに、データベースからのデータの参照、及びデータベースへのデータの追加、更新、及び削除処理を一括して管理するデータベースアクセス処理方法を提供することを目的とする。

【解決手段】データベースに定義された物理的な構造とアプリケーションが使用する論理的な構造が異なるシステムにおけるデータベースアクセス処理方法において、アプリケーションからデータベースを参照または更新するとき、データベースに定義された物理的な構造をアプリケーションが使用する論理的な構造へ変換し、またはアプリケーションが使用する論理的な構造をデータベースに定義された物理的な構造へ変換するようにする。
【特許請求の範囲】
【請求項1】データベースに定義された物理的な構造とアプリケーションが使用する論理的な構造が異なるシステムにおけるデータベースアクセス処理方法において、アプリケーションからデータベースを参照または更新するとき、データベースに定義された物理的な構造をアプリケーションが使用する論理的な構造へ変換し、またはアプリケーションが使用する論理的な構造をデータベースに定義された物理的な構造へ変換するステップを備えたことを特徴とするデータベースアクセス処理方法。
【請求項2】データベースに定義された物理的な構造とアプリケーションが使用する論理的な構造が異なるシステムにおけるデータベースアクセス処理方法において、アプリケーションからデータベースを参照するときに、データベースに対してアクセスするべきデータのアクセス情報として、テーブルID及びアクセスキーをアプリケーションから取得するステップと、前記テーブルID及びアクセスキーを用いてデータベースから対象データを検索するステップと、検索された対象データを、データベースに定義された物理的な構造からアプリケーションが使用する論理的な構造へ変換するステップと、論理的な構造とした対象データをアプリケーションへ返すステップとを備えたことを特徴とするデータベースアクセス処理方法。
【請求項3】データベースに定義された物理的な構造とアプリケーションが使用する論理的な構造が異なるシステムにおけるデータベースアクセス処理方法において、アプリケーションからデータベースにデータを追加するときに、データベースに対してアクセスするべきデータのアクセス情報として、テーブルID、アクセスキー、及び追加データをアプリケーションから取得するステップと、前記追加データを、アプリケーションが使用する論理的な構造からデータベースに定義された物理的な構造へ変換するステップと、前記テーブルID及びアクセスキーを用いてデータベースに対象データを追加するステップとを備えたことを特徴とするデータベースアクセス処理方法。
【請求項4】データベースに定義された物理的な構造とアプリケーションが使用する論理的な構造が異なるシステムにおけるデータベースアクセス処理方法において、アプリケーションからデータベースにデータを更新するときに、データベースに対してアクセスするべきデータのアクセス情報として、テーブルID、アクセスキー、及び更新データをアプリケーションから取得するステップと、前記更新データを、アプリケーションが使用する論理的な構造からデータベースに定義された物理的な構造へ変換するステップと、前記テーブルID及びアクセスキーを用いて前記更新データでデータベースの対象データを更新するステップとを備えたことを特徴とするデータベースアクセス処理方法。
【請求項5】請求項1から4の何れか1つに記載のデータベースアクセス処理方法において、データベースの参照データをアプリケーションに返すとき、またはアプリケーションから追加/更新データをデータベースに渡すとき、それらのデータの格納場所を示すポインタを授受することでデータの授受を行うことを特徴とするデータベースアクセス処理方法。
【発明の詳細な説明】【0001】
【発明の属する技術分野】本発明は、モバイルコンピュータなど小型の携帯端末上で稼動するシステムにおいて、処理性能を向上させる際に重要な要素となるデータベースの定義方法、及びデータベースへのアクセス処理方法に関する。
【0002】
【従来の技術】データベースを使用したシステム開発では、システムの処理性能を向上させる過程でデータベースへのアクセス処理時間の対策が不可欠となる。例えば、画面表示処理及び画面終了処理において、データベースへのアクセスに要する処理時間は、画面表示に要する処理時間と比較して比重が大きいといえる。従って、データベースへのアクセス処理時間を短縮することが、全体の処理時間の短縮に最も有効な手段となる。
【0003】また、データベースを使用したシステムにおいて、使用されるデータベースのモデルは、コンピュータの処理性能の高速化から、クエリの最適化、並列処理、及びデータの分散化等の高度な機能を備えたリレーショナルデータベースが主流となっている。リレーショナルデータベースが広く支持されてきた理由は、データベースの物理的な構造が隠され、アプリケーションは二次元の単純な表としての論理的な構造のみを意識すれば、SQLという非手続き型の問い合わせ言語により必要とするデータを容易にアクセスできることにある。
【0004】
【発明が解決しようとする課題】モバイルコンピュータなどとして使用する小型の携帯端末は、より持ち歩きやすくするためにコンピュータ本体の大きさを小型化し、より長時間のバッテリー駆動を可能にするために低消費電力のCPUを使用している。その結果、ノート型のコンピュータと比較して、より高い携帯性とより効率的なパワーマネージメントを実現している。その反面、前記の低消費電力CPUの処理性能は、ノート型のコンピュータに搭載されるCPUと比較して低速であるという弱点がある。このような環境で動作するシステム開発においてリレーショナルデータベースを使用する場合、CPUの処理性能がネックとなるため、データベースへのアクセス処理の性能を確保するには、I/O数を抑えるためのテーブル構造の見直し、及び項目の統合を行い物理的なカラム数を最小限にするためのレコード構造の見直しといったデータベース設計が必要となる。
【0005】アプリケーションの製造工程は、データベース設計が完了してから着手するのが一般的だが、携帯端末上で稼動するシステムの開発では、データベースへのアクセス処理性能を常に意識しなければならず、データベースの再設計が随時発生することになり、テーブル構造の見直しが発生する度に、多大な修正工数が発生するという問題がある。
【0006】また、データベースに定義する性能を考慮したデータ構造とアプリケーションが使用するのに適しているデータ構造とが異なる場合、アプリケーションはデータベースに定義している物理的なデータ構造を意識することになり、データベースの物理的な構造を隠すことが可能であるというリレーショナルデータベースの長所を活用できなくなるという問題がある。
【0007】本発明の目的は、データベースに定義された物理的な構造をアプリケーションが意識せずに、データベースからのデータの参照、及びデータベースへのデータの追加、更新、及び削除処理を一括して管理するデータベースアクセス処理方法を提供することである。
【0008】
【課題を解決するための手段】上記目的を達成するために、請求項1に係る発明は、データベースに定義された物理的な構造とアプリケーションが使用する論理的な構造が異なるシステムにおけるデータベースアクセス処理方法において、アプリケーションからデータベースを参照または更新するとき、データベースに定義された物理的な構造をアプリケーションが使用する論理的な構造へ変換し、またはアプリケーションが使用する論理的な構造をデータベースに定義された物理的な構造へ変換するステップを備えたことを特徴とする。
【0009】請求項2に係る発明は、データベースに定義された物理的な構造とアプリケーションが使用する論理的な構造が異なるシステムにおけるデータベースアクセス処理方法において、アプリケーションからデータベースを参照するときに、データベースに対してアクセスするべきデータのアクセス情報として、テーブルID及びアクセスキーをアプリケーションから取得するステップと、前記テーブルID及びアクセスキーを用いてデータベースから対象データを検索するステップと、検索された対象データを、データベースに定義された物理的な構造からアプリケーションが使用する論理的な構造へ変換するステップと、論理的な構造とした対象データをアプリケーションへ返すステップとを備えたことを特徴とする。
【0010】請求項3に係る発明は、データベースに定義された物理的な構造とアプリケーションが使用する論理的な構造が異なるシステムにおけるデータベースアクセス処理方法において、アプリケーションからデータベースにデータを追加するときに、データベースに対してアクセスするべきデータのアクセス情報として、テーブルID、アクセスキー、及び追加データをアプリケーションから取得するステップと、前記追加データを、アプリケーションが使用する論理的な構造からデータベースに定義された物理的な構造へ変換するステップと、前記テーブルID及びアクセスキーを用いてデータベースに対象データを追加するステップとを備えたことを特徴とする。
【0011】請求項4に係る発明は、データベースに定義された物理的な構造とアプリケーションが使用する論理的な構造が異なるシステムにおけるデータベースアクセス処理方法において、アプリケーションからデータベースにデータを更新するときに、データベースに対してアクセスするべきデータのアクセス情報として、テーブルID、アクセスキー、及び更新データをアプリケーションから取得するステップと、前記更新データを、アプリケーションが使用する論理的な構造からデータベースに定義された物理的な構造へ変換するステップと、前記テーブルID及びアクセスキーを用いて前記更新データでデータベースの対象データを更新するステップとを備えたことを特徴とする。
【0012】請求項5に係る発明は、請求項1から4の何れか1つに記載のデータベースアクセス処理方法において、データベースの参照データをアプリケーションに返すとき、またはアプリケーションから追加/更新データをデータベースに渡すとき、それらのデータの格納場所を示すポインタを授受することでデータの授受を行うことを特徴とする。
【0013】
【発明の実施の形態】以下、本発明の実施の形態について図面に従って説明する。
【0014】図1は、本発明の実施の形態に係る携帯端末の構成を示すブロック図である。この携帯端末は、図1に示すように、CPU105及び内部記憶装置106を有する処理装置101と、業務データを格納しているデータベース107を有する外部記憶装置102と、データの表示装置として使用するディスプレイ103と、データの入力装置として使用するタッチペン104とを備えている。
【0015】処理装置101内のCPU105及び内部記憶装置106は、携帯端末をより持ち歩きやすくするために、小型かつ低消費電力のものを使用している。また、ディスプレイ103は、タッチペン104を使用したタップ操作による入力を可能としているため、ここでは入力装置としてキーボードは使用しない。本実施の形態では、このような携帯端末を例とするが、もちろん一般的な表示機能のみのディスプレイとキーボードを備えた携帯端末であってもよい。
【0016】図2は、データベースアクセスモジュールとアプリケーションの処理構成図である。図1の携帯端末において、個々の処理が使用するデータの構造と、個々の処理に適したデータ構造に変換されている様子を示している。以下、データベース107に定義された物理的な構造を物理構造205と、アプリケーションが使用する論理的な構造を論理構造206と呼ぶ。
【0017】内部記憶装置106には、アプリケーション201、データ領域202、データベース参照モジュール203、及びデータベース更新モジュール204が、記憶あるいは確保されている。アプリケーション201は、データを操作するための領域としてデータ領域202を確保している。
【0018】個々の処理で使用するデータ構造は、破線で示したように論理構造206を使用する処理群と物理構造205を使用する処理群に大別することができる。つまり、データベース107に対してテーブル定義の見直し等の原因により物理構造205に変更があった場合、データベース参照モジュール203の物理定義及びデータベース更新モジュール204の物理定義に対する改修に絞られるため、データベース107の変更に対する極めて柔軟な対応を可能とした処理構成となっている。
【0019】図3は、データベースアクセスモジュールとアプリケーションの処理内容を示すフローチャートである。データベース107より取得したデータをディスプレイ103に表示し、入力データをデータベース107に反映する更新処理を例として、図2の処理構成図を用いて説明する。
【0020】まず、アプリケーション201は、データベース参照モジュール203を起動する(ステップ301)。この際、アプリケーション201が確保しているデータ領域202のポインタを引き渡す。
【0021】起動されたデータベース参照モジュール203は、データベース107から対象データを取得して、取得したデータをデータ領域202へ格納する(ステップ302)。格納処理が終了した時点で、データベース参照モジュール203を終了し、アプリケーション201の処理を継続する。
【0022】データをディスプレイ103に表示する場合、アプリケーション201はデータ領域202に格納されている論理構造206のデータを使用する(ステップ303)。また、ディスプレイ103においてタッチペン104による入力があった場合、アプリケーション201は入力されたデータでデータ領域202を更新する(ステップ304)。次に、入力データをデータベース107へ反映するために、データベース更新モジュール204を起動する(ステップ305)。この際、入力データを格納しているデータ領域202のポインタを引き渡す。
【0023】起動されたデータベース更新モジュール204は、データ領域202に格納された対象データを取得して、取得したデータでデータベース107を更新する(ステップ306)。更新処理が終了した時点で、データベース更新モジュール204を終了し、アプリケーション201の処理は完了する。
【0024】次に、データベース参照モジュール203とデータベース更新モジュール204の処理内容の詳細を、図4及び図5のフローチャートを使用して説明する。
【0025】図4は、データベース参照モジュール203の処理内容を示すフローチャートである。アプリケーション201から起動されたデータベース参照モジュール203は、アプリケーション201から引数としてアクセス情報408を取得する(ステップ401)。アクセス情報408には、対象のテーブルID、対象データのアクセスキー、アクセス方法、及び、参照データの格納場所を示すポインタをセットする。ここでは、アクセス方法には「参照」が設定されている。
【0026】次に、テーブルID及びアクセスキーを使用したSQLを発行して、データベース107から対象データを検索する(ステップ402)。ここで、データベース107に対象データが存在するか判定する(ステップ403)。対象データが存在しなかった場合は、処理が失敗したと判断し、ステップ407へジャンプする。対象データが存在した場合は、データベース107から対象データを物理構造205で取得する(ステップ404)。更に、取得したデータを物理構造205から論理構造206へ変換する(ステップ405)。そして、論理構造206へ変換した取得データを、ポインタで指定されたデータ領域202に格納する(ステップ406)。
【0027】最後に、処理結果409を戻り値としてアプリケーション201へ返す(ステップ407)。処理結果409には、成功または失敗を示す識別情報をセットする。
【0028】図5は、データベース更新モジュール204の処理内容を示すフローチャートである。アプリケーション201から起動されたデータベース更新モジュール204は、アプリケーション201から引数としてアクセス情報514を取得する(ステップ501)。アクセス情報514には、対象のテーブルID、対象データのアクセスキー、アクセス方法、追加/更新データの格納場所を示すポインタをセットする。アクセス方法には、追加、更新、及び削除等の情報が設定される。次に、アクセス方法の判定結果で処理が分岐する(ステップ502)。アクセス方法が追加の場合はステップ503へ、更新の場合はステップ507へ、削除の場合はステップ511へ分岐する。
【0029】まず、アクセス方法が追加の場合の処理内容を説明する。最初に、データベース107に対象データが存在するか判定する(ステップ503)。対象データが存在した場合、キーが重複するため処理が失敗したと判断し、ステップ513へジャンプする。対象データが存在しなかった場合は、ポインタで指定されたデータ領域202から、論理構造206の追加データを取得する(ステップ504)。更に、取得した追加データを論理構造206から物理構造205へ変換する(ステップ505)。そして、テーブルID及びアクセスキーを使用したSQLを発行して、物理構造205へ変換した追加データをデータベース107へ追加する(ステップ506)。
【0030】次に、アクセス方法が更新の場合の処理内容を説明する。最初に、データベース107に対象データが存在するか判定する(ステップ507)。対象データが存在しなかった場合、処理が失敗したと判断し、ステップ513へジャンプする。対象データが存在した場合は、ポインタで指定されたデータ領域202から、論理構造206の更新データを取得する(ステップ508)。更に、取得した更新データを論理構造206から物理構造205へ変換する(ステップ509)。そして、テーブルID及びアクセスキーを使用したSQLを発行して、物理構造205へ変換した更新データでデータベース107へ更新する(ステップ510)。
【0031】更に、アクセス方法が削除の場合の処理内容を説明する。最初に、データベース107に対象データが存在するか判定する(ステップ511)。対象データが存在しなかった場合、処理が失敗したと判断し、ステップ513へジャンプする。対象データが存在した場合はテーブルID及びアクセスキーを使用したSQLを発行して、データベース107から対象データを削除する(ステップ512)。
【0032】最後に、追加、更新、及び削除処理における処理結果515を戻り値としてアプリケーション201へ返す(ステップ513)。処理結果515には、成功または失敗を示す識別情報をセットする。
【0033】次に、図4のステップ405、図5のステップ505及びステップ509におけるデータ構造の変換処理の詳細を、図6の説明図を使用して説明する。
【0034】図6は、物理定義、及び論理定義の概要構成を説明するための説明図である。データベース参照モジュール203とデータベース更新モジュール204には、データベース107に定義されているテーブル群の構造体が、物理定義603及び論理定義601として定義してある。それぞれの構造の定義例は、ソースコード602及びソースコード604に示す。データ構造を変換する場合、ソースコード602及びソースコード604を使用して変換処理を行う。
【0035】次に、テーブル構造の見直しが発生した場合の改修手順を、図7のフローチャートと図8の説明図を使用して説明する。
【0036】図7は、テーブル構造の見直しが発生した場合の改修手順を示すフローチャートである。テーブル構造の見直しは、性能向上等の対策として発生すると考えられる(ステップ701)。まず、テーブル構造の見直し結果を、データベース107のテーブル定義へ反映させる(ステップ702)。次に、データベース参照モジュール203とデータベース更新モジュール204の物理定義603を修正する(ステップ703、ステップ704)。以上の手順で、改修作業は完了する。物理構造205を使用している部分のみが修正の対象となるため、アプリケーション201に対する修正作業は発生しない。
【0037】図8は、物理定義の変更例を説明するための説明図である。例えば、見直し前の項目X801と項目Y802を、見直し後の項目Z804に統合するとする。データベース参照モジュール203とデータベース更新モジュール204では、見直し前のソースコード803及び見直し後のソースコード804に示すように、構造体に定義している項目名及び桁数をそれぞれ修正する。以上が、データベース参照モジュール203とデータベース更新モジュール204に対する修正内容である。この物理定義の変更に伴って、アプリケーション201に対する修正作業は発生しない。
【0038】
【発明の効果】以上説明したように、本発明によれば、アプリケーションからデータベースを参照または更新するとき、データベースに定義された物理的な構造をアプリケーションが使用する論理的な構造へ変換し、またはアプリケーションが使用する論理的な構造をデータベースに定義された物理的な構造へ変換するようにしているので、データベースの再設計が随時発生することによりテーブル構造の見直しが発生した場合、アプリケーションから独立したデータベース参照モジュールの物理定義及びデータベース更新モジュールの物理定義に対する改修に絞ることで、データベースの変更に対する極めて柔軟な対応を可能としている。また、アプリケーションはデータベースに定義している物理的なデータ構造を意識する必要がなく、アプリケーションが使用するのに適したデータ構造のみを意識すればよいことになり、データベースの物理的な構造を隠すことが可能であるという、リレーショナルデータベースの長所を活用することを可能としている。
【出願人】 【識別番号】000233055
【氏名又は名称】日立ソフトウエアエンジニアリング株式会社
【出願日】 平成12年9月29日(2000.9.29)
【代理人】 【識別番号】100096954
【弁理士】
【氏名又は名称】矢島 保夫
【公開番号】 特開2002−108669(P2002−108669A)
【公開日】 平成14年4月12日(2002.4.12)
【出願番号】 特願2000−297919(P2000−297919)