(57)【要約】【課題】  分散化されたデータベースに対して、データ利用者が所望のデータを自由に取得できるとともに、データ利用者に高度なデータ処理スキルがなくても、データ利用者が取得データに所望の加工処理を行い、データ利用者が所望のデータを自在に利用することができる。【解決手段】  データ項目に対応付けされたデータが夫々格納された複数のデータベースと、データの入出力手段で入力された複数のデータ項目に対応するデータが格納されたデータベースに対して、接続可能な複数の接続用モジュールを生成し、生成された各接続用モジュールを用いてデータベースに接続し、各接続用モジュールによって取得された情報から所望の情報を取得するデータ取得用プログラムを生成して、生成プログラムを出力手段に出力するプログラム生成手段とを備えた。【選択図】      図４
2005275913.tif 000002
【特許請求の範囲】
【請求項１】
異なるデータ項目に対応付けされたデータが夫々格納された複数のデータベースと、
データを入出力するための入出力手段と、
前記入出力手段で入力された１つもしくは複数のデータ項目に対応するデータが格納された夫々のデータベースに対して、夫々接続可能な１つもしくは複数の接続用モジュールを生成し、生成モジュールを前記入出力手段に出力する接続用モジュール生成手段と、
前記接続用モジュール生成手段で生成された各接続用モジュールを用いて前記データベースに接続し、当該各接続用モジュールによって取得された情報から、前記データ項目に対応した所望の情報を抽出する情報抽出処理機能を、コンピュータに与えるためのデータ取得用プログラムを生成して、生成プログラムを前記入出力手段に出力するプログラム生成手段と、
を備えた情報処理システム。
【請求項２】
前記入出力手段は、ネットワークを通じて外部コンピュータから特定のデータ項目が入力され、
接続用モジュール生成手段及び前記プログラム生成手段は、前記入力されたデータ項目に基づいて前記接続用モジュール及び前記データ取得用プログラムを生成し、
更に、前記入出力手段は、前記外部コンピュータに格納された汎用アプリケーションシステムを用いて、当該接続用モジュール及び前記データ取得用プログラムからデータ取得処理手段を生成した後、生成したデータ取得処理手段を用いて前記データベースに格納された情報を収集可能なように、前記接続用モジュール及び前記データ取得用プログラムを、ネットワークを通じて外部コンピュータにデータ伝送する、
ことを特徴とした請求項１記載の情報処理システム。
【請求項３】
異なるデータ項目の対応データが夫々格納された複数のデータベースに接続して、各データベースの格納情報を取得するためのコンピュータを、
データを入力するための入力手段と、
前記入力手段で入力された１つもしくは複数のデータ項目に対応するデータが格納されたデータベースに対して、夫々接続可能な１つもしくは複数の接続用モジュールを生成する接続用モジュール生成手段と、
前記接続用モジュール生成手段で生成された各接続用モジュールを用いて前記データベースに接続し、前記接続用モジュールによって取得された情報から、前記データ項目に対応した所望の情報を抽出する情報抽出処理機能を与えるためのデータ取得用プログラムを生成するプログラム生成手段、
として機能させるためのデータ取得用プログラム。
【請求項４】
異なるデータ項目に対応付けされたデータが夫々格納された複数のデータベースからデータ取得するための、プログラムを生成するプログラム生成方法であって、
入出力手段から入力されたデータ項目に対応するデータが格納された、夫々のデータベースに対して、夫々接続可能な複数の接続用モジュールを生成し、生成モジュールを当該入出力手段に出力する接続用モジュール生成処理と、
前記接続用モジュール生成手段で生成された各接続用モジュールを用いて前記データベースに接続し、当該各接続用モジュールによって取得された情報から、前記データ項目に対応した所望の情報を抽出する情報抽出処理機能を、コンピュータに与えるためのデータ取得用プログラムを生成して、生成プログラムを前記入出力手段に出力するプログラム生成処理と、
を備えたことを特徴とするプログラム生成方法。
【請求項５】
異なるデータ項目に対応付けされたデータが夫々格納された複数のデータベースから、データ取得要求のあったデータを提供する方法であって、
所望のデータ項目を設定するための入力処理と、
前記入力処理後に、設定したデータ項目に対応する、前記各データベースに接続するための複数の接続用モジュールを取得する接続用モジュール取得処理と、
前記入力処理後に、設定したデータ項目に対応した前記接続用モジュールを用いて、前記データベースから当該データ項目に対応した所望の情報を取得するためのデータ取得用プログラムを取得するプログラム取得処理と、
前記取得された接続用モジュールを用いてデータ取得用プログラムを実行処理して得られたデータ取得モジュールからの、データ取得要求に対して、前記データベースからデータを提供するデータ提供処理と、
を備えたことを特徴とするデータ提供方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、データ利用者（以下、ユーザ）が複数のデータベースを利用して、データマイニングを行う際の、データ処理用プログラムの生成を支援する、情報処理システムに関する。
【背景技術】
【０００２】
近年、情報処理システムの発展に伴って、莫大な量のデータを蓄積、処理できるようになってきたのは周知のところである。
各種製造メーカでは、製品の設計から生産までの間に様々な生産データを生成し、生成データを生産の流れの各場面で利用している。また、各種データの処理／分析を行いながら、生産性の向上を図っている。例えば、沢山の生産データの山の中から、数理統計技術とＩＴ技術を利用して、有用な情報（宝物）を取り出している。
【０００３】
このような行為は、データマイニング（Knowledge Discovery in Database とも言う）と呼ばれ、データマイニングによって製品の生産のみならず、企業経営全体においても、科学的データ解析に基づいた意思決定を行うことができる。
【０００４】
従来、データマイングを行うためのデータベースの利用システムとして、会計、販売、購買、生産、人事などの基幹系システムを全て網羅し、その各サブシステムを有機的に結合して、全資源を有効活用するデータベースの連携装置が知られている（例えば、特許文献１参照）。この装置では、データベースからデータを引き出すアプリケーションシステムと、データベース内のデータの意味・所在・関係を投影、管理しているリポジトリとを備えている。
【０００５】
【特許文献１】特開平１１−２８２７９１号公報（第１頁−第３頁、及び第１図参照）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来のシステムでは、分散化された複数のデータベースに格納された生産データを、適材適所に有効利用できるかというと、必ずしもそうではない。
生産データを格納する各種データベースは、体系の異なる複数の処理システムで構築されており、生産データは体系的に整理されて格納されたものではない。
また、ユーザは、異なるデータベースから取り出したデータを用いてデータマイニングを行うスキルが不足しているという問題もある。
【０００７】
特に、ユーザは、実際のデータ処理作業を行う前に、各種データベースのデータ格納形式やデータ格納場所等のデータの性質や、データ同士の依存関係を事前に習得して、データ処理のスキル不足を解消しておく必要がある。
また、データの性質や関連性は、それぞれの会社やシステムにより異なる形態をとっているため、データ利用者がそれら全てを理解することは容易なことではない。
したがって、分散化されたデータベースから必要なデータのみを取り出すのに時間を要したり、必要なデータを取り出した後も、取り出したデータを効率的に利用することができなかった。
【０００８】
この発明は、分散化された複数のデータベースに対するアクセス方法を標準化するとともに、データ利用者側に高度なデータ処理スキルがなくても、データ利用者が所望のデータを加工処理して、データ利用者が所望のデータを自在に利用することのできる情報処理システムを提案する。
【課題を解決するための手段】
【０００９】
この発明による情報処理システムは、異なるデータ項目の対応したデータが夫々格納された複数のデータベースと、データを入出力するための入出力手段と、前記入出力手段で入力された１つもしくは複数のデータ項目に対応するデータが格納された夫々のデータベースに対して、夫々接続可能な１つもしくは複数の接続用モジュールを生成し、生成モジュールを前記入出力手段に出力する接続用モジュール生成手段と、前記接続用モジュール生成手段で生成された各接続用モジュールを用いて前記データベースに接続し、当該各接続用モジュールによって取得された情報から、前記データ項目に対応した所望の情報を抽出する情報抽出処理機能を、コンピュータに与えるためのデータ取得用プログラムを生成して、生成プログラムを前記入出力手段に出力するプログラム生成手段と、を備えたものである。
【発明の効果】
【００１０】
この発明によれば、分散化されたデータベースに対して、データ利用者が所望のデータを自由に取得できるとともに、データ利用者に高度なデータ処理スキルがなくても、データ利用者が取得データに所望の加工処理を行い、データ利用者が所望のデータを自在に利用することができる。
【発明を実施するための最良の形態】
【００１１】
この発明は、分散化された複数のデータベースに格納されたデータを体系的に整理してデータマイングを行う場合に、データの取得者がデータ取得用のサンプルプログラムに基づいてデータマイニング用プログラムを生成することによって、データマイニングを効率的に実現するためのものである。
【００１２】
データベースには、例えば受注、設計、手配、納期、進捗、工数、品質、検査、試験、及び発送など、メーカとして生産に必要な各種情報が含まれている。また、それぞれのデータベース毎に、格納されたデータ群を利用するためのツール群が用意されている。
しかし、生産に関わる全てのデータの管理を、それぞれの会社の都合に合わせて実施できる汎用的なシステムは存在していない。このため、一部に汎用のツールを利用し、その他の部分では自社開発のツールを利用することによって、各データベースに格納されたデータの利用を図っている。各データベース間の対応付けが成されるように、データの格納形式については関連付けが成されている。しかし、この関連付けの規約を全て理解できるのは、各会社に配置された情報システム部門や、情報処理サービス会社に携わる担当者のみである。
【００１３】
情報システム部門では、予めデータの有効活用を目的として、各種データを特定のカテゴリーで集計し、公開することがある。しかし、実状としてはデータの利用者（ユーザ）側から提示する要求はその時点で変化するものであって、必ずしも要求通りのデータ提供が成されてはいない。
【００１４】
この課題を解決するためには、データ利用者側の方で所望のデータのみを取得する仕組みを構築する必要がある。
例えば、製造メーカーの生産の流れの中で、工程や手配情報を利用して業務をデータにより管理し、現場の問題点を洗い出したり、分析改善することは生産ラインの管理者であれば誰でも思い付くことである。しかしながら、実際にデータを取得して、取得したデータの処理を行おうとした場合、次の第１から第３の問題点に直面する。
【００１５】
第１の問題点は、設計業務や手配業務、または工程管理や工数管理を行っている部門やシステムが異なるため、どこにどのようなデータが、どのような形式で格納されているのかが分からない。
【００１６】
第２の問題点は、それぞれのデータ同士にどのような依存関係があるのかが分からない。
【００１７】
第３の問題点は、利用者側に、データを処理して所望のデータを出力するための情報処理スキルがなく、出力したデータを、必要な情報にまでブレークダウンすることができない。
【００１８】
この発明の実施の形態に係る情報処理システムでは、このような問題を解消するために、異なる会社、または異なるシステム毎に分散化された複数のデータベースにアクセスする際に、データ取得のための接続モジュールを提供してデータ取得のための処理方法を標準化する。
また、データ利用者（ユーザ）側にデータ処理のための高度なスキルがなくても、夫々のデータ体系に応じたデータ処理を実現できるように、データ取得用のサンプルプログラムを提供する。
更に、ユーザが、データ処理用のサンプルプログラムに対して、適当な処理事例毎にデータ処理加工を行うための基本ツールを組合わせて、利用要求に適合したデータマインニング用プログラムを生成するための環境を提供する。
これによって、データマイングのためのエンドユーザコンピューティングの利用推進を図るものである。
【００１９】
実施の形態１．
以下、図を用いてこの発明に係る実施の形態１について説明する。
図１は、実施の形態１によるデータベース利用システムの全体構成を示す図である。
管理サーバ１は、インターネット通信網や公衆回線などの通信ネットワーク２を介在させて、ユーザ４の利用するユーザ端末３に接続されている。ユーザ端末３は、パーソナルコンピュータや、ユーザ４の管理するサーバ等で構成される。ユーザ４は、ユーザ端末を用いて管理サーバ１に接続されて、管理サーバ中のデータベースに格納されたデータを取得する。
管理サーバ１には、この実施の形態１による情報処理システム５が組み込まれている。
【００２０】
図２は、管理サーバ１に設置された情報処理システム５と、ユーザ端末３に格納されたアプリケーションシステム２０、及び汎用アプリケーションシステム２１との接続関係を示すものである。
管理サーバ１の通信部（図示せず）は、通信ネットワーク２にＩＰ(Internet Protocol)接続される。
【００２１】
情報処理システム５は、管理サーバ１のＣＰＵ（図示せず）に動作命令を与えるアプリケーションシステム１０と、データベース１１、１２、１３、１４とで構成される。アプリケーションシステム１０は、データベース１１、１２、１３、１４に接続されて、各種情報が授受される。
データベース１１、１２、１３は、ユーザ４がデータ取得のために利用する複数のデータベースである。
また、データベース１４は、ユーザ４が取得データに基づいてデータマイニングを行うデータマイニング用ツール（後述する）が格納されたデータベースである。データベース１４は、データベース１１、１２、１３に格納された各種データのデータ項目を格納していても良い。
【００２２】
アプリケーションシステム２０は、主にインターネットブラウザ２０１で構成されて、ユーザ端末３のＣＰＵ（図示せず）に動作命令を与える。プラグインモジュール２０２は、インターネットブラウザ２０１に組み込まれて動作し、インターネットブラウザ２０１と連携してアプリケーションシステム２０を構成する。
インターネットブラウザ２０１は、通信ネットワーク２にＩＰ接続されて、管理サーバ１の通信部を経由し、アプリケーションシステム１０との間でデータ通信（データ伝送）を行う。
プラグインモジュール２０２は、インターネットブラウザ２０１の提供するＡＰＩを利用して作成された拡張モジュールであり、インターネットブラウザ２０１がプラグインモジュール２０２にデータを渡し、プラグインモジュール２０２の処理結果がインターネットブラウザにフィードバックされて、連携処理が行われる。
【００２３】
入力部２２は、ユーザ端末３に接続されたキーボードやマウスなどのマンマシンインタフェースを用いて、アプリケーションシステム２０に対してユーザ４の指定情報を入力する。入力部２２は入力手段として機能する。
表示部２３は、ユーザ端末３に接続された画面表示ディスプレイを通じて、画面表示を行う。表示部２３は、インターネットブラウザ２０１がＨＴＭＬ文書命令またはプラグインモジュールの表示命令に基づいて生成した表示処理手順に従って表示処理を行い、表示処理内容を画面表示ディスプレイに画面表示する。
また、入力部２２は、表示部２３に表示される入力ウィンドウを通じて、インターネットブラウザ２０１に入力情報を与えることができる。インターネットブラウザ２０１は、通信ネットワーク２を通じて、管理サーバ１の通信部経由で入力情報をアプリケーションシステム１０に送信する。
データ出力部２４は、ユーザ端末３に接続された外部記憶装置や、記録媒体書込装置、或いはプリンター等に対して、データ出力を行う。
【００２４】
汎用アプリケーションシステム２１は、ユーザ端末３のＣＰＵ（図示せず）に動作命令を与える。
汎用アプリケーションシステム２１としては、簡単な統計解析を行うための表計算ソフトExcel （Microsoft 社商品名）を用いるのが好ましい。複雑なデータベース処理や高度な統計計算などで大量のデータ処理を行う場合には、汎用アプリケーションシステム２１として、Access（Microsoft 社商品名）、Oracle（オラクル社商品名）などの汎用データベースソフトや、汎用的な統計解析ソフトを用いると良い。
【００２５】
データ出力部２４は、汎用アプリケーションシステム２１によって生成されたデータの出力を行う。また、表示部２３は、汎用アプリケーションシステム２１によって生成されたデータを画面表示する。
【００２６】
接続用モジュール２５は、アプリケーションシステム１０の実行処理によりデータベース１４の格納データに基づいて生成され、生成データは管理サーバ１の通信部から送信される。送信された接続用モジュール２５は、通信ネットワーク２を介してインターネットブラウザ２０１で受信されて、ユーザ端末３の内部記憶装置（ハードディスクやＤＲＡＭ等）にダウンロードされる。
【００２７】
データ取得用サンプルプログラム２６は、アプリケーションシステム１０の実行処理によりデータベース１４の格納データに基づいて生成され、生成データは管理サーバ１の通信部から送信される。送信された接続用モジュール２５は、通信ネットワーク２を介してインターネットブラウザ２０１で受信されて、ユーザ端末３の内部記憶装置（ハードディスクやＤＲＡＭ等）にダウンロードされる。
【００２８】
この際、アプリケーションシステム１０の実行処理は、ユーザ４が入力部２２を通じてインターネットブラウザ２０１に起動指示情報を入力することによって起動される。
インターネットブラウザ２０１は入力された起動指示情報を、アプリケーションシステム１０に送信する。
アプリケーションシステム１０は起動指示情報を受けると、インターネットブラウザ２０１に対してデータ入力用の選択リスト（一覧表）を送信し、表示部２３に選択リストを表示させる。
選択リストとしては、データベース１１、１２、１３に夫々格納された、各種データのデータ項目列が表示される。
ユーザ４は、表示されたデータ入力用の選択リストから、所望のデータ項目を１つもしくは複数選択することによって、取り出したいデータのデータ項目を選択する。選択されたデータ項目が、インターネットブラウザ２０１からアプリケーションシステム１０に生成指示情報として送信されると、アプリケーションシステム１０は実行処理を開始して、選択されたデータ項目に夫々対応した、接続用モジュール２５とデータ取得用サンプルプログラム２６を生成する。
【００２９】
図３は、アプリケーションシステム１０の実行処理によって、サーバ１のデータベース１１、１２、１３から、接続用モジュール２５とデータ取得用サンプルプログラム２６が生成されることを説明するためのデータ入出力図である。
【００３０】
図において、アプリケーションシステム１０は、接続用モジュール生成部１１１とサンプルプログラム生成部１１２とルーチンプログラム生成部１１３を備えている。
ユーザ端末１の入力部２２から入力項目４０が入力されると、アプリケーションシステム１０は、データベース１１、１２、１３、１４を参照して、ユーザ端末１に接続用モジュール２５とデータ取得用サンプルプログラム２６を出力する。
図中に示すデータベース１１、１２、１３は、例えば製造メーカにおいて通常利用されるデータベースの一例を示す。
【００３１】
データベース１１は、受注情報に係わるデータテーブル１−１、１−２を備えた受注情報データベースである。データテーブル１−１には、製品受注日、受注先、発注日、納期、注文番号、見積り金額、営業担当者等のデータ項目が格納される。データテーブル１−２には、受注先、所在地、連絡先、支払契約者、受注先営業担当者等のデータ項目が格納される。データベース１１には、データテーブル１−１、１−２の各データ項目毎に、対応するデータが格納されている。
データベース１２は、設計情報に係わるデータテーブル２−１、２−２を備えた設計情報データベースである。データテーブル２−１には、注文番号、設計開始日、設計完了日、図面番号等のデータ項目が格納される。データテーブル２−２には、図面番号、主津図日、設計担当、使用部品番号等のデータ項目が格納される。データベース１２には、データテーブル２−１、２−２の各データ項目毎に、対応するデータが格納されている。
データベース１３は、進捗管理情報に係わるデータテーブル３−１、３−２を備えた進捗管理情報データベースである。データテーブル３−１には、図面番号、加工開始日、加工完了日、引継ぎ先等のデータ項目が格納される。データテーブル３−２には、図面番号、手順コード、作業担当課、作業開始日、作業完了日、作業担当者等のデータ項目が格納される。データベース１３には、データテーブル３−１、３−２の各データ項目毎に、対応するデータが格納されている。
【００３２】
データベース１４は、データマイニング用ツールに係わるデータテーブル４−１、４−２、４−３を備えたデータベースである。
データテーブル４−１には、各データベース中の各データテーブルにそれぞれ対応した複数の接続用モジュールが事前に格納されている。接続用モジュールは機械コードのデータ形式を有している（データテーブル対応型モジュール）。
或いは、各データベース中の各データテーブルのデータ項目を全て含む１つの接続用モジュールを有していても良い（一括型モジュール）。
【００３３】
データテーブル４−２には、データ取得用サンプルプログラム用のデータが格納されている。
データ取得用サンプルプログラム用のデータには、各データテーブルに対応した接続用モジュールを導入するための宣言文や、接続用モジュールを利用して各データテーブルに接続するための接続用関数や変数が、夫々準備されている。データ取得用サンプルプログラム２６は、接続用モジュールの宣言文、変数宣言文、変数初期設定処理、データ取得処理、データ検索処理、エラー判定処理、データ表示処理、データ出力処理などのデータ取得と、取得データの出力に係わる基本的なプログラムが記述される。従って、データ取得用サンプルプログラム用のデータには、こららのプログラム記述のための定義文がテキストデータ形式で準備されている。
【００３４】
データテーブル４−３には、データ取得用サンプルプログラムで呼び出して利用するためのルーチンプログラムが格納されている。
ルーチンプログラムとしては、データ加工処理用の各種関数や、データの取得範囲の設定処理関数や、ＧＵＩ（Graphical User Interface）等が準備されている。
例えば、データ加工処理用関数は、取得データの平均値や、標準偏差や、仮説検定等を行うための各種関数が準備されている。こられ各種統計関数については、通常の表計算ソフトウェアで標準関数として与えられているものであるので、ここでは特に関数の詳細構成については説明しない。これら関数が汎用アプリケーションシステムでサポートされている場合は、データ取得用サンプルプログラムを再編集する際に、汎用アプリケーションシステムにサポートされた各種関数を利用することによって、プログラム文中に容易にデータ加工処理用関数を設定することができる。
【００３５】
データの取得範囲の設定処理関数は、特定の加工開始日と加工終了日の間のデータを集積したり、特定の機種番号のデータを集積する等のデータの取得範囲を設定する。
ＧＵＩは、表の枠線や、図柄の表示や、出力ウィンドウの色や模様の指定などを行う。ＧＵＩはテキストデータとイメージデータとから成り、例えばＨＴＭＬ形式の記述やＪＰＥＧ形式のイメージデータとから成る。
【００３６】
これらのルーチンプログラムは、ユーザ４が利用しやすいように、予め設定されたルーチンプログラムを、ユーザ４が自由に選択できるようになっている。アプリケーションシステム１０は、図２で説明したインターネットブラウザ２０１に対して、各種ルーチンプログラム用の選択リストを含むデータをアップロードして、表示部２３に当該選択リストを表示する。
表示される選択リストとして、各種ルーチンプログラムの項目列が表示される。ユーザ４は、表示された選択リストから、所望のルーチンプログラムを１つもしくは複数選択することによって、利用したいルーチンプログラムを選択する。
例えば、特定機種Ｂの加工時間の標準偏差を求めたいときには、選択リストの中でデータ加工処理用関数のリストから標準偏差を指定し、データの取得範囲のリストから、機種番号の頭文字が英字のＢで始まる機種を指定すれば良い。また、ＧＵＩのリストで表の枠線として青色を指定するなどの処理を行う。指定された情報は、インターネットブラウザ２０１からアプリケーションシステム１０にアップロードされる。アプリケーションシステム１０は、指定された情報に対応するデータをデータベース１４から取り出し、取り出したデータをインターネットブラウザ２０１に伝送する。
なお、上記データテーブル４−１、４−２、４−３の他、データベース１４は、データベース１１、１２、１３に格納された全てのデータ項目を格納する、データテーブルを備えていても良い。
【００３７】
次に、図３を用いてアプリケーションシステム１０の入出力処理動作を説明する。
本システムの前提条件としては、個々のツール群が作成するデータ仕様は整備されていて、アプリケーションシステム１０内部にデータ項目情報として保持されているものとする。
【００３８】
ユーザ端末１のインターネットブラウザ２０１を通じて、所在サーバ１のアプリケーションシステム１０のファイル名を示すＵＲＬ（Uniform Resource Locator）が指定されると、ユーザ端末１のインターネットブラウザ２０１はアプリケーションシステム１０から、起動指示の有無を問い合わせるための表示画面をダウンロードする。
ユーザ１は表示画面に従って、入力部２２からアプリケーションシステム１０の起動を指示する起動指示情報を入力する（例えば、“起動ＯＮ”のボタン図形上でマウスをクリックする）。この起動指示情報の入力に応じて、ユーザ端末１のインターネットブラウザ２０１を通じて、データ入力用の選択リストが表示される。
この際、アプリケーションシステム１０は各データベースに順次接続して各データベースを参照することにより、各データベース中のデータテーブルに含まれるデータ項目を全て抽出し、抽出したデータ項目を選択リストとして表示しても良い。また、データベース１４に全てのデータ項目を格納している場合は、アプリケーションシステム１０がデータベース１４を参照して全てのデータ項目を取り出して、選択リストに表示しても良い。
【００３９】
ユーザ４は、入力部２２への入力によって選択リストの中から所望のデータ項目を指定する。指定されたデータ項目（入力項目４０）は、インターネットブラウザ２０１から通信ネットワーク２を経由して、アプリケーションシステム１０に送信され入力される。例えば、入力項目４０として、受注先、図面番号、加工開始日、加工終了日を設定する。アプリケーションシステム１０は、入力項目４０の入力に応じて、各データベース１１、１２、１３への接続を開始する。
【００４０】
アプリケーションシステム１０では、入力項目４０に基づいて、データベース１１、１２、１３を順次参照する。この際、入力項目４０中の各項目に対応したデータ項目を有するデータテーブルが検索されて、対応のデータテーブルが選択される。
図示の例では、データ項目“受注先”は、データベース１１のテーブル１−１に格納されているので、テーブル１−１を選択する。
データ項目“図面番号”はデータベース１２のテーブル２−１と、データベース１３のテーブル３−１に格納されているので、テーブル２−１とテーブル３−１を選択する。
データ項目“加工開始日”、“加工終了日”はデータベース１３のテーブル３−１、３−２に夫々に格納されているので、テーブル３−１とテーブル３−２を選択する。
これによって、対応するデータテーブルとして、１−１、２−１、３−１、３−２が選択される。
【００４１】
アプリケーションシステム１０の接続用モジュール生成部１１１は、選択されたデータテーブルに夫々対応して、データベース１４のデータテーブル４−１を参照することによって接続用モジュール２５を出力する。
図示の例では、データテーブル１−１、２−１、３−１、３−２に夫々対応する、接続用モジュール２５を生成する。
【００４２】
また、アプリケーションシステム１０のサンプルプログラム生成部１１２は、各接続用モジュール２５を夫々結合して、所望のデータ項目のデータ取得を行うためのデータ取得用サンプルプログラム２６を出力する。
【００４３】
また、ルーチンプログラム生成部１１３は、ルーチンプログラム選択リストからのユーザ４の選択情報に応じて、データ加工処理用の各種関数や、データの取得範囲の設定処理関数や、ＧＵＩなどのルーチンプログラムデータを生成する。ユーザ４は、インターネットブラウザ２０１を通じて、ルーチンプログラム選択リストの中から所望のルーチンプログラムを選択することによって、アプリケーションシステム１０は選択したルーチンプログラムデータをインターネットブラウザ２０１に送信する。
【００４４】
アプリケーションシステム１０は、対象となる全てのデータベースのテーブル情報と、データ項目の関連性、正規化情報、データ属性情報（これをデータ項目情報と呼ぶ）を、バックデータとして持つ。これらバックデータを元に、データ利用者側が入力してきた入力項目４０を解析して、接続用モジュール２５を生成する。
同時に、同一テーブルにあって同一の項目情報を持つ項目に関しては、外部パラメータとしての入力を受付けるように生成されるので、接続用モジュール２５自体が汎用性をもつものとなる。
また、アプリケーションシステム１０の中では、入力項目４０を元にして、データ処理用のデータ取得用サンプルプログラム２６も同時に生成する。
【００４５】
また、入力項目４０で指定されたデータ項目が複数のデータベースのテーブルに対応している場合には、アプリケーションシステム１０中のデータ項目情報を元にして、システム側への負荷を増大しない程度の数に分割して、接続用モジュール２５を生成する。接続用モジュールのモジュール数は、入力項目４０で指定されたデータ項目に対応して、各データベースのデータテーブル数に合わせても良い。或いは、同一のデータテーブルを更に分割して各データセグメントに対応したモジュール数を与えても良い。
【００４６】
データテーブル４−１にデータテーブル対応型モジュールが格納されている場合は、各データテーブルに対応する接続用モジュールを、データベース１４から引用してくることによってモジュールを生成する。
動作時のメモリ容量を減らしたい場合は、引用してきたモジュール中の不要な（使用しない）データ項目に対応した接続処理用の機械コード部分を削除して、必要な（使用する）データ項目に対応した接続処理用の機械コード部分のみを残せば良い。この場合は、元の機械コードデータとして、一定のデータセグメント間隔で各データ項目に対応した接続処理用の機械コードをシリアルに接続しておき、元の機械コードデータにおける不要な機械コード部分のセグメントを削除するとともに、この削除に応じて、削除しない機会コード部分のセグメントを繋いで、新たな機械コードデータを生成すれば良い。
また、データテーブル４−１に一括型モジュールが格納されている場合は、接続処理用の機械コードデータの中で、必要な（使用する）データ項目に対応した接続処理用の機械コード部分のみを分割して、データ項目数分の多数の接続用モジュールを生成すれば良い。いずれにしても、接続用モジュールの生成については各種方法があるので、ここではその詳細については割愛する。要するに、所望のデータ項目に対応したデータを、データベースから取得することのできる、所要数の接続用モジュールを得られれば良い。
【００４７】
データ取得用サンプルプログラム２６には、所望のデータ項目に対応したデータテーブルに対して、接続用モジュールを対応付けて、データテーブルから所望のデータを取得するための命令文が記述されている（図５の説明で後述する）。
データ取得用サンプルプログラム２６は、プルグラミングに関する多少の基本知識さえ有していれば、データ取得用サンプルプログラム２６の定義文を利用者側で自由に変更することによって、様々なデータ取得を可能としたデータマイニング用プログラムを得ることができる。例えば、マクロプログラミング言語ＶＢＡ(Visual Basic for Applications)をサポートしているExcelを用いることによって、ＶＢＡの基本的なプログラミング知識を持っているだけで、特別なデータベースの利用知識を知らずとも、データ取得用サンプルプログラム２６中の変数の数値範囲や、判断条件の閾値などを変更し、予め用意されたルーチンプログラム２７を追加するだけで、データベースからの取得データをある程度自在に分析、加工することができる。これによって、利用者側のスキル不足の問題を解消することができる。
なお、接続用モジュール２５を多数生成した場合には、データ取得用サンプルプログラム２６は、それぞれの接続用モジュール２５を結合するための結合用プログラムとしても機能する。
【００４８】
以上により、接続用モジュール２５とデータ取得用サンプルプログラム２６とをユーザ４に提供することによって、ユーザ側は比較的自由な形態でデータベースからのデータを取得することが可能となる。
【００４９】
次に、データマイニング用プログラムの生成手順について説明する。図４は、アプリケーションシステム１０が出力したデータ取得用サンプルプログラムから、データマイニング用プログラムを生成する処理手順を示す図である。
図の例では、工作機械の稼動状況をリアルタイムでモニタリングするデータマイニングツールを、ユーザ４が構築する場合のデータマイニング用プログラムの生成例を示している。
まず、ユーザ４は、ユーザ端末３のインターネットブラウザ２０１を通じて、稼動状況のモニタリングのために必要とするデータ項目の選定（入力項目の選定）を行う。この例では、加工プログラム番号、設備番号、アラームフラグ、加工開始日、加工終了日、図面番号、機種番号、部品番号を、入力項目４０として入力部２２へインプットする。
入力項目４０に対応した各データは、加工情報データベース（ＤＢ）５１と進捗管理データベース（ＤＢ）５２に分散して格納されている。ＤＢ５１のデータテーブル５−１には、加工プログラム番号、図面番号、部品番号のデータ項目に対応するデータが格納されている。ＤＢ５２のデータテーブル５−２には、加工プログラム番号、設備番号、アラームフラグ、加工開始日、加工終了日のデータ項目に対応するデータが格納されている。
【００５０】
ユーザ４がインターネットブラウザ２０１を通じて選定したデータ項目の入力を行うことにより、アプリケーションシステム１０は２つの接続用モジュール２５１、２５２と、データ取得用サンプルプログラム２６１を得る。接続用モジュール２５１はＤＢ５１のデータテーブル５−１に接続して指定先のデータを取得することができる。接続用モジュール２５２はＤＢ５２のデータテーブル５−２に接続して、指定先のデータを取得することができる。データ取得用サンプルプログラム２６１は、接続用モジュール２５１、２５２のデータ指定先を制御して、ＤＢ５１、ＤＢ５２から所望のデータを取得する。この例では、データ取得用サンプルプログラム２６１は、入力項目４０で選定された各データ項目に対応して、ＤＢ５１、ＤＢ５２のテーブル５−１、５−２からデータ項目に対応したデータを取得することができる。
【００５１】
ユーザ４は、汎用アプリケーションシステム２１のマクロ実行動作を起動して、データ取得用サンプルプログラム２６１をＣＰＵのメモリに読み込み、データ取得用サンプルプログラム２６１の処理手続を実行させる。この際、まずはデータ取得動作を確認するためのデータ取得を実施する。
ユーザ４は、取得されたデータ２４１が、稼動状況をモニタリングするのに十分なデータであることを確認した後、次に、データ取得用サンプルプログラム２６１に変更を加える。
【００５２】
例えば、データの取得範囲を指定して、特定の範囲のデータ取得が可能なように、データ取得用サンプルプログラム２６１に範囲指定ルーチン８１を追加する。
範囲指定ルーチン８１は、指定したデータ項目に対して、設定条件を与える処理が成される。例えば、データ項目毎にデータ数、データ内容の設定条件を入力して、設定条件に合致したデータのみ、データベースから取得するような処理を行う。一例として、設備番号にフライス盤の１０号機から２０号機までの番号を指定することによって、１０号機から２０号機までのフライス盤の、加工開始日と加工終了日をモニタすることができる。
【００５３】
さらに、定期的にデータの取得範囲を変更するように、データ取得用サンプルプログラム２６１に定期処理ルーチン８２を追加する。例えば、１週間毎に、稼動状況をモニタするフライス盤の設備番号を変更する設定を行うことによって、週単位で順次所定数のフライス盤の稼動状況をモニタすることができる。
【００５４】
また、ＧＵＩ８３のルーチンを付加することで、稼動時間をグラフ表示したり、稼動時間に色を付けたり、文字の大きさを変更したりするなど、取得データの表示形式を所望の形式に変更することができる。
【００５５】
ユーザ４は、データ取得用サンプルプログラム２６１に、以上説明した各種ルーチンプルグラム（８１、８２、８３）を追加することによって、データマイニング用プログラム９０を生成する。
ユーザ４は、汎用アプリケーションシステム２１のマクロ実行動作を起動して、データマイニング用プログラム９０をＣＰＵのメモリに読み込み、データマイニング用プログラム９０の処理手続を実行させる。データマイニング用プログラム９０を実行することで、設備の稼動状況をモニタリングするデータマイニング出力データ９１を得て、これによってデータマイニングを行うことができる。
【００５６】
図５はデータマイニング出力データの画面出力例を示す図である。
図において、稼動状況モニタリング５００は、指定した加工設備（例えば、ＮＣフライス盤）における、稼動時間の時間占有状況を示す図である。その他の情報として、例えば、加工番号（Ｎｏ）、加工時間、加工図面番号（ＮＣデータ番号）、設計図面番号（図面情報）を表示している。
データマイニング用プログラム９０を実行し、設備の稼動時間を図５に示すようにモニタリングすることによって、特定加工設備の稼動時間の分析が可能となる。
例えば、稼動時間が極端に低下する時間帯と稼働時間が高くなる時間帯との間に大きな隔りがあるという事象を見つける。これによって、稼動時間が長くなる設備番号の機械を、稼動時間が低くなる時間帯で動作させることによって、全体としての稼動効率を高くすることができる。図５の例で言えば、Ｘ−０１１番は、１０時〜２２時の間に全く稼動していないの対して、Ｘ−０１２〜Ｘ０１４番は、同時間に集中的に稼動している。このため、例えば、稼動台数の少ない２４時〜１０時の間に、加工設備を分散させて稼動させることによって、生産効率を向上させることのできる可能性を見出すことができる。
【００５７】
次に、データ取得用サンプルプログラムについて説明する。
図６は、データ取得用サンプルプログラムのプログラム構成９００を示す図である。データ取得用サンプルプログラム２６は、宣言文９０１、メインルーチン９０２、サブルーチン９０３を備えて構成される。
宣言文９０１では、データベース接続用モジュールを使用するという宣言文と、プログラム内で用いる各種変数、配列パラメータの宣言文などが規定される。
メインルーチン９０２では、データベースへの接続処理を実行する。
ここでは、変数の初期化、データの取得処理、取得データの表示処理、取得データの出力処理、プログラム終了処理から成る。サブルーチン９０３では、例えばデータの取得関数が定義されており、メインルーチン９０２からの呼び出しを受けて、データ取得処理を実行する。
また、データマイニング用プログラム２６を生成する場合は、アプリケーションシステム１０から提供される範囲指定ルーチン８１、定期処理ルーチン８２、ＧＵＩルーチン８３を、別ファイルに定義されたサブルーチンとして呼び出す。
メインルーチン９０２では、これら各種ルーチンの使用を宣言する宣言文と、これら各種ルーチンを関数として呼び出す設定を行えば良い。
【００５８】
次に、この実施の形態１による全体の処理フローを説明する。図７は接続用モジュールの生成、及びデータ取得用サンプルプログラムの生成処理フローを示す図、図８はデータマイング用プログラムの生成処理フローを示す図である。
【００５９】
以下、（１）〜（１１）において、図７に示すデータ取得用サンプルプログラムの生成処理ステップを順に説明する。
（１）ステップＳ１０１：インターネットブラウザ２０１を、アプリケーションシステム１０へＩＰ接続する。
（２）ステップＳ１０２：インターネットブラウザ２０１を通じて、アプリケーションシステム１０からダウンロードした入力項目を出力する。
（３）ステップＳ１０３：ユーザ側で取得したいデータ項目を選定する。
（４）ステップＳ１０４：インターネットブラウザ２０１を通じて、ユーザ４の選定したデータ項目（入力項目）を入力する。
（５）ステップＳ１０５：各データベースのデータテーブルに含まれるデータ項目の情報を参照する。
（６）ステップＳ１０６：入力項目が含まれるデータテーブル名を取得する。
（７）ステップＳ１０７：入力項目が複数のデータベースに分散されているか否かを判定し、接続用モジュールの生成判定を実施する。
（８）ステップＳ１０８：入力項目が１つのデータベースのみを参照する単一参照の場合は、１つの接続用モジュールを生成する。
（９）ステップＳ１０９：入力項目が１つのデータベースのみを参照する単一参照の場合は、単一参照の接続用モジュールのみを利用できる１つのデータ取得用サンプルプログラムを生成する。
（１０）ステップＳ１１０：入力項目が複数のデータベース分散されたデータテーブルに対応する場合は、各データテーブル毎に対応する複数の接続用モジュールを生成する。
（１１）ステップＳ１１１：入力項目が複数のデータベース分散されたデータテーブルに対応する場合は、各データテーブル毎に対応する複数の接続用モジュールを利用できる１つのデータ取得用サンプルプログラムを生成する。
【００６０】
以下、データマイング用プログラムの生成処理ステップを順に説明する。
図８（ａ）では、（１２）〜（１８）において、接続用モジュールを単体で利用する場合について説明する。
（１２）ステップＳ２０１：接続用モジュールをデータ取得用サンプルプログラムの手続文に加えて、接続用モジュールをデータ取得用サンプルプログラムと同一階層のフォルダに配置して、データ取得用サンプルプログラムから利用可能な状態とする。
（１３）ステップＳ２０２：汎用アプリケーションシステム２１でデータ取得用サンプルプログラムを読込む。
（１４）ステップＳ２０３：汎用アプリケーションシステム２１のマクロ処理命令を起動し、データ取得用サンプルプログラムをＣＰＵに読込んで処理を実行する。
（１５）ステップＳ２０４：データ取得用サンプルプログラムの実行処理によって、所望のデータをデータベースから取得する。
（１６）ステップＳ２０５：汎用アプリケーションシステム２１のプログラム開発エディタを利用して、ユーザ４の要求に合うように、ユーザ自身がデータ取得用サンプルプログラムに訂正を加える。
訂正に際して、インターネットブラウザ２０１を通じて、アプリケーションシステム１０から適宜ルーチンプログラムをダウンロードする。
ダウンロードしたルーチンプログラムを読み込み、実行処理させる関数文を、データ取得用サンプルプログラムが呼び出すように追加訂正する。
（１７）ステップＳ２０５：汎用アプリケーションシステム２１のマクロ処理命令を起動し、訂正したデータ取得用サンプルプログラムをＣＰＵに読込んで処理を再実行する。これによって、ユーザ４の要求に見合う実行処理結果が得られるまで、データ取得用サンプルプログラムの追加を繰り返し行う。
（１８）ステップＳ２０６：最終的に所望の実行処理結果が得られたら、訂正したデータ取得用サンプルプログラムを、最終的なデータマイニング用プログラムとして得る。
データマイニング用プログラムが得られたら、汎用アプリケーションシステム２１のマクロ処理命令を起動し、データマイニング用プログラムをＣＰＵに読込んで処理を実行して、読み込んだプログラムの規定する各処理手続に従って実行処理する。この際、接続用モジュールを用いてデータベースに接続し所望のデータを取得した後、プログラムの規定する各処理手続に基づいて取得データを加工処理することによって、データマイニング用の最終データを取得する。取得された最終データは画面出力され、またファイルとして記録される。
【００６１】
図８（ｂ）では、（１９）〜（２５）において、接続用モジュールを複数利用する場合について説明する。
（１９）ステップＳ２１０：複数の接続用モジュールをデータ取得用サンプルプログラムの手続文に加えて、各接続用モジュールをデータ取得用サンプルプログラムと同一階層のフォルダに配置して、データ取得用サンプルプログラムから利用可能な状態とする。
（２０）ステップＳ２１１：汎用アプリケーションシステム２１でデータ取得用サンプルプログラムを読込む。
（２１）ステップＳ２１２：汎用アプリケーションシステム２１のマクロ処理命令を起動し、データ取得用サンプルプログラムをＣＰＵに読込んで処理を実行する。
（２２）ステップＳ２１３：データ取得用サンプルプログラムの実行処理によって、所望のデータをデータベースから取得する。
（２３）ステップＳ２１４：汎用アプリケーションシステム２１のプログラム開発エディタを利用して、ユーザ４の要求に合うように、ユーザ自身がデータ取得用サンプルプログラムに訂正を加える。
訂正に際して、インターネットブラウザ２０１を通じて、アプリケーションシステム１０から適宜ルーチンプログラムをダウンロードする。
ダウンロードしたルーチンプログラムを読み込み、実行処理させる関数文を、データ取得用サンプルプログラムが呼び出すように追加訂正する。
（２４）ステップＳ２１２：汎用アプリケーションシステム２１のマクロ処理命令を起動し、訂正したデータ取得用サンプルプログラムをＣＰＵに読込んで処理を再実行する。これによって、ユーザ４の要求に見合う実行処理結果が得られるまで、データ取得用サンプルプログラムの追加を繰り返し行う。
（２５）ステップＳ２１５：最終的に所望の実行処理結果が得られたら、訂正したデータ取得用サンプルプログラムを、最終的なデータマイニング用プログラムとして得る。
データマイニング用プログラムが得られたら、汎用アプリケーションシステム２１のマクロ処理命令を起動し、データマイニング用プログラムをＣＰＵに読込んで、読み込んだプログラムの規定する各処理手続に従って実行処理する。この際、接続用モジュールを用いてデータベースに接続し所望のデータを取得した後、プログラムの規定する各処理手続に基づいて取得データを加工処理することによって、データマイニング用の最終データを取得する。取得された最終データは画面出力され、またファイルとして記録される。
【００６２】
なお、上記説明において、各データ項目のセキュリティ対策に関しては、それぞれのツールで標準的に設定されるものを使用すれば良く、ここでは詳細な説明については省略する。例えば、データへのアクセス権をツール依存の定義方法で定義して、それでカバーできない部分に関しては、データ利用者側との橋渡しを行う接続用モジュールの内部で、抽出対象となるデータ項目を判別することによって、セキュリティの制限をかけるような方法を取れば良い。
【００６３】
以上説明した通り、この実施の形態によれば、データ取得用サンプルプログラムを生成するとともに、事前準備された各種ルーチンプログラムを自由に組合わせてデータ取得用サンプルプログラムを変更できる環境を提供することにより、データ利用側では高度なデータ処理スキルの習得が不要となる。
従って、データ利用者側のスキル不足によって、分散化された複数のデータベースの利用を躊躇してしまうという問題が解消される。
また、要求項目の入力とデータ取得用サンプルプログラムの変更によって、利用者側からは任意のデータ取得が可能となる。
更には、データマイニングへの意識高揚や、エンドユーザコンピューティングの推進に寄与して、蓄積されたデータの有効活用に無限の広がりが生まれる。
また、今までは実現されていなかった、任意のデータをリアルタイムで取得する行為を、エンドユーザ側で行うことが可能となる。
これによって製造メーカでは、情報処理システムを活用した生産性の向上、及び品質管理の向上などに大きく貢献することが可能となる。
【図面の簡単な説明】
【００６４】
【図１】実施の形態１によるデータベース利用システムの全体構成を示す図である。
【図２】管理サーバに設置された情報処理システムとユーザ端末とから成る全体システムの構成図である。
【図３】接続用モジュールとデータ取得用サンプルプログラムを生成するアプリケーションシステムのデータ入出力図である。
【図４】データマイニング用プログラムを生成する処理手順を示す図である。
【図５】データマイニング出力データの画面出力例である。
【図６】データ取得用サンプルプログラムの構成を示す図である。
【図７】接続用モジュールの生成、及びデータ取得用サンプルプログラムの生成処理フローを示す図である。
【図８】データマイング用プログラムの生成処理フローを示す図である。
【符号の説明】
【００６５】
１  サーバ、２  通信ネットワーク、３  ユーザ端末、４  ユーザ、５  情報処理システム、１０  アプリケーションシステム、１１、１２、１３  データベース、１４  データベース（データマイニン用ツール）、２０  アプリケーションシステム、２１  汎用アプリケーションシステム、２２  入力部、２３  表示部、２４  データ出力部、２５  接続用モジュール、２６  データ取得用サンプルプログラム、２７  ルーチンプログラム、９０  データマイニング用プログラム、９１  データマイニング用出力データ、１１１  接続用モジュール生成部、１１２  サンプルプログラム生成部、１１３  ルーチンプログラム生成部、２０１  インターネットブラウザ、２０２  プラグインモジュール。
【図１】
2005275913.tif 000003
【図２】
2005275913.tif 000004
【図３】
2005275913.tif 000005
【図４】
2005275913.tif 000006
【図５】
2005275913.tif 000007
【図６】
2005275913.tif 000008
【図７】
2005275913.tif 000009
【図８】
2005275913.tif 000010