(57)【要約】      （修正有）【課題】データベースで管理するデータの種類の追加或は変更に伴う負担を軽減する。【解決手段】論理テーブル名を値とする論理テーブル名属性を有する第１種のテーブルを保存する手段と、属性名を値とする属性名属性と、その属性名を持つ属性の値を値とする属性値属性と、論理テーブル名を値とする論理テーブル名属性とを有する第２種のテーブルを保存する手段と、指定された論理テーブル名を持つ論理テーブルを、第１種のテーブルに定義することにより、指定された論理テーブル名を持つ論理テーブルに対応する概念上のテーブルを定義し、定義した概念上のテーブルの各属性の値を、第２種の論理テーブルに保存する手段と、指定された論理テーブル名を持つ論理テーブルを、第２種のテーブルに定義する手段とを備えることを特徴とするデータベースシステム。【選択図】図３
2007179141.tif 000002
【特許請求の範囲】
【請求項１】
論理テーブル名を値とする論理テーブル名属性を有する第１種のテーブルを保存する手段と、
属性名を値とする属性名属性と、その属性名を持つ属性の値を値とする属性値属性と、論理テーブル名を値とする論理テーブル名属性とを有する第２種のテーブルを保存する手段と、
第１種のテーブルの論理テーブル名属性の値として、論理テーブル名が指定されると、指定された論理テーブル名を持つ論理テーブルを第１種のテーブルに定義することにより、指定された論理テーブル名を持つ論理テーブルに対応する概念上のテーブルを定義し、定義した概念上のテーブルの各属性の値を第２種の論理テーブルに保存する手段と、
第２種のテーブルの論理テーブル名属性の値として、論理テーブル名が指定されると、指定された論理テーブル名を持つ論理テーブルを、第２種のテーブルに定義する手段とを備えることを特徴とするデータベースシステム。
【請求項２】
パラメータとして論理テーブルの名称を与えられることで、与えられた名称を持つ論理テーブルに対応する概念上のテーブルに対してアクセスを行う手段を備えることを特徴とする請求項１に記載のデータベースシステム。
【請求項３】
複数の論理テーブルを結合してアクセスするために、第１種又は２種のテーブルに対するＳＱＬ文を導出する際に適用されるルールを保存する手段と、
このルールに従って、複数の論理テーブルを結合してアクセスするための、第１種又は２種のテーブルに対するＳＱＬ文が導出されて、これら複数の論理テーブルを結合してアクセスする手段とを備えることを特徴とする請求項１又は２に記載のデータベースシステム。
【請求項４】
論理テーブル名を値とする論理テーブル名属性を有する第１種のテーブルを保存する工程と、
属性名を値とする属性名属性と、その属性名を持つ属性の値を値とする属性値属性と、論理テーブル名を値とする論理テーブル名属性とを有する第２種のテーブルを保存する工程と、
第１種のテーブルの論理テーブル名属性の値として、論理テーブル名が指定されると、指定された論理テーブル名を持つ論理テーブルを第１種のテーブルに定義することにより、指定された論理テーブル名を持つ論理テーブルに対応する概念上のテーブルを定義し、定義した概念上のテーブルの各属性の値を第２種の論理テーブルに保存する工程と、
第２種のテーブルの論理テーブル名属性の値として、論理テーブル名が指定されると、指定された論理テーブル名を持つ論理テーブルを、第２種のテーブルに定義する工程とを含むことを特徴とするデータベース方法。
【請求項５】
パラメータとして論理テーブルの名称を与えられることで、与えられた名称を持つ論理テーブルに対応する概念上のテーブルに対してアクセスを行う工程を含むことを特徴とする請求項４に記載のデータベース方法。
【請求項６】
複数の論理テーブルを結合してアクセスするために、第１種又は２種のテーブルに対するＳＱＬ文を導出する際に適用されるルールを保存する工程と、
このルールに従って、複数の論理テーブルを結合してアクセスするための、第１種又は２種のテーブルに対するＳＱＬ文が導出されて、これら複数の論理テーブルを結合してアクセスする工程とを含むことを特徴とする請求項４又は５に記載のデータベース方法。
【請求項７】
コンピュータに、
論理テーブル名を値とする論理テーブル名属性を有する第１種のテーブルを保存する手段と、
属性名を値とする属性名属性と、その属性名を持つ属性の値を値とする属性値属性と、論理テーブル名を値とする論理テーブル名属性とを有する第２種のテーブルを保存する手段と、
第１種のテーブルの論理テーブル名属性の値として、論理テーブル名が指定されると、指定された論理テーブル名を持つ論理テーブルを第１種のテーブルに定義することにより、指定された論理テーブル名を持つ論理テーブルに対応する概念上のテーブルを定義し、定義した概念上のテーブルの各属性の値を第２種の論理テーブルに保存する手段と、
第２種のテーブルの論理テーブル名属性の値として、論理テーブル名が指定されると、指定された論理テーブル名を持つ論理テーブルを、第２種のテーブルに定義する手段とを実現させることを特徴とするデータベースプログラム。
【請求項８】
パラメータとして論理テーブルの名称を与えられることで、与えられた名称を持つ論理テーブルに対応する概念上のテーブルに対してアクセスを行う手段を実現させることを特徴とする請求項７に記載のデータベースプログラム。
【請求項９】
複数の論理テーブルを結合してアクセスするために、第１種又は２種のテーブルに対するＳＱＬ文を導出する際に適用されるルールを保存する手段と、
このルールに従って、複数の論理テーブルを結合してアクセスするための、第１種又は２種のテーブルに対するＳＱＬ文が導出されて、これら複数の論理テーブルを結合してアクセスする手段とを実現させることを特徴とする請求項７又は８に記載のデータベースプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースの技術に関する。
【０００２】
以後、データベースと言えば、リレーショナル・データベースのことを意味するものとする。また、システムと言えば、コンピュータを利用したシステムのことを意味する。
【背景技術】
【０００３】
一般に、データベースシステムでデータを管理するとき、概念上のテーブルをシステム内に定義して、このテーブルにアクセスするためのプログラム（以後、アクセスプログラムとも云う）を作るという作業を経て、運用する。この作業には、専門の技能を持った設計者が必要となり、この作業は、一般のユーザが行えるものではなかった。
【０００４】
また、このテーブルの定義とアクセスプログラムの作成についての設計を検証するためにテストを行うには、データベースシステムを停止したり、検証用の別のシステムが必要になる。
【０００５】
よって、データベースで管理するデータの種類を、頻繁に追加、変更しようとすると、コストと時間がかかる。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は斯かる背景技術に鑑みてなされたもので、データベースで管理するデータの種類の追加或は変更に伴う負担を軽減することができ、特に、ユーザがデータベースの管理を行うことができるデータベースシステムを提供するサービスを可能にすることを課題とする。
【課題を解決するための手段】
【０００７】
本発明において上記課題を達成するために、まず請求項１の発明では、論理テーブル名を値とする論理テーブル名属性を有する第１種のテーブルを保存する手段と、
属性名を値とする属性名属性と、その属性名を持つ属性の値を値とする属性値属性と、論理テーブル名を値とする論理テーブル名属性とを有する第２種のテーブルを保存する手段と、
第１種のテーブルの論理テーブル名属性の値として、論理テーブル名が指定されると、指定された論理テーブル名を持つ論理テーブルを第１種のテーブルに定義することにより、指定された論理テーブル名を持つ論理テーブルに対応する概念上のテーブルを定義し、定義した概念上のテーブルの各属性の値を第２種の論理テーブルに保存する手段と、
第２種のテーブルの論理テーブル名属性の値として、論理テーブル名が指定されると、指定された論理テーブル名を持つ論理テーブルを、第２種のテーブルに定義する手段とを備えることを特徴とするデータベースシステムとたものである。
【０００８】
また請求項２の発明では、パラメータとして論理テーブルの名称を与えられることで、与えられた名称を持つ論理テーブルに対応する概念上のテーブルに対してアクセスを行う手段を備えることを特徴とする請求項１に記載のデータベースシステムとしたものである。
【０００９】
また請求項３の発明では、複数の論理テーブルを結合してアクセスするために、第１種又は２種のテーブルに対するＳＱＬ文を導出する際に適用されるルールを保存する手段と
、
このルールに従って、複数の論理テーブルを結合してアクセスするための、第１種又は２種のテーブルに対するＳＱＬ文が導出されて、これら複数の論理テーブルを結合してアクセスする手段とを備えることを特徴とする請求項１又は２に記載のデータベースシステムとしたものである。
【００１０】
また請求項４の発明では、論理テーブル名を値とする論理テーブル名属性を有する第１種のテーブルを保存する工程と、
属性名を値とする属性名属性と、その属性名を持つ属性の値を値とする属性値属性と、論理テーブル名を値とする論理テーブル名属性とを有する第２種のテーブルを保存する工程と、
第１種のテーブルの論理テーブル名属性の値として、論理テーブル名が指定されると、指定された論理テーブル名を持つ論理テーブルを第１種のテーブルに定義することにより、指定された論理テーブル名を持つ論理テーブルに対応する概念上のテーブルを定義し、定義した概念上のテーブルの各属性の値を第２種の論理テーブルに保存する工程と、
第２種のテーブルの論理テーブル名属性の値として、論理テーブル名が指定されると、指定された論理テーブル名を持つ論理テーブルを、第２種のテーブルに定義する工程とを含むことを特徴とするデータベース方法としたものである。
【００１１】
また請求項５の発明では、パラメータとして論理テーブルの名称を与えられることで、与えられた名称を持つ論理テーブルに対応する概念上のテーブルに対してアクセスを行う工程を含むことを特徴とする請求項４に記載のデータベース方法としたものである。
【００１２】
また請求項６の発明では、複数の論理テーブルを結合してアクセスするために、第１種又は２種のテーブルに対するＳＱＬ文を導出する際に適用されるルールを保存する工程と、
このルールに従って、複数の論理テーブルを結合してアクセスするための、第１種又は２種のテーブルに対するＳＱＬ文が導出されて、これら複数の論理テーブルを結合してアクセスする工程とを含むことを特徴とする請求項４又は５に記載のデータベース方法としたものである。
【００１３】
また請求項７の発明では、コンピュータに、
論理テーブル名を値とする論理テーブル名属性を有する第１種のテーブルを保存する手段と、
属性名を値とする属性名属性と、その属性名を持つ属性の値を値とする属性値属性と、論理テーブル名を値とする論理テーブル名属性とを有する第２種のテーブルを保存する手段と、
第１種のテーブルの論理テーブル名属性の値として、論理テーブル名が指定されると、指定された論理テーブル名を持つ論理テーブルを第１種のテーブルに定義することにより、指定された論理テーブル名を持つ論理テーブルに対応する概念上のテーブルを定義し、定義した概念上のテーブルの各属性の値を第２種の論理テーブルに保存する手段と、
第２種のテーブルの論理テーブル名属性の値として、論理テーブル名が指定されると、指定された論理テーブル名を持つ論理テーブルを、第２種のテーブルに定義する手段とを実現させることを特徴とするデータベースプログラムとしたものである。
【００１４】
また請求項８の発明では、パラメータとして論理テーブルの名称を与えられることで、与えられた名称を持つ論理テーブルに対応する概念上のテーブルに対してアクセスを行う手段を実現させることを特徴とする請求項７に記載のデータベースプログラムとしたものである。
【００１５】
また請求項９の発明では、複数の論理テーブルを結合してアクセスするために、第１種又は２種のテーブルに対するＳＱＬ文を導出する際に適用されるルールを保存する手段と、
このルールに従って、複数の論理テーブルを結合してアクセスするための、第１種又は２種のテーブルに対するＳＱＬ文が導出されて、これら複数の論理テーブルを結合してアクセスする手段とを実現させることを特徴とする請求項７又は８に記載のデータベースプログラムとしたものである。
【発明の効果】
【００１６】
請求項１、４、及び７の発明は、新たに概念上のテーブルをデータベースシステム内に定義するには、この概念上のテーブルに対応する論理テーブルの名称を、論理テーブル名属性の値として、第１種のテーブルに登録するだけで済み、専門の技能を持った設計者は不要となるという効果がある。また、第２種のテーブルに論理テーブルを定義することによって、概念上のテーブルの属性の値をグループで管理できるという効果もある。また、パラメータとして論理テーブル名を与えることで、この論理テーブル名を持つ論理テーブルに対応する概念上のテーブルに対してアクセスを行えるアクセスプログラムを作成することが可能になり、各概念上のテーブルごとに、各概念上のテーブルへのアクセスを行えるアクセスプログラムを作成する必要がなくなるという効果もある。
【００１７】
請求項２、５、及び８の発明は、パラメータとして論理テーブル名を与えることで、この論理テーブル名を持つ論理テーブルに対応する概念上のテーブルに対してアクセスが行え、各概念上のテーブルごとに、各概念上のテーブルへのアクセスを行えるアクセスプログラムを作成する必要がなくなるという効果がある。
【００１８】
請求項３、６、及び９の発明は、複数の論理テーブルを結合してアクセスするための、第１種又は２種のテーブルに対するＳＱＬ文を導出して、これら複数の論理テーブルを結合してアクセスすることが容易に行えるという効果がある。
【００１９】
以上、データベースで管理するデータの種類の追加或は変更に伴う負担を軽減することができ、特に、ユーザがデータベースの管理を行うことができるデータベースシステムを提供するサービスを可能にするという効果がある。
【発明を実施するための最良の形態】
【００２０】
以下に、本実施形態の最良の一実施形態を説明する。
【００２１】
ここで、データベースに実際に保存されるテーブルを、実テーブルと云うことにする。実テーブルには、２つの種類がある。
【００２２】
第１種の実テーブルは、その属性に、「論理テーブル名」属性を有する。本発明のシステムは、「論理テーブル名」属性の値として、論理テーブル名が指定されることにより、第１種の実テーブルに、指定された論理テーブル名を持つ仮想的なテーブル（このテーブルを、以後、論理テーブルと云う）を定義し、第１種の実テーブルを、論理テーブルごとに分割する。第１種の実テーブルに定義された論理テーブルは、それぞれ、概念上のテーブルに対応している。
【００２３】
図１に、第１種の実テーブルを分割する各論理テーブルと各概念上のテーブルとの対応例を示す。図１の例では、「論理テーブル名」属性の値として、Ｍａｋｅｒ、Ｓｅｒｉｅｓ、Ｕｎｉｔ、Ｃａｔａｌｏｇが指定されたことにより、第１の実テーブルに定義された４つの論理テーブルが、それぞれ、ＴＡＢＬＥ＿Ｍａｋｅｒ、ＴＡＢＬＥ＿Ｓｅｒｉｅｓ、ＴＡＢＬＥ＿Ｕｎｉｔ、ＴＡＢＬＥ＿Ｃａｔａｌｏｇという４つの概念上のテーブルに
対応している。
【００２４】
また、本発明のシステムは、概念上のテーブルの属性の値を、図２に示すような、属性テーブルと呼ばれる第２種の実テーブルに保存する。或は、概念上のテーブルの属性の中で、第１種のテーブルにないものについて、その値を、第２種の実テーブルに保存しても良い。第２種のテーブルは、図２に示すように、属性として、「ＩＤ」と「属性名」と「値」と「論理テーブル名」とがある。ここで、「ＩＤ」属性の値は、概念上のテーブルの個々のレコードを唯一に識別するＩＤである。また、「属性名」属性の値は、概念上のテーブルの属性の名称である。また、「値」属性の値は、「属性名」属性の値で示された属性名を持つ属性の値である。また、「論理テーブル名」属性の値は、その値として、論理テーブル名が指定されることによって、第２種の実テーブルに、指定された論理テーブル名を持つ仮想的なテーブル（このテーブルも、以後、論理テーブルと云う）を定義し、第２種の実テーブルを、論理テーブルごとに分割するものである。
【００２５】
図３に、第１種の実テーブル、第２種の実テーブル、それぞれを分割する、それぞれの論理テーブルの例を示す。図３の例では、第１種の実テーブルは、図１の例と同様に、「論理テーブル名」属性の値として、Ｍａｋｅｒ、Ｓｅｒｉｅｓ、Ｕｎｉｔ、Ｃａｔａｌｏｇが指定されたことにより、４つの論理テーブルに分割されており、それぞれの論理テーブルは、ＴＡＢＬＥ＿Ｍａｋｅｒ、ＴＡＢＬＥ＿Ｓｅｒｉｅｓ、ＴＡＢＬＥ＿Ｕｎｉｔ、ＴＡＢＬＥ＿Ｃａｔａｌｏｇという４つの概念上のテーブルに、それぞれ対応している。
【００２６】
また、図３の例では、第２種の実テーブルは、「論理テーブル名」属性の値として、Ｍａｋｅｒ、ＭａｋｅｒＬｏｇｏ、Ｓｅｒｉｅｓ、ＳｅｒｉｅｓＦｉｌｅ、ＳｅｒｉｅｓＵｎｉｔ、Ｕｎｉｔ、ＵｎｉｔＦｉｌｅ、ＣａｔａｌｏｇＩｔｅｍ、ＣａｔａｌｏｇＩｔｅｍ、ＣａｔａｌｏｇＰａｇｅが指定されたことにより、１０の論理テーブルに分割されている。
【００２７】
また、図３の例で、第１種の実テーブルにおいて、「論理テーブル名」属性の値として、Ｍａｋｅｒが指定されたことにより、定義された論理テーブルと、第２種の実テーブルにおいて、「論理テーブル名」属性の値として、ＭａｋｅｒとＭａｋｅｒＬｏｇｏとが指定されたことにより、定義された２つの論理テーブルとの間に線が引かれているのは、第２種の実テーブルにおいて、「論理テーブル名」属性の値として、ＭａｋｅｒとＭａｋｅｒＬｏｇｏとが指定されたことにより、定義された２つの論理テーブルに、概念上のテーブルＴＡＢＬＥ＿Ｍａｋｅｒの属性の値が、グループ分けされて保存されていることを示す。
【００２８】
また、図３の例で、第１種の実テーブルにおいて、「論理テーブル名」属性の値として、Ｓｅｒｉｅｓが指定されたことにより、定義された論理テーブルと、第２種の実テーブルにおいて、「論理テーブル名」属性の値として、ＳｅｒｉｅｓとＳｅｒｉｅｓＦｉｌｅとＳｅｒｉｅｓＵｎｉｔとが指定されたことにより、定義された３つの論理テーブルとの間に線が引かれているのは、第２種の実テーブルにおいて、「論理テーブル名」属性の値として、ＳｅｒｉｅｓとＳｅｒｉｅｓＦｉｌｅとＳｅｒｉｅｓＵｎｉｔとが指定されたことにより、定義された３つの論理テーブルに、概念上のテーブルＴＡＢＬＥ＿Ｓｅｒｉｅｓの属性の値が、グループ分けされて保存されていることを示す。
【００２９】
また、図３の例で、第１種の実テーブルにおいて、「論理テーブル名」属性の値として、Ｕｎｉｔが指定されたことにより、定義された論理テーブルと、第２種の実テーブルにおいて、「論理テーブル名」属性の値として、ＵｎｉｔとＵｎｉｔＦｉｌｅとが指定されたことにより、定義された２つの論理テーブルとの間に線が引かれているのは、第２種の実テーブルにおいて、「論理テーブル名」属性の値として、ＵｎｉｔとＵｎｉｔＦｉｌｅ
とが指定されたことにより、定義された２つの論理テーブルに、概念上のテーブルＴＡＢＬＥ＿Ｕｎｉｔの属性の値が、グループ分けされて保存されていることを示す。
【００３０】
また、図３の例で、第１種の実テーブルにおいて、「論理テーブル名」属性の値として、Ｃａｔａｌｏｇが指定されたことにより、定義された論理テーブルと、第２種の実テーブルにおいて、「論理テーブル名」属性の値として、ＣａｔａｌｏｇＦｉｌｅとＣａｔａｌｏｇＩｔｅｍとＣａｔａｌｏｇＰａｇｅとが指定されたことにより、定義された３つの論理テーブルとの間に線が引かれているのは、第２種の実テーブルにおいて、「論理テーブル名」属性の値として、ＣａｔａｌｏｇＦｉｌｅとＣａｔａｌｏｇＩｔｅｍとＣａｔａｌｏｇＰａｇｅとが指定されたことにより、定義された３つの論理テーブルに、概念上のテーブルＴＡＢＬＥ＿Ｃａｔａｌｏｇの属性の値が、グループ分けされて保存されていることを示す。
【００３１】
本発明のシステムは、第１種の実テーブルにおいて、「論理テーブル名」属性の値が指定されると、指定された論理テーブル名を持つ論理テーブルを、第１種の実テーブルに定義することにより、指定された論理テーブル名を持つ論理テーブルに対応する概念上のテーブルを定義し、定義した概念上のテーブルの属性の値を、第２種の実テーブルに保存する。このため、「論理テーブル名」属性の値を、第１種の実テーブルに登録するだけで、概念上のテーブルを、データベースに定義することができる。
【００３２】
また、本発明のシステムは、第２種の実テーブルにおいて、「論理テーブル名」属性の値が指定されると、指定された論理テーブル名を持つ論理テーブルを、第２種の実テーブルに定義する。このため、「論理テーブル名」属性の値を、第２種の実テーブルに登録すると、概念上のテーブルの属性の値を、論理テーブルによってグループで管理することができる。
【００３３】
また、本発明システムでは、第１種の実テーブルにおいて、「論理テーブル名」属性の値が指定されると、指定された論理テーブル名を持つ論理テーブルを、第１種の実テーブルに定義し、この論理テーブルに対応する概念上のテーブルの属性の値を、第２種の実テーブルに保存するので、パラメータとして論理テーブル名を与えることで、この論理テーブル名を持つ論理テーブルに対応する概念上のデータベースに対してアクセスを行えるアクセスプログラムを作成することが可能になり、各概念上のテーブルごとに、各概念上のテーブルに対してアクセスを行えるアクセスプログラムを作成する必要がなくなる。
【００３４】
例えば、パラメータとして論理テーブル名を与えることで、この論理テーブル名を持つ論理テーブルに対応する概念上のテーブルに対して検索を行える検索プログラムの実行を命じるコマンドが、パラメータをＴとして、ｒｅａｄｅｒ＿＜Ｔ＞であるとし、また、第１種の実テーブルの各論理テーブルと各概念上のテーブルとの対応が、図１の例に示すようなものであるとする。この場合、パラメータＴとしてＭａｋｅｒを与えたとき、ｒｅａｄｅｒ＿＜Ｍａｋｅｒ＞は、ＴＡＢＬＥ＿Ｍａｋｅｒへの検索を行える検索プログラムの実行を命じるコマンドとなる。また、パラメータＴとしてＳｅｒｉｅｓを与えたとき、ｒｅａｄｅｒ＿＜Ｓｅｒｉｅｓ＞は、ＴＡＢＬＥ＿Ｓｅｒｉｅｓへの検索を行える検索プログラムの実行を命じるコマンドとなる。また、パラメータＴとしてＵｎｉｔを与えたとき、ｒｅａｄｅｒ＿＜Ｕｎｉｔ＞は、ＴＡＢＬＥ＿Ｕｎｉｔへの検索を行える検索プログラムの実行を命じるコマンドとなる。また、パラメータＴとしてＣａｔａｌｏｇを与えたとき、ｒｅａｄｅｒ＿＜Ｃａｔａｌｏｇ＞は、ＴＡＢＬＥ＿Ｃａｔａｌｏｇへの検索を行える検索プログラムの実行を命じるコマンドとなる。
【００３５】
また例えば、パラメータとして論理テーブル名を与えることで、この論理テーブル名を持つ論理テーブルへの登録を行える登録プログラムの実行を命じるコマンドが、パラメー
タをＴとして、ｗｒｉｔｅｒ＿＜Ｔ＞であるとし、また、第１種の実テーブルの各論理テーブルと各概念上のテーブルとの対応が、図１の例に示すようなものであるとする。この場合、パラメータＴとしてＭａｋｅｒを与えたとき、ｗｒｉｔｅｒ＿＜Ｍａｋｅｒ＞は、ＴＡＢＬＥ＿Ｍａｋｅｒへの登録を行える登録プログラムの実行を命じるコマンドとなる。また、パラメータＴとしてＳｅｒｉｅｓを与えたとき、ｗｒｉｔｅｒ＿＜Ｓｅｒｉｅｓ＞は、ＴＡＢＬＥ＿Ｓｅｒｉｅｓへの登録を行える登録プログラムの実行を命じるコマンドとなる。また、パラメータＴとしてＵｎｉｔを与えたとき、ｗｒｉｔｅｒ＿＜Ｕｎｉｔ＞は、ＴＡＢＬＥ＿Ｕｎｉｔへの登録を行える登録プログラムの実行を命じるコマンドとなる。また、パラメータＴとしてＣａｔａｌｏｇを与えたとき、ｗｒｉｔｅｒ＿＜Ｃａｔａｌｏｇ＞は、ＴＡＢＬＥ＿Ｃａｔａｌｏｇへの登録を行える登録プログラムの実行を命じるコマンドとなる。
【００３６】
ところで、本発明のシステムでは、複数の論理テーブルを結合してアクセスするために、実テーブルに対するＳＱＬ文を導出する際に適用されるルール（以後、結合ルールとも云う）が、データベースに保存されており、この結合ルールに従って、この実テーブルに対するＳＱＬ文が導出されることにより、複数の論理テーブルを結合してアクセスする。
【００３７】
複数の論理テーブルを結合して検索するために導出された、実テーブルに対するＳＱＬ文の例を、図４に示す。図４に示すＳＱＬ文は、シリーズ商品（ＴＡＢＬＥ０１＿Ｓｅｒｉｅｓ）の関連ユニット商品（ＴＡＢＬＥ０９＿ＳｅｒｉｅｓＵｎｉｔ）属性にひもづいたユニット商品（ＴＡＢＬＥ０１＿Ｕｎｉｔ）の検索を行うためのものである。また、図４に示すＳＱＬ文を導出するために、適用された結合ルールが記載されている結合ルール表を、図５に示す。
【００３８】
ここで、ＴＡＢＬＥ０１は、第１種の実テーブルであり、ＴＡＢＬＥ０９は、第２種の実テーブルである。何れのテーブルでも、「論理テーブル名」属性を、「ｖｉｅｗＣｌａｓｓ」属性で表している。
【００３９】
そして、シリーズ商品に関するデータが記述される論理テーブルＴＡＢＬＥ０１＿Ｓｅｒｉｅｓは、実テーブルＴＡＢＬＥ０１で「ｖｉｅｗＣｌａｓｓ」属性の値をＳｅｒｉｅｓとすることで定義される。また、関連ユニット商品に関するデータが記述される論理テーブルＴＡＢＬＥ０９＿ＳｅｒｉｅｓＵｎｉｔは、第２種の実テーブルＴＡＢＬＥ０９で「ｖｉｅｗＣｌａｓｓ」属性の値をＳｅｒｉｅｓＵｎｉｔとすることで定義される。また、ユニット商品に関するデータが記述される論理テーブルＴＡＢＬＥ０１＿Ｕｎｉｔは、第１種の実テーブルＴＡＢＬＥ０１で「ｖｉｅｗＣｌａｓｓ」属性の値をＵｎｉｔとすることで表現される。従って、論理テーブルＴＡＢＬＥ０１＿Ｓｅｒｉｅｓと、論理テーブルＴＡＢＬＥ０９＿ＳｅｒｉｅｓＵｎｉｔと、論理テーブルＴＡＢＬＥ０１＿Ｕｎｉｔとを結合することは、実際には、第１種の実テーブルＴＡＢＬＥ０１と、第２種の実テーブルＴＡＢＬＥ０９と、第１種の実テーブルＴＡＢＬＥ０１とを結合することを意味し、図４に示すＳＱＬ文のｆｒｏｍ句は、このことを示している。
【００４０】
結合ルール表は、図５に示すように、属性表と結合属性表とからなり、これらの表は、データベースに定義されて保存されている。属性表又は結合属性表に付いている（１）〜（５）は、それぞれ、図４に示すＳＱＬ文のｗｈｅｒｅ句において、（１）〜（５）で示す論理式を導出するために適用された結合ルールが、記載されている箇所を示している。
【００４１】
図４に示すＳＱＬ文のｗｈｅｒｅ句において、（１）の論理式は、属性表の「分類」項目にて◎印で、第１種の実テーブルＴＡＢＬＥ０１の「ｒｅｌｅａｓｅＩＤ」属性の値と「ｖｉｅｗＣｌａｓｓ」属性の値とが指定されるべきことが示され、しかも、論理テーブルＴＡＢＬＥ０１＿Ｓｅｒｉｅｓは、第１種の実テーブルＴＡＢＬＥ０１で「ｖｉｅｗＣ
ｌａｓｓ」属性の値をＳｅｒｉｅｓとすることで定義されることから、導出されたものである。
【００４２】
図４に示すＳＱＬ文のｗｈｅｒｅ句において、（２）の論理式は、結合属性表にて、第１種の実テーブルＴＡＢＬＥ０１を結合元、第２種の実テーブルＴＡＢＬＥ０９を結合先とするとき、第１種の実テーブルＴＡＢＬＥ０１の「ｉｄＩｔｅｍＩＤ」属性と、第２種の実テーブルＴＡＢＬＥ０９の「ｉｄＩｔｅｍＩＤ」属性とで、第１種の実テーブルＴＡＢＬＥ０１と第２種のＴＡＢＬＥ０９とを結合可能であることが示されていることから、導出されたものである。
【００４３】
図４に示すＳＱＬ文のｗｈｅｒｅ句において、（３）の論理式は、属性表の「分類」項目にて◎印で、第２種の実テーブルＴＡＢＬＥ０９の「ｒｅｌｅａｓｅＩＤ」属性の値と「ｖｉｅｗＣｌａｓｓ」属性の値とが指定されるべきことが示され、しかも、論理テーブルＴＡＢＬＥ０９＿ＳｅｒｉｅｓＵｎｉｔは、第２種の実テーブルＴＡＢＬＥ０９で「ｖｉｅｗＣｌａｓｓ」属性の値をＳｅｒｉｅｓＵｎｉｔとすることで定義されることから、導出されたものである。
【００４４】
図４に示すＳＱＬ文のｗｈｅｒｅ句において、（４）の論理式は、結合属性表にて、第２種の実テーブルＴＡＢＬＥ０９を結合元、第１種の実テーブルＴＡＢＬＥ０１を結合先とするとき、第２種の実テーブルＴＡＢＬＥ０９の「ｖａｌｕｅＩＤＩｔｅｍＩＤ」属性と、第１種の実テーブルＴＡＢＬＥ０１の「ｉｄＩｔｅｍＩＤ」属性とで、第２種の実テーブルＴＡＢＬＥ０９と第１種のＴＡＢＬＥ０１とを結合可能であることが示されていることから、導出されたものである。
【００４５】
図４に示すＳＱＬ文のｗｈｅｒｅ句において、（５）の論理式は、属性表の「分類」項目にて◎印で、第１種の実テーブルＴＡＢＬＥ０１の「ｒｅｌｅａｓｅＩＤ」属性の値と「ｖｉｅｗＣｌａｓｓ」属性の値とが指定されるべきことが示され、しかも、論理テーブルＴＡＢＬＥ０１＿Ｕｎｉｔは、第１種の実テーブルＴＡＢＬＥ０１で「ｖｉｅｗＣｌａｓｓ」属性の値をＵｎｉｔとすることで定義されることから、導出されたものである。
【００４６】
上記の通り、複数の論理テーブルを結合して検索する。
【図面の簡単な説明】
【００４７】
【図１】第１種の実テーブルの各論理テーブルと各概念上のテーブルとの対応例を示す図。
【図２】第２種の実テーブル（属性テーブル）の例を示す図。
【図３】第１種の実テーブル、第２種の実テーブル、それぞれを分割する、それぞれの論理テーブルの例を示す図。
【図４】複数の論理テーブルを結合して検索するために導出された、実テーブルに対するＳＱＬ文の例を示す図。
【図５】図４に示すＳＱＬ文を導出するために、適用された結合ルールが記載されている結合ルール表を示す図。
【図１】
2007179141.tif 000003
【図２】
2007179141.tif 000004
【図３】
2007179141.tif 000005
【図４】
2007179141.tif 000006
【図５】
2007179141.tif 000007