(57)【要約】【課題】  データ相互間に親子関係などがあっても容易にデータベース用のデータ入力が可能なデータベース作成システムを提供することにある。【解決手段】  データベース作成システム１０は、入力されたデータＤ１を、データベース２０に登録できるテーブル構成のデータとしてデータベースに登録する。ここで、入力されたデータＤ１は、表形式のデータである。データベース作成システム１０は、各列同士が親子関係を有する表形式のデータＤ１に対して、親子関係を示す階層レベルの情報を含む第１のヘッダ情報を付加し、この第１のヘッダ情報に基づいて、表形式のデータＤ１を、データベースに登録できるテーブル構成のデータとしてデータベースに登録する。【選択図】  図１
2006276931.tif 000002
【特許請求の範囲】
【請求項１】
入力されたデータを、データベースに登録できるテーブル構成のデータとして前記データベースに登録するデータベース作成システムであって、
前記入力されたデータは、表形式のデータであり、
各列同士が親子関係を有する前記表形式のデータに対して、親子関係を示す階層レベルの情報を含む第１のヘッダ情報を付加し、
この第１のヘッダ情報に基づいて、前記表形式のデータを、前記データベースに登録できるテーブル構成のデータとして前記データベースに登録することを特徴とするデータベース作成システム。
【請求項２】
請求項１記載のデータベース作成システムにおいて、
前記第１のヘッダ情報は、前記表形式のデータの第１列目に付加され、各列毎の階層レベルの情報を有することを特徴とするデータベース作成システム。
【請求項３】
請求項１記載のデータベース作成システムにおいて、
前記各列同士が親子関係を有する前記表形式のデータに対して、さらに、親子間のデータの組合せ関係を示す第２のヘッダ情報を付加し、
前記第１のヘッダ情報で指定されるデータと、前記第２のヘッダ情報で指定されるデータのマトリックスの交点に、前記親子関係を有するデータ間の組合せ関係を定義し、
前記第１のヘッダ情報と、前記第２のヘッダ情報と、前記マトリックスの交点の組合せ関係の定義情報に基づいて、前記表形式のデータを、前記データベースに登録できるテーブル構成のデータとして前記データベースに登録することを特徴とするデータベース作成システム。
【請求項４】
請求項３記載のデータベース作成システムにおいて、
前記第２のヘッダ情報は、前記表形式のデータの第１行目に付加され、各行毎の階層レベルの情報を有することを特徴とするデータベース作成システム。
【請求項５】
請求項１記載のデータベース作成システムにおいて、
さらに、相互関係のあるデータ同士のマトリックスの交点に、前記相互関係のあるデータ間のルールを定義し、
この相互関係のあるデータ間のルールに基づいて、前記相互関係のあるデータを、前記データベースに登録できるテーブル構成のデータとして前記データベースに登録することを特徴とするデータベース作成システム。
【請求項６】
請求項１記載のデータベース作成システムにおいて、
前記データベースに登録されたデータを用いて、親子関係のある情報を表示、若しくは選択することを特徴とするデータベース作成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベース作成システムに係り、特に、親子関係を有するデータのデータベースを作成するに好適なデータベース作成システムに関する。
【背景技術】
【０００２】
従来、データベースを作成するシステムとして、例えば、特開２００３−１５９２０号公報に記載のように、表計算ソフトのシートを用いるものが知られている。このように、一般によく用いられている表計算ソフトのシートを用いることで、専用のユーティティソフトを用いる場合に比べて、一般のオペレータでも、容易にデータベース用のデータの入力を容易にすることができる。
【０００３】
【特許文献１】特開２００３−１５９２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特開２００３−１５９２０号公報に記載のように、表計算ソフトのシートを用いた場合でも、データ相互間に親子関係のあるデータについては、データ入力が容易でないという問題があった。また、親子関係に加えて、データ間に相互関係（データ相互の組合せが不可とか組合せが必須とかのカテゴライズや、互換性有りやインクルードありなどのルール等）があると、データ入力はさらに複雑化して容易でないという問題があった。
【０００５】
本発明の目的は、データ相互間に親子関係などがあっても容易にデータベース用のデータ入力が可能なデータベース作成システムを提供することにある。
【課題を解決するための手段】
【０００６】
（１）上記目的を達成するために、本発明は、入力されたデータを、データベースに登録できるテーブル構成のデータとしてデータベースに登録するデータベース作成システムであって、前記入力されたデータは、表形式のデータであり、各列同士が親子関係を有する前記表形式のデータに対して、親子関係を示す階層レベルの情報を含む第１のヘッダ情報を付加し、この第１のヘッダ情報に基づいて、前記表形式のデータを、前記データベースに登録できるテーブル構成のデータとして前記データベースに登録するようにしたものである。  
かかる構成により、データ相互間に親子関係などがあっても容易にデータベース用のデータ入力が可能となる。
【０００７】
（２）上記（１）において、好ましくは、前記第１のヘッダ情報は、前記表形式のデータの第１列目に付加され、各列毎の階層レベルの情報を有するものである。
【０００８】
（３）上記（１）において、好ましくは、前記各列同士が親子関係を有する前記表形式のデータに対して、さらに、親子間のデータの組合せ関係を示す第２のヘッダ情報を付加し、前記第１のヘッダ情報で指定されるデータと、前記第２のヘッダ情報で指定されるデータのマトリックスの交点に、前記親子関係を有するデータ間の組合せ関係を定義し、前記第１のヘッダ情報と、前記第２のヘッダ情報と、前記マトリックスの交点の組合せ関係の定義情報に基づいて、前記表形式のデータを、前記データベースに登録できるテーブル構成のデータとして前記データベースに登録するようにしたものである。
ことを特徴とするデータベース作成システム。
【０００９】
（４）上記（３）において、好ましくは、前記第２のヘッダ情報は、前記表形式のデータの第１行目に付加され、各行毎の階層レベルの情報を有するものである。
【００１０】
（５）上記（１）において、好ましくは、さらに、相互関係のあるデータ同士のマトリックスの交点に、前記相互関係のあるデータ間のルールを定義し、この相互関係のあるデータ間のルールに基づいて、前記相互関係のあるデータを、前記データベースに登録できるテーブル構成のデータとして前記データベースに登録するようにしたものである。
【００１１】
（６）上記（１）において、好ましくは、前記データベースに登録されたデータを用いて、親子関係のある情報を表示、若しくは選択するようにしたものである。
【発明の効果】
【００１２】
本発明によれば、データ相互間に親子関係などがあっても容易にデータベース用のデータ入力が可能になる。
【発明を実施するための最良の形態】
【００１３】
以下、図１〜図８を用いて、本発明の一実施形態によるデータベース作成システムの構成及び処理動作について説明する。  
最初に、図１を用いて、本実施形態によるデータベース作成システムのシステム構成について説明する。  
図１は、本発明の一実施形態によるデータベース作成システムの構成を示すシステムブロック図である。
【００１４】
データベース作成システム１０の入力データとしては、シート形式データＤ１がある。このデータＤ１は、表計算ソフトを用いて作成されたデータであり、表形式のデータであり、例えば、ＣＳＶ形式で記述されたデータである。シート形式データＤ１のデータ構成については、図３及び図５を用いて後述する。シート形式データＤ１は、単一のシートでもよく、また、複数のシートでもよいものである。
【００１５】
データベース作成システム１０は、親子関係シートデータＤ１オプション間ルール用シートデータＤ２を入力し、これらのデータに対して、親子関係や相互関係を生成した後、データベース（ＤＢ）２０に登録するデータ形式に変換し、データベース２０に登録する。
【００１６】
ユーザは、Ｗｅｂ端末装置３０などを用いて、インターネットなどを経由してデータベース２０にアクセスし、データベース２０に登録されたデータをＷｅｂ端末装置３０の表示画面に表示することができる。表示形式としては、例えば、ツリー形式（図１の左下の表示例の左側）や、ドリルダウン形式（図１の左下の表示例の右側）などを選択することができる。その結果、ツリー形式で表示したり、ドリルダウン形式で所定のデータを選択することができる。
【００１７】
次に、図２を用いて、本実施形態によるデータベース作成システムの処理内容について説明する。  
図２は、本発明の一実施形態によるデータベース作成システムの処理内容を示すフローチャートである。
【００１８】
図２を用いて、最初に、データに対する親子関係の生成処理について説明する。この処理では、ステップｓ５０，ｓ６０，ｓ７０，ｓ８０は実行しないため、これらの処理については、相互関係の生成処理時に後述する。
【００１９】
最初に、ステップｓ１０において、データベース作成システム１０は、シート形式データＤ１を、例えば、ＣＳＶファイルとして読み込む。ここでは、説明の簡単のため、シートは１枚とする。なお、シートが複数枚に亘るときは、ステップｓ２０において、データベース作成システム１０は、読み込まれたシート形式データＤ１を、シート毎に分割する処理を実行する。
【００２０】
次に、ステップｓ３０において、データベース作成システム１０は、読み込まれたシート形式データＤ１のシートデータに対して、親子関係を生成する。
【００２１】
ここで、図３を用いて、データベース作成システム１０に読み込まれるシート形式データＤ１及びそれに対して親子関係が生成されたデータの一例について説明する。  
図３は、本発明の一実施形態によるデータベース作成システムのデータ読込処理及び親子関係生成処理によって得られたデータの一例の説明図である。
【００２２】
図３に示す表形式のデータにおいて、第１〜４行目は、親子関係生成処理で付加されたデータ（親子関係用ヘッダ情報）である。第５行目以降は、データベース作成システム１０によって読み込まれたシート形式データＤ１のシートデータである。
【００２３】
まず、元のデータについて説明すると、ここでは、ノートパソコンの例を示している。第５行目の例では、「ノート型」で、「Ａ４サイズ」に対して、「Ａ４モデル１」というモデルがあることを示している。同様に、第６行目は、「Ａ４モデル２」というモデルがあることを示している。
【００２４】
このような表形式のデータに対して、データベース作成システム１０は、第１〜４行目に、親子関係の情報を含む各列の属性を示すヘッダ情報を付加して、このヘッダ情報により親子関係を生成している。
【００２５】
ヘッダ情報は、第１行目の「#table_name」と、第２行目の「#field_name」と、第３行目の「#relation」と、第４行目の「#set_level」から構成され、これらの定義ファイルは、各行の第１列目（１Ａ，２Ａ，３Ａ，４Ａ）に配置する。
【００２６】
ヘッダ情報の第１行目の「#table_name」では、第５行目以降のデータによって作成するデータベースのテーブル名を定義する。ここでは、第１行第２列以降各列に「table1」と記載して、「table1」というテーブルを生成することを定義している。
【００２７】
ヘッダ情報の第２行目の「#field_name」では、テーブル内のフィールド名を定義する。ここでは、第２，３，４列に記載されているデータは、名称（name）であることを示し、「ノート型」，「Ａ４サイズ」，「Ａ４モデル１」というデータが名称であることを示している。
【００２８】
ヘッダ情報の第３行目の「#relation」は、左隣の列のデータとの関係を示す属性を示している。すなわち、第３行第２列（３Ｂ）は、「root」と記載することにより、第２列は「親」であることを示している。また、第３行第３列，同行第４列は、「child」と記載することにより、左隣の列（第３列は第２列に対して，第４列は第３列に対して）「子」であることを示している。
【００２９】
ヘッダ情報の第４行目の「#set_level」は、親子関係を示す階層レベルを示している。第２列は、「親」であるので、階層レベルは「１」である。この親に対して、各「子」の階層レベルが示される。すなわち、第３列は、階層レベル「２」であり、「親」の１階層下に並ぶデータであることが示される。また、第４列は、階層レベル「３」であり、「親」の２階層下に並ぶデータであることが示される。
【００３０】
以上のようにして、ステップｓ３０の親子関係生成処理では、データベース作成システム１０によって読み込まれたシート形式データＤ１（図３の第５行目以降）に対して、図３の第１〜４行目に示した各列の属性を示すヘッダ情報を付加する。
【００３１】
次に、図２のステップｓ６０において、データベース作成システム１０は、親子関係の付加されたデータの親子関係を確認し、親子関係が確認されると、データベース２０に登録するデータに変換し、ステップｓ９０において、データベース２０に登録する。
【００３２】
ここで、図４を用いて、図３で示した親子関係を付加されたデータの親子関係と、データベース２０に登録されるデータ構成について説明する。  
図４は、本発明の一実施形態によるデータベース作成システムの親子関係確認処理及び登録処理によって得られたデータの一例の説明図である。なお、図４（Ａ）は親子関係図を示し、図４（Ｂ）はデータベースに登録されるテーブル情報を示している。
【００３３】
親子関係確認処理では、データベース作成システム１０は、図３に示した親子関係の属性ヘッダをベースにして、図４（Ａ）に示すように、ツリー構造の親子関係図が成立するか否かから親子関係が正常に付与されているか否かを確認する。
【００３４】
親子関係が確認されると、データベース作成システム１０は、図３に示すデータを用いて、図４（Ｂ）に示すテーブル情報を作成し、データベース２０に登録する。図４（Ｂ）に示すように、データベース２０に登録されるテーブル情報は、「ID」と、「name」と、「level」と、「Parent_id」から構成されている。「ID」は各データを識別するためのユニークな番号等から構成され、例えば、図４（Ｂ）に示すように、「１」，「２」，「３」の連続した番号である。「name」は、図３に示された「name」の名称である。各名称は、図３をベースに、例えば、「ノート型」，「Ａ４サイズ」，「Ａ４モデル１」，「Ａ４モデル２」などである。「level」は、図３に示された「#set_level」の階層が示される。例えば、「ノート型」は階層「１」，「Ａ４サイズ」は階層「２」，「Ａ４モデル１」は「階層３」というようになる。「Parent_id」は、親子関係の親の「ID」が記載されている。「Ａ４サイズ」の親は、「ノート型」であるため、「ノート型」の「ID」である「１」が付されている。また、「Ａ４モデル１」の親は、「Ａ４サイズ」であるため、「Ａ４サイズ」の「ID」である「２」が付されている。
【００３５】
次に、図２及び図５を用いて、図２のステップｓ４０のオプションカテゴライズ生成処理の内容について説明する。  
図５は、本発明の一実施形態によるデータベース作成システムのオプションカテゴライズ生成処理によって得られたデータの一例の説明図である。
【００３６】
図２のステップｓ４０では、データベース作成システム１０は、データベース作成システム１０に読み込まれるシート形式データＤ１に対して、オプションカテゴライズを施したデータを生成する。オプションカテゴライズとは、データ間の相対関係の一つであり、データ相互間において「組合せ不可」とか、「組合せ必須」とかの、データ間の組合せの可否を示す指標である。
【００３７】
図５に示す表形式のデータにおいて、第８行目以降であって、第２〜４列は、データベース作成システム１０によって読み込まれたシート形式データＤ１の第２番目のシートデータである。この例では、図３に示した第１のシートデータに加えて、図５に示した第２のシートデータが存在する。そして、図２のステップｓ２０のシート毎分割処理では、図３と図５のデータを含むシート形式データＤ１をそれぞれ図３及び図５の２つのシートに分割する。第１のシートデータに対しては、図３にて説明したように、親子関係が生成される。
【００３８】
一方、図５に示したデータに対しては、親子関係生成処理とオプションカテゴライズ生成処理とが施される。
【００３９】
最初に、データベース作成システム１０によって読み込まれたシート形式データＤ１の第２番目のシートデータの内容について説明する。ここでは、同じくノートパソコンの例を示している。第８行目の例では、「内部ユニット」で、「ＣＰＵ」に対して、「Ｐ３ １．８ＧＨｚ」というＣＰＵがあることを示している。同様に、第９行目は、「内部ユニット」で、「ＣＰＵ」に対して、「Ｐ３ ２．０ＧＨｚ」というＣＰＵがあることを示している。
【００４０】
このような表形式のデータに対して、データベース作成システム１０は、第３〜７行目に、各列の属性を示す親子関係のヘッダ情報を付加して、このヘッダ情報により親子関係を生成している。
【００４１】
ヘッダ情報は、第３行目の「#table_name」と、第４行目の「#field_name」と、第５行目の「#relation」と、第６行目の「#set_level」と、第７行目の「#matrix」とから構成され、これらの定義ファイルは、各行の第１列目に配置する。これらの項目は、図３と同じである。
【００４２】
ヘッダ情報の第３行目の「#table_name」では、第８行目以降のデータによって作成するデータベースのテーブル名を定義する。ここでは、第３行第２，３，４列に「table1」と記載して、「table1」というテーブルを生成することを定義している。
【００４３】
ヘッダ情報の第４行目の「#field_name」では、テーブル内のフィールド名を定義する。ここでは、第２，３，４列に記載されているデータは、名称（name）であることを示し、「内部ユニット」，「ＣＰＵ」，「Ｐ３ １．８Ｇ」というデータが名称であることを示している。
【００４４】
ヘッダ情報の第５行目の「#relation」は、左隣の列のデータとの関係を示す属性を示している。すなわち、第５行第２列（５Ｂ）は、「child」と記載することにより、第２列は「子」であることを示している。また、第５行第３列（５Ｃ），同行第４列（５Ｄ）も、左隣の列「子」であることを示している。
【００４５】
ヘッダ情報の第６行目の「#set_level」は、親子関係の階層レベルを示している。図３に示したように、「親」の階層レベルを「１」とした時、この親に対する、各「子」の階層レベルが示される。すなわち、第２列は、階層レベル「４」であり、「親」の３階層下に並ぶデータであることが示される。また、第４列は、階層レベル「５」であり、「親」の４階層下に並ぶデータであることが示される。また、第６列は、階層レベル「６」であり、「親」の５階層下に並ぶデータであることが示される。
【００４６】
ヘッダ情報の第７行目の「matrix」は、後述するオプションカテゴライズ用のマトリックスデータがあることを示している。
【００４７】
以上のようにして、親子関係生成処理により、第３〜７行の親子関係生成処理用ヘッダ情報により、親子関係が生成される。
【００４８】
さらに、オプションカテゴライズ用生成処理では、まず、第１，２行目が、カテゴライズ生成処理用のヘッダ情報として付加される。
【００４９】
カテゴライズ生成処理用のヘッダ情報は、第１行目の第５列目（１Ｅ）の「#table_name」と、同行第６列目（１Ｆ）の「#field_name」と、同行第７列目（１Ｇ）の「#relation」と、同行第８列目（１Ｈ）の「#set_level」と、同行第９列目（１Ｉ）の「#matrix」とから構成される。
【００５０】
カテゴライズ生成処理用のヘッダ情報の「#table_name」では、第２行目の第５列目のデータによって作成するデータベースのテーブル名を定義する。ここでは、第２行第５列に「table1」と記載して、「table1」というテーブルを生成することを定義している。このテーブルは、図３に示した第１のシートデータによって作成されるテーブルと同じテーブルである。
【００５１】
ヘッダ情報の「#field_name」では、テーブル内のフィールド名を定義する。ここでは、第２行第１０，１１列（２Ｊ，２Ｋ）に記載されているデータは、名称（name）であることを示し、「Ａ４モデル１」，「Ａ４モデル２」というデータが名称であることを示している。
【００５２】
ヘッダ情報の「#relation」は、第２行のデータが親子関係の「親」であるか、「子」であるかと、前列とペアのデータかどうかを示している。すなわち、第２行第６列（２Ｆ）は、「child」と記載することにより、「子」であることを示している。
【００５３】
ヘッダ情報の「#set_level」は、親子関係の階層レベルを示している。図３に示したように、「親」の階層レベルを「１」とした時、この親に対する、各「子」の階層レベルが示される。すなわち、第２行は、階層レベル「３」であり、「親」の２階層下に並ぶデータであることが示される。この階層レベルは、図３に示した階層レベル「３」のデータと同じものである。
【００５４】
さらに、階層レベル「３」と階層レベル「６」の間のオプションカテゴライズ用が、マトリックスの交点に、符号（「０」，「１」，「２」，「空欄」）によって付記される。例えば、階層レベル「３」の「Ａ４モデル１」と階層レベル「６」の「Ｐ３１．８ＧＨｚ」との交点（８Ｊ）には、「２」と付記され、階層レベル「３」の「Ａ４モデル１」と階層レベル「６」の「Ｐ３２．０ＧＨｚ」との交点には、「０」（９Ｊ）と付記される。
【００５５】
ここで、符号「０」は「組合せ不可」を示し、符号「１」は「標準」を示し、符号「２」は「必須」を示し、符号「空欄」は「組合せ可」を示している。すなわち、階層レベル「３」の「Ａ４モデル１」に対しては、階層レベル「６」の「Ｐ３１．８ＧＨｚ」のＣＰＵが「必須」の組合せとされ、階層レベル「３」の「Ａ４モデル１」に対しては、階層レベル「６」の「Ｐ３２．０ＧＨｚ」のＣＰＵは「組合せ不可」とされる。同様にして、階層レベル「３」の「Ａ４モデル１」に対しては、階層レベル「６」の「５１２ＭＢ」のメモリが「標準」（１０Ｊ）の組合せとされ、階層レベル「３」の「Ａ４モデル１」に対しては、階層レベル「６」の「１０２４ＭＢ」のメモリは「組合せ可」（１１Ｊ）とされる。
【００５６】
このように、マトリックスの交点に、両者の組合せの可能性に関する情報（オプションカテゴライズ用）を付記することで、２つのデータの組合せが可能であるか、標準の組合せであるか、組合せが不可であるか、必須の組合せであるかなどの組合せ情報を持たせることができる。
【００５７】
以上のようにして、オプションカテゴライズ用生成処理により、第３〜７行の親子関係生成処理用ヘッダ情報、及び２つのデータのマトリックスの交点の情報により、オプションカテゴライズ用情報が生成される。
【００５８】
次に、図２のステップ７０において、データベース作成システム１０は、オプションカテゴライズ用の付加されたデータのカテゴライズ関係を確認し、この相間関係が確認されると、データベース２０に登録するデータに変換し、ステップｓ９０において、データベース２０に登録する。
【００５９】
ここで、図６を用いて、図４で示したオプションカテゴライズ用を付加されたデータの親子関係と、データベース２０に登録されるデータ構成について説明する。  
図６は、本発明の一実施形態によるデータベース作成システムのオプションカテゴライズ用確認処理及び登録処理によって得られたデータの一例の説明図である。なお、図６（Ａ）は親子関係図を示し、図６（Ｂ）はデータベースに登録されるテーブル情報を示している。
【００６０】
オプションカテゴライズ用確認処理では、データベース作成システム１０は、図５に示した親子関係の属性ヘッダをベースにして、図６（Ａ）に示すように、ツリー構造の親子関係図が成立するか否かから親子関係が正常に付与されているか否かを確認する。
【００６１】
親子関係が確認されると、データベース作成システム１０は、図５に示すデータを用いて、図６（Ｂ）に示すテーブル情報を作成し、データベース２０に登録する。図６（Ｂ）に示すように、データベース２０に登録されるテーブル情報は、「ID」と、「name」と、「level」と、「Parent_id」から構成されている。「ID」は各データを識別するためのユニークな番号等から構成され、例えば、図４（Ｂ）に示すように、「１」，「２」，「３」の連続した番号である。「name」は、図３に示された「name」の名称である。各名称は、図３，図５をベースに、例えば、「ノート型」，「Ａ４サイズ」，「Ａ４モデル１」，「Ａ４モデル２」，「内部ユニット」，「外部ユニット」，「ＣＰＵ」，「メモリ」などである。「level」は、図３に示された「#set_level」の階層が示される。例えば、「ノート型」は階層「１」，「Ａ４サイズ」は階層「２」，「Ａ４モデル１」は「階層３」というようになる。「Parent_id」は、親子関係の親の「ID」が記載されている。「Ａ４サイズ」の親は、「ノート型」であるため、「ノート型」の「ID」である「１」が付されている。
【００６２】
さらに、オプションカテゴライズ用情報の関係としては、「name」は、図３に示された「name」の名称である。各名称は、図５をベースに、例えば、「内部ユニット」，「外部ユニット」，「ＣＰＵ」，「メモリ」などである。「level」は、図３に示された「#set_level」の階層が示される。例えば、「内部ユニット」や「外部ユニット」は階層「４」，「ＣＰＵ」，「メモリ」は階層「５」，「P3 1.8G」は「階層６」というようになる。「Parenet_id」は、親子関係の親の「ID」が記載されている。「内部ユニット」の親は、「Ａ４モデル１」，「Ａ４モデル２」であるため、「Ａ４モデル１」，「Ａ４モデル２」の「ID」である「４」，「５」が付されている。
【００６３】
次に、図２及び図７を用いて、図２のステップｓ５０のオプション間ルール生成処理の内容について説明する。  
図７は、本発明の一実施形態によるデータベース作成システムのオプション間ルール生成処理によって得られたデータの一例の説明図である。
【００６４】
図２のステップｓ５０では、データベース作成システム１０は、データベース作成システム１０に読み込まれるシート形式データＤ１に対して、オプション間ルールを施したデータを生成する。オプション間ルールとは、データ間の相対関係の一つであり、データ相互間において「互換性」ルールとか、「インクルード」ルールとかの、データ間のルールである。ここで、「互換性」ルールとは、排他制御により、複数のデータ間で付けられるとか、付けられないとかを示すルールである。例えば、データＡで示される部品Ａには、データＢで示される部品Ｂが付けられるとか、付けられないとかを示すものである。「インクルード」ルールとは、あるデータＡ（例えば、部品Ａ）に別のデータ（例えば、部品Ｂ）を取り付けると、その他のデータ（例えば、部品Ｃ）も自動的に取り付けるというルールである。
【００６５】
図７に示す表形式のデータにおいて、第７行目以降であって、第２列は、データベース作成システム１０によって読み込まれたシート形式データＤ１の第３番目のシートデータである。この例では、図３に示した第１のシートデータ，図５に示した第２のシートデータに加えて、図７に示した第３のシートデータが存在する。そして、図２のステップｓ２０のシート毎分割処理では、図３，図５，図７のデータを含むシート形式データＤ１をそれぞれ図３，図５及び図７の３つのシートに分割する。第１のシートデータに対しては、図３にて説明したように、親子関係が生成される。また、第２のシートデータに対しては、図５にて説明したように、親子関係生成処理とオプションカテゴライズ生成処理が施される。
【００６６】
さらに、図７に示したデータに対しては、オプション間ルール生成処理とが施される。
【００６７】
最初に、データベース作成システム１０によって読み込まれたシート形式データＤ１の第３番目のシートデータの内容について説明する。ここでは、同じくノートパソコンの例を示している。第７〜１０行の第２列（７Ｂ，８Ｂ，９Ｂ，１０Ｂ）の例では、オプション間ルールが適用されるパーツとして、「５１２ＭＢ」，「１０１２ＭＢ」のメモリや、「プリンタ」，「ケーブル」のプリンタ部品があることを示している。
【００６８】
このような表形式のデータに対して、データベース作成システム１０は、第３〜６行目に、各列の属性を示すヘッダ情報を付加する。
【００６９】
ヘッダ情報は、第３行目の「#sheet_name」と、第４行目の「#table_name」と、第５行目の「#field_name」と、第６行目の「#matrix」とから構成され、これらの定義ファイルは、各行の第１列目に配置する。
【００７０】
ヘッダ情報の第３行目の「#sheet_name」は、図７に示したオプション間ルールを適用する範囲（カテゴリー設定シート）を示すものである。この例では、カテゴリー設定シートは図５であり、このシート名は「A4Note」である。従って、図７に示したルールの適用範囲は「A4モデル１」、「A4モデル２」となる。
【００７１】
ヘッダ情報の第４行目の「#table_name」では、テーブル内のテーブル名を定義する。ここでは、第２列に記載されているデータは、「option」であり、「option」というテーブルを生成することを定義している。
【００７２】
ヘッダ情報の第５行目の「#field_name」では、テーブル内のフィールド名を定義する。ここでは、第５行第２列に記載されているデータは、オプション名称（opt_name）であることを示し、第７行目以降の「５１２ＭＢ」，「１０１２ＭＢ」，「プリンタ」，「ケーブル」というデータがオプション名称であることを示している。
【００７３】
ヘッダ情報の第６行目の「matrix」は、後述するオプション間ルールのマトリックスデータがあることを示している。
【００７４】
さらに、オプション間ルール生成処理では、まず、第１，２行目が、オプション間ルール生成処理用のヘッダ情報として付加される。
【００７５】
オプション間ルール生成処理用のヘッダ情報は、第１行目の第３列目（１Ｃ）の「#table_name」と、同行第４行目（１Ｄ）の「#field_name」と、同列第５行目（１Ｅ）の「#matrix」とから構成される。
【００７６】
ここで、図７に示すテーブルの第４行２列（４Ｂ）と第２行３列（２Ｃ）は同じものであり、第５行２列（５Ｂ）と第２行４列（２Ｄ）は同じものであり、第６行２列（６Ｂ）と第２行５列（２Ｅ）は同じものであり、第７行２列（７Ｂ）と第２行６列（２Ｆ）は同じものであり、第８行２列（８Ｂ）と第２行７列（２Ｇ）は同じものであり、第９行２列（９Ｂ）と第２行８列（２Ｈ）は同じものであり、第１０行２列（１０Ｂ）と第２行９列（２Ｉ）は同じものである。すなわち、第２列の第７〜１０行と、第２行の第６〜９行によって、同じデータ同士組合せに対するマトリックスが形成されている。
【００７７】
そして、これらのデータに対するオプション間ルールが 、マトリックスの交点に、符号（「１」，「２」，「空欄」）によって付記される。例えば、「５１２ＭＢ」のメモリと、「１０１２ＭＢ」のメモリとの交点（７Ｇ）には、「１」と付記され、「ケーブル」に対する「プリンタ」の交点（１０Ｈ）には、「２」と付記される。
【００７８】
ここで、符号「１」は、前述した「互換性」ルールを示し、符号「２」は、前述した「インクルード」ルールを示し、符号「空欄」は「ルールなし」を示している。すなわち、「５１２ＭＢ」のメモリと、「１０１２ＭＢ」のメモリとは、「互換性」があり、「５１２ＭＢ」のメモリを付けた場合には、「１０１２ＭＢ」のメモリは付けられないことを示している。また、「ケーブル」に対して、「プリンタ」は「インクルード」であり、「ケーブル」を取り付けるには、「プリンタ」も一緒に取り付ける必要があることを示している。
【００７９】
このように、マトリックスの交点に、両者の組合せ時のルール（オプション間ルール）を付記することで、２つのデータの互換性ルールやインクルードルールの情報を持たせることができる。
【００８０】
以上のようにして、オプション間ルール生成処理により、第３〜６行のヘッダ情報，第１〜２行のヘッダ情報、及び２つのデータのマトリックスの交点の情報により、オプション間ルール情報が生成される。
【００８１】
次に、図２のステップ８０において、データベース作成システム１０は、オプション間ルールの付加されたデータのオプション間ルール関係を確認し、この相間関係が確認されると、データベース２０に登録するデータに変換し、ステップｓ９０において、データベース２０に登録する。
【００８２】
ここで、図８を用いて、図４で示したオプション間ルールを付加されたデータの関係と、データベース２０に登録されるデータ構成について説明する。  
図８は、本発明の一実施形態によるデータベース作成システムのオプション間ルール確認処理及び登録処理によって得られたデータの一例の説明図である。なお、図８（Ａ）はルールの関係図を示し、図８（Ｂ）はデータベースに登録されるテーブル情報を示している。
【００８３】
オプション間ルール確認処理では、データベース作成システム１０は、図７に示した属性ヘッダをベースにして、図８（Ａ）に示すように、ツリー構造の関係図が成立するか否かからルール関係が正常に付与されているか否かを確認する。
【００８４】
ルール関係が確認されると、データベース作成システム１０は、図７に示すデータを用いて、図７のマトリクスから符号が付けられている箇所を抽出して、図８（Ｂ）に示すようなテーブルを作成する。次に、データベース作成システム１０は、図８（Ｂ）のテーブルから、図８（Ｃ）に示すテーブル情報を作成し、データベース２０に登録する。図８（Ｃ）のテーブルは、図８（Ｂ）のテーブルにおいて、縦方向オプション名から「table1」に記述した「ID」を抽出し、図８（Ｃ）の「ID_x」に設定し、また、横方向のオプション名からも同様に「ID」を抽出し、図８（Ｃ）の「ID_y」に設定する。そして、抽出した符号は、「Rule_id」に設定する。
【００８５】
以上説明したように、表計算ソフト等によって生成された表形式のデータを用いることで、多数のデータ入力が容易になる。
【００８６】
データ間に親子関係を有する場合には、表形式のデータに、親子関係を示す階層レベルのヘッダ情報を定義することで、容易に親子関係を定義することができる。そして、この親子関係を示す階層レベルを用いて、データベース用のデータを生成することができる。したがって、データベースの構成が変更になった場合でも、再度表形式のデータを並べ替えることが不要であり、データベースの構成の変更を容易に行うことができる。
【００８７】
また、２つのデータ間の組合せ関係（組合せの可否）をオプションカテゴライズ用のヘッダ情報を追加して、２つのデータ間のマトリックスの交点に組合せ関係を定義することで、組合せ関係を有するデータについても、データベース用のデータを容易に生成することができる。
【００８８】
さらに、２つのデータであるオプション間の互換性やインクルードなどのルールを、２つのデータ間のマトリックスの交点にルールを定義することで、ルールのあるデータについても、データベース用のデータを容易に生成することができる。
【図面の簡単な説明】
【００８９】
【図１】本発明の一実施形態によるデータベース作成システムの構成を示すシステムブロック図である。
【図２】本発明の一実施形態によるデータベース作成システムの処理内容を示すフローチャートである。
【図３】本発明の一実施形態によるデータベース作成システムのデータ読込処理及び親子関係生成処理によって得られたデータの一例の説明図である。
【図４】本発明の一実施形態によるデータベース作成システムの親子関係確認処理及び登録処理によって得られたデータの一例の説明図である。なお、図４
【図５】本発明の一実施形態によるデータベース作成システムのオプションカテゴライズ生成処理によって得られたデータの一例の説明図である。
【図６】本発明の一実施形態によるデータベース作成システムのオプションカテゴライズ用確認処理及び登録処理によって得られたデータの一例の説明図である。
【図７】本発明の一実施形態によるデータベース作成システムのオプション間ルール生成処理によって得られたデータの一例の説明図である。
【図８】本発明の一実施形態によるデータベース作成システムのオプション間ルール確認処理及び登録処理によって得られたデータの一例の説明図である。
【符号の説明】
【００９０】
１０…データベース作成システム
２０…データベース
３０…Ｗｅｂ端末装置
【図１】
2006276931.tif 000003
【図２】
2006276931.tif 000004
【図３】
2006276931.tif 000005
【図４】
2006276931.tif 000006
【図５】
2006276931.tif 000007
【図６】
2006276931.tif 000008
【図７】
2006276931.tif 000009
【図８】
2006276931.tif 000010