(57)【要約】【課題】  企業の業務処理で発生するデータを電子データとしてリレーショナルデータベースに格納／加工する際のデータのローディング・加工（抽出、サマリー、更新）・ファイル出力をリレーショナルデータベース上で従来より非常に高速に処理するためのロジックを自動生成する。【解決手段】  データのローディング、加工、ファイル出力を行うためのプログラムを部品化しそれらを組み合わせて目的とするデータ処理を行うロジックの生成を行うことによりロジックの自動生成を実現し、高速化を図るためにはデータの加工に従来のリレーショナルデータベースのデータ操作言語ではなくデータ定義文を利用して目的のデータ処理を行う。【選択図】  図１
2005216271.tif 000002
【特許請求の範囲】
【請求項１】
リレーショナルデータベースに格納するデータの加工において処理パターン毎にコンポーネントがあってコンポーネントはデータ定義文を利用してデータを生成し、生成されたデータを入力データとしてさらにデータ定義文でデータを生成することを繰り返し、最終的に目的とするデータを生成するプログラムを生成するコンピュータソフトウェア。
【請求項２】
前記コンポーネントの組み合わせを専用のユーティリティ上で選択的に定義し処理全体を作成することができるコンピュータソフトウェア。
【請求項３】
前記コンポーネントが実行するデータ定義文に処理仕様のカスタマイズ条件を付加することを専用のユーティリティ上で定義することができるコンピュータソフトウェア。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、リレーショナルデータベースを利用したシステムにおいてデータの作成、更新などデータ加工を非常に高速に処理するための方式とその方式によるプログラムを自動生成できるようにしたものである。
【技術背景】
【０００２】  従来は、リレーショナルデータベースを利用したシステムにおいてデータの作成、更新などデータ加工を行う場合、プログラミング言語によりデータを操作することで目的とするデータを生成してきた。プログラミング言語とはＣＯＢＯＬ、Ｃ、ＪＡＶＡやリレーショナルデータベースのデータ操作言語（ＳＱＬのＩＮＳＥＲＴ，ＤＥＬＥＴＥ，ＵＰＤＡＴＥ）でありこれらの言語を使用したプログラムによりデータの生成を行っていた。
【発明の開示】
【発明が解決しようとする課題】
【０００３】  リレーショナルデータベースを利用したシステムにおいて従来の方式でデータ加工を行った場合、リレーショナルデータベースとユーザが作成したプログラム間でのデータの受け渡しが多く発生してコンピュータのハードウェア（メモリやディスク）性能を十分に引き出したシステム構築を行うことができないため処理性能をなかなか引き出すことができなかった。
【課題を解決するための手段】
【０００４】  本発明は、リレーショナルデータベースを利用したシステムのデータ作成、更新などデータ加工をする処理においては従来のプログラミング言語やリレーショナルデータベースのデータ操作言語を極力使用せずに、リレーショナルデータベースのデータ定義文（ＳＱＬのＣＲＥＡＴＥ）を利用して処理することで非常に高速なデータ加工が行えることを考案したことである。「データの抽出」「データ構造の変更」「データの結合」などデータ加工のタイプに応じてリレーショナルデータベースのデータ定義文（ＳＱＬのＣＲＥＡＴＥ）を利用してデータ加工を行うための処理コンポーネントを作成し、それらのコンポーネントを組み合わせることでしかシステムを構築できないような専用のユーティリティを利用することで容易に課題を解決できる。
【発明の効果】
【０００５】  リレーショナルデータベースを利用したシステムを構築する際に本発明によるデータ加工を行うことで従来のデータ操作言語を主体としたプログラミングによるプログラムと比較して非常に高速に処理されるプログラムを生成することが可能になる。また本発明により作成されたコンピュータソフトウェアを利用することでほとんどプログラミングすることなく高品質でかつメンテナンス性に優れたコンピュータシステムも構築することが可能になる。
【発明を実施するための最良の形態】
【０００６】  本発明の実施の形態を基本的な構成として図を用いて詳細に説明する。図１はリレーショナルデータベースを利用したシステムでデータ加工処理するプログラムを自動生成するまでの流れを示した図である。図１の１は利用するリレーショナルデータベースの情報、データ加工を行うデータの構造及びデータ加工の処理詳細など各種定義を行うための処理定義ユーティリティである。
図１の１では各種定義内容を物理的なファイルに格納している。図１の２において図１の１で作成されたファイルから各種定義情報に基づいてリレーショナルデータベースを利用したシステムでデータ加工処理するためのプログラムを自動生成する。処理定義ユーティリティにはデータを加工するための処理コンポーネントがありこれらのコンポーネントを組み合わせることで自動生成させるプログラムの定義を行う。自動生成されたプログラムについて図２のような処理を例に説明する。図２の処理はリレーショナルデータベース内に格納されている永続的なデータから条件を指定して条件に該当するデータを取り出して加工したい構造に変更してデータベースを更新する処理である。本発明はこの自動生成されるプログラムの構造にありその構造について図３で説明する。従来のプログラムでは、図２に示すようなデータの加工処理を行う場合、図２の点線で囲った部分をプログラム内部で処理していたが、本発明によれば図３で示すように処理特性によって処理を細分化し細分化された処理ごとにリレーショナルデータベースに一時表を作成するという構造にする。この際に一時表の作成はリレーショナルデータベースの標準言語であるＳＱＬのデータ操作言語（ＩＮＳＥＲＴ、ＵＰＤＡＴＥ、ＳＥＬＥＣＴ）を利用するのではなくデータ定義文（ＣＲＥＡＴＥ）を利用して一時表のデータを作成する。細分化された処理毎にリレーショナルデータベース内に一時表が作成され最終的な目的であるデータ加工を行う。
【実施例】
【０００７】  図４は本発明による処理定義ユーティリティを使用して自動生成したデータ加工処理を行うプログラムの実行環境イメージである。図４ではリレーショナルデータベースのある表から条件に従ってデータを取り出しデータの構造を変更して別の表を更新するという処理を示している。図４の１は本発明による処理定義ユーティリティで自動生成されたプログラムであり、プログラムは定義された処理コンポーネントの順に従い図４の３のリレーショナルデータベースの実行エンジンにリクエストを送信しその処理結果をリレーショナルデータベース内に一時表として作成する。次に実行される処理コンポーネントは前に作成された一時表を入力データとしてデータ加工処理を行う。このようにデータを加工する処理はすべてリレーショナルデータベースエンジンの内部で実行されることになり自動生成されたプログラム内部にリレーショナルデータベースからデータを取り込むことがないためデータ加工処理が非常に高速に処理されることになる。
【産業上の利用可能性】
【０００８】  いままで汎用コンピュータで行われていたバッチ処理システムを、Ｗｉｎｄｏｗｓ、Ｌｉｎｕｘ、ＵＮＩＸなどのプラットフォーム再構成する場合でもほぼプログラミングをすることなく再構成することが実現可能になる。企業内の様々な業務プロセスデータのローディング・加工（抽出、サマリー、更新）・ファイル出力をリレーショナルデータベース上で非常に高速に処理するためのプログラムロジックを自動生成するため専門の知識を必要とせず柔軟で高品質のシステム構築が短期開発で実現可能になる。従来型のバッチ処理システム開発はシステム開発をＳＥやプログラマーなど専門家集団が行っている。ここでの問題点はＳＥやプログラマーを自社では抱えにくいためシステム開発維持がどうしても高コスト構造になってしまう。本発明により作成されるコンピュータソフトウェアを利用してシステム開発を行った場合はシステム開発における高度な技術をほぼ必要としないため業務を熟知した人が処理を定義できる。このため高品質のシステム構築を実現しつつ自然とシステム開発維持コストを下げることが可能になる。
【図面の簡単な説明】
【０００９】
【図１】      本発明により作成されたコンピュータソフトウェアを利用してソースコードを生成する例の概要図
【図２】      リレーショナルデータベースからデータを取り出して加工する一例図
【図３】      本発明が考案するプログラム構造の一例図
【図４】      処理定義ユーティリティを使用して自動生成したプログラムの実行環境イメージ図
【符号の説明】
１  処理定義ユーティリティ
２  ソースコード生成エンジン
３  リレーショナルデータベースエンジン
４  自動生成されたプログラム
【図１】
2005216271.tif 000003
【図２】
2005216271.tif 000004
【図３】
2005216271.tif 000005
【図４】
2005216271.tif 000006