JPH09259018A - データエントリ装置及びデータエントリ方法 - Google Patents
データエントリ装置及びデータエントリ方法Info
- Publication number
- JPH09259018A JPH09259018A JP8068487A JP6848796A JPH09259018A JP H09259018 A JPH09259018 A JP H09259018A JP 8068487 A JP8068487 A JP 8068487A JP 6848796 A JP6848796 A JP 6848796A JP H09259018 A JPH09259018 A JP H09259018A
- Authority
- JP
- Japan
- Prior art keywords
- data
- constraint
- database
- updated
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】
【課題】 本発明は、柔軟な処理が可能でかつ保守工程
数の少ないデータエントリ装置及びデータエントリ方法
を提供することを目的とする。 【解決手段】 データベースのためのデータエントリ装
置は、データを保持するデータベース手段と、データの
整合性を宣言的に定義した記述を保持する制約記述保持
手段と、データベースから指定されたデータを取り出す
読み出し手段と、指定されたデータの一部を更新して、
整合性を満足する更新されたデータを記述に基づいて生
成する制約再充足手段と、更新されたデータをデータベ
ース手段に書き込む書き込み手段を含むことを特徴とす
る。
数の少ないデータエントリ装置及びデータエントリ方法
を提供することを目的とする。 【解決手段】 データベースのためのデータエントリ装
置は、データを保持するデータベース手段と、データの
整合性を宣言的に定義した記述を保持する制約記述保持
手段と、データベースから指定されたデータを取り出す
読み出し手段と、指定されたデータの一部を更新して、
整合性を満足する更新されたデータを記述に基づいて生
成する制約再充足手段と、更新されたデータをデータベ
ース手段に書き込む書き込み手段を含むことを特徴とす
る。
Description
【0001】
【発明の属する技術分野】本発明はデータベースシステ
ムに関し、詳しくはデータベースに対して値を登録又は
更新するデータエントリシステムに関する。
ムに関し、詳しくはデータベースに対して値を登録又は
更新するデータエントリシステムに関する。
【0002】
【従来の技術】データエントリシステムは、グラフィッ
クユーザインターフェース等のインターフェースを用い
てユーザからデータ値を取得しデータベースに投入する
システムであり、広く利用されている。この種のシステ
ムの構築に於ては、従来、C言語等の手続的なプログラ
ミング手法が利用されるのが一般である。またシステム
の設計にあたっては、通常、構造化分析等のデータの流
れに分析の視点を絞った分析手法が利用される。
クユーザインターフェース等のインターフェースを用い
てユーザからデータ値を取得しデータベースに投入する
システムであり、広く利用されている。この種のシステ
ムの構築に於ては、従来、C言語等の手続的なプログラ
ミング手法が利用されるのが一般である。またシステム
の設計にあたっては、通常、構造化分析等のデータの流
れに分析の視点を絞った分析手法が利用される。
【0003】例えばワークフロー分析や構造化分析等の
データの流れに着目した分析手法は、オフィス用システ
ムの構築には不可欠なものとなっている。これらのフロ
ーに着目した分析手法を用いれば、オフィス業務に関す
る処理を自然な形でC言語等の手続的なプログラムに表
現することが出来る。
データの流れに着目した分析手法は、オフィス用システ
ムの構築には不可欠なものとなっている。これらのフロ
ーに着目した分析手法を用いれば、オフィス業務に関す
る処理を自然な形でC言語等の手続的なプログラムに表
現することが出来る。
【0004】
【発明が解決しようとする課題】しかしながらC言語や
4GL等の手続的なプログラム言語を用いたシステム構
築手法に、一定の限界が存在することは確かである。従
来技術の手続的なプログラム言語によるデータエントリ
システムに於ては、具体的には以下の様な課題が存在す
る。
4GL等の手続的なプログラム言語を用いたシステム構
築手法に、一定の限界が存在することは確かである。従
来技術の手続的なプログラム言語によるデータエントリ
システムに於ては、具体的には以下の様な課題が存在す
る。
【0005】(1)ユーザのデータ投入シナリオが予め
固定であり、柔軟なデータ投入が出来ない。例えば、構
築できるユーザインターフェースは、処理を常に特定の
画面から始めて次々と下位の画面に移っていく「多段構
成」を有したものに限られる。従って、ユーザインター
フェースの利便性に問題がある。
固定であり、柔軟なデータ投入が出来ない。例えば、構
築できるユーザインターフェースは、処理を常に特定の
画面から始めて次々と下位の画面に移っていく「多段構
成」を有したものに限られる。従って、ユーザインター
フェースの利便性に問題がある。
【0006】(2)データ投入シナリオが固定であるの
で、ユーザが一旦投入したデータを再度修正する場合に
対処するためのルーチンを、データ投入シナリオとは別
個に作成する必要が生じる。このデータ修正用ルーチン
は、データ投入シナリオが固定ではなく柔軟であるなら
ば本来不要なものであり、システム作成のコストを増加
させることにつながる。更には、保守時の工程数増加の
原因ともなる。
で、ユーザが一旦投入したデータを再度修正する場合に
対処するためのルーチンを、データ投入シナリオとは別
個に作成する必要が生じる。このデータ修正用ルーチン
は、データ投入シナリオが固定ではなく柔軟であるなら
ば本来不要なものであり、システム作成のコストを増加
させることにつながる。更には、保守時の工程数増加の
原因ともなる。
【0007】(3)手続き的に記述されたオフィス用シ
ステムのプログラムフローと、通常は宣言的な条文等と
して記述されている業務規定との間で、セマンティック
ギャップが大きい。例えば、単身赴任届け作成に関する
規定は、社員の住所と配偶者の住所とが同一であれば赴
任状況を同伴とし、社員の住所と配偶者の住所とが異な
っていれば赴任状況を単身とすることを文書形式で規定
している。これに対して手続的なプログラムは、この規
定を以下のように表現する。
ステムのプログラムフローと、通常は宣言的な条文等と
して記述されている業務規定との間で、セマンティック
ギャップが大きい。例えば、単身赴任届け作成に関する
規定は、社員の住所と配偶者の住所とが同一であれば赴
任状況を同伴とし、社員の住所と配偶者の住所とが異な
っていれば赴任状況を単身とすることを文書形式で規定
している。これに対して手続的なプログラムは、この規
定を以下のように表現する。
【0008】 {手続き1:社員の住所を取得 → A 配偶者の住所を取得 → B if A=B then “同伴” → C else “単身” → C} このように手続き的なプログラムフローと業務規定の宣
言的な記述との差が大きいため、業務規定が変更となっ
た場合、プログラム修正が面倒であり保守コストが高く
つく。しかも実際の事務処理においては、業務規定の変
更は頻繁に行われる。
言的な記述との差が大きいため、業務規定が変更となっ
た場合、プログラム修正が面倒であり保守コストが高く
つく。しかも実際の事務処理においては、業務規定の変
更は頻繁に行われる。
【0009】(4)データ投入シナリオを作成する際
に、全ての例外的な処理ケースを網羅することは困難で
ある。従って予期されなかった例外的な状況が生じた場
合、処理を行うことが出来ずに、その状況に対処できな
いことになる。従って本発明は、柔軟な処理が可能でか
つ保守工程数の少ないデータエントリシステムを実現す
ることを目的とする。
に、全ての例外的な処理ケースを網羅することは困難で
ある。従って予期されなかった例外的な状況が生じた場
合、処理を行うことが出来ずに、その状況に対処できな
いことになる。従って本発明は、柔軟な処理が可能でか
つ保守工程数の少ないデータエントリシステムを実現す
ることを目的とする。
【0010】
【課題を解決するための手段】請求項1の発明に於て
は、データベースのためのデータエントリ装置は、デー
タを保持するデータベース手段と、該データの整合性を
宣言的に定義した記述を保持する制約記述保持手段と、
該データベースから指定されたデータを取り出す読み出
し手段と、該指定されたデータの一部を更新して、該整
合性を満足する更新されたデータを該記述に基づいて生
成する制約再充足手段と、該更新されたデータを該デー
タベース手段に書き込む書き込み手段を含むことを特徴
とする。
は、データベースのためのデータエントリ装置は、デー
タを保持するデータベース手段と、該データの整合性を
宣言的に定義した記述を保持する制約記述保持手段と、
該データベースから指定されたデータを取り出す読み出
し手段と、該指定されたデータの一部を更新して、該整
合性を満足する更新されたデータを該記述に基づいて生
成する制約再充足手段と、該更新されたデータを該デー
タベース手段に書き込む書き込み手段を含むことを特徴
とする。
【0011】上記発明のデータエントリ装置に於ては、
宣言的に定義された記述を基にして、データの整合性を
満足するようにデータを更新する。従って、宣言的に記
述された業務記述とデータエントリ装置で用いられる記
述とのセマンティックギャップが小さく、システムの構
築及び保守の工数が削減できる。
宣言的に定義された記述を基にして、データの整合性を
満足するようにデータを更新する。従って、宣言的に記
述された業務記述とデータエントリ装置で用いられる記
述とのセマンティックギャップが小さく、システムの構
築及び保守の工数が削減できる。
【0012】請求項2の発明に於ては、請求項1記載の
装置に於て、前記制約再充足手段は、ユーザ入力により
前記指定されたデータを更新してユーザ更新されたデー
タを生成し、該ユーザ更新されたデータが前記整合性を
満足しない場合に該ユーザ更新されたデータの一部を修
正して前記更新されたデータを生成することを特徴とす
る。
装置に於て、前記制約再充足手段は、ユーザ入力により
前記指定されたデータを更新してユーザ更新されたデー
タを生成し、該ユーザ更新されたデータが前記整合性を
満足しない場合に該ユーザ更新されたデータの一部を修
正して前記更新されたデータを生成することを特徴とす
る。
【0013】上記発明のデータエントリ装置に於ては、
ユーザ入力によってユーザ更新されたデータに対して、
宣言的に定義された記述に基づいて整合性をチェックし
てユーザ更新されたデータを修正する。従って、手続き
的な記述に基づくデータエントリ装置と異なって、ユー
ザ入力の順序に一切の制約なくチェックを実行すること
が可能となり、完全にユーザ主導のインタラクティブな
データエントリシステムが実現できる。
ユーザ入力によってユーザ更新されたデータに対して、
宣言的に定義された記述に基づいて整合性をチェックし
てユーザ更新されたデータを修正する。従って、手続き
的な記述に基づくデータエントリ装置と異なって、ユー
ザ入力の順序に一切の制約なくチェックを実行すること
が可能となり、完全にユーザ主導のインタラクティブな
データエントリシステムが実現できる。
【0014】請求項3の発明に於ては、請求項1又は2
記載の装置に於て、前記制約再充足手段は、該指定され
たデータのデータ項目の各々に対して該データ項目が確
定か未確定かを示す確定情報を保持し、ユーザ入力され
たデータ項目を確定として確定の該データ項目から未確
定の該データ項目に値を伝播させることを特徴とする。
記載の装置に於て、前記制約再充足手段は、該指定され
たデータのデータ項目の各々に対して該データ項目が確
定か未確定かを示す確定情報を保持し、ユーザ入力され
たデータ項目を確定として確定の該データ項目から未確
定の該データ項目に値を伝播させることを特徴とする。
【0015】上記発明のデータエントリ装置に於ては、
ユーザ入力された項目から他の項目へと値を伝播させて
いくので、整合性を満足する更新されたデータを自動的
に生成することができる。請求項4の発明に於ては、請
求項1乃至3いずれか一項記載の装置に於て、前記デー
タベース手段はリレーショナルデータベース形式で前記
データを保持し、前記制約再充足手段はオブジェクト形
式で前記指定されたデータ及び更新されたデータを取り
扱うことを特徴とする。
ユーザ入力された項目から他の項目へと値を伝播させて
いくので、整合性を満足する更新されたデータを自動的
に生成することができる。請求項4の発明に於ては、請
求項1乃至3いずれか一項記載の装置に於て、前記デー
タベース手段はリレーショナルデータベース形式で前記
データを保持し、前記制約再充足手段はオブジェクト形
式で前記指定されたデータ及び更新されたデータを取り
扱うことを特徴とする。
【0016】上記発明のデータエントリ装置に於ては、
既存のリレーショナルデータベースシステムのデータエ
ントリシステムとして本発明を用いることができる。請
求項5の発明に於ては、請求項4記載の装置に於て、前
記読み出し手段は前記指定されたデータをリレーショナ
ルデータベース形式からオブジェクト形式に変換し、前
記書き込み手段は前記更新されたデータをオブジェクト
形式からリレーショナルデータベース形式に変換するこ
とを特徴とする。
既存のリレーショナルデータベースシステムのデータエ
ントリシステムとして本発明を用いることができる。請
求項5の発明に於ては、請求項4記載の装置に於て、前
記読み出し手段は前記指定されたデータをリレーショナ
ルデータベース形式からオブジェクト形式に変換し、前
記書き込み手段は前記更新されたデータをオブジェクト
形式からリレーショナルデータベース形式に変換するこ
とを特徴とする。
【0017】上記発明のデータエントリ装置に於ては、
既存のリレーショナルデータベースシステムのデータエ
ントリシステムとして本発明を用いることができる。請
求項6の発明に於ては、請求項1乃至5記載の装置に於
て、前記指定されたデータは、データが登録されていな
い空データを含むことを特徴とする。
既存のリレーショナルデータベースシステムのデータエ
ントリシステムとして本発明を用いることができる。請
求項6の発明に於ては、請求項1乃至5記載の装置に於
て、前記指定されたデータは、データが登録されていな
い空データを含むことを特徴とする。
【0018】上記発明のデータエントリ装置に於ては、
データベースから読み出される指定されたデータは、空
データであってもよいので、既存データの更新だけでは
なく、新規データの登録にも本発明を用いることができ
る。従って、手続き的な記述に基づくデータエントリ装
置と異なって、データ登録とデータ更新とに別々のルー
チンを用意する必要がなく、システムの構築及び保守の
工数が削減できる。
データベースから読み出される指定されたデータは、空
データであってもよいので、既存データの更新だけでは
なく、新規データの登録にも本発明を用いることができ
る。従って、手続き的な記述に基づくデータエントリ装
置と異なって、データ登録とデータ更新とに別々のルー
チンを用意する必要がなく、システムの構築及び保守の
工数が削減できる。
【0019】請求項7の発明に於ては、データベースの
ためのデータエントリ方法は、a)データベースから指
定されたデータを取り出し、b)該指定されたデータの
一部を更新して、該指定されたデータの整合性を宣言的
に定義する制約に基づいて、該整合性を満足する更新さ
れたデータを生成し、c)該更新されたデータをデータ
ベースに書き込む各段階を含むことを特徴とする。
ためのデータエントリ方法は、a)データベースから指
定されたデータを取り出し、b)該指定されたデータの
一部を更新して、該指定されたデータの整合性を宣言的
に定義する制約に基づいて、該整合性を満足する更新さ
れたデータを生成し、c)該更新されたデータをデータ
ベースに書き込む各段階を含むことを特徴とする。
【0020】上記発明のデータエントリ方法に於ては、
宣言的に定義された記述を基にして、データの整合性を
満足するようにデータを更新する。従って、宣言的に記
述された業務記述とデータエントリ方法で用いられる記
述とのセマンティックギャップが小さく、システムの構
築及び保守の工数が削減できる。
宣言的に定義された記述を基にして、データの整合性を
満足するようにデータを更新する。従って、宣言的に記
述された業務記述とデータエントリ方法で用いられる記
述とのセマンティックギャップが小さく、システムの構
築及び保守の工数が削減できる。
【0021】請求項8の発明に於ては、請求項7記載の
方法に於て、前記段階b)は、b1)ユーザ入力により
前記指定されたデータを更新してユーザ更新されたデー
タを生成し、b2)該ユーザ更新されたデータが前記整
合性を満足しない場合に、該ユーザ更新されたデータの
一部を修正して、前記整合性を満足する前記更新された
データを前記制約に基づいて生成する各段階を含むこと
を特徴とする。
方法に於て、前記段階b)は、b1)ユーザ入力により
前記指定されたデータを更新してユーザ更新されたデー
タを生成し、b2)該ユーザ更新されたデータが前記整
合性を満足しない場合に、該ユーザ更新されたデータの
一部を修正して、前記整合性を満足する前記更新された
データを前記制約に基づいて生成する各段階を含むこと
を特徴とする。
【0022】上記発明のデータエントリ方法に於ては、
ユーザ入力によってユーザ更新されたデータに対して、
宣言的に定義された記述に基づいて整合性をチェックし
てユーザ更新されたデータを修正する。従って、手続き
的な記述に基づくデータエントリ方法と異なって、ユー
ザ入力の順序に一切の制約なくチェックを実行すること
が可能となり、完全にユーザ主導のインタラクティブな
データエントリシステムが実現できる。
ユーザ入力によってユーザ更新されたデータに対して、
宣言的に定義された記述に基づいて整合性をチェックし
てユーザ更新されたデータを修正する。従って、手続き
的な記述に基づくデータエントリ方法と異なって、ユー
ザ入力の順序に一切の制約なくチェックを実行すること
が可能となり、完全にユーザ主導のインタラクティブな
データエントリシステムが実現できる。
【0023】請求項9の発明に於ては、請求項8記載の
方法に於て、前記段階b2)は、該指定されたデータの
データ項目の各々が確定か未確定かを示す確定情報に基
づいて、ユーザ入力されたデータ項目を確定として確定
の該データ項目から未確定の該データ項目に値を伝播さ
せて前記更新されたデータを生成することを特徴とす
る。
方法に於て、前記段階b2)は、該指定されたデータの
データ項目の各々が確定か未確定かを示す確定情報に基
づいて、ユーザ入力されたデータ項目を確定として確定
の該データ項目から未確定の該データ項目に値を伝播さ
せて前記更新されたデータを生成することを特徴とす
る。
【0024】上記発明のデータエントリ方法に於ては、
ユーザ入力された項目から他の項目へと値を伝播させて
いくので、整合性を満足する更新されたデータを自動的
に生成することができる。請求項10の発明に於ては、
請求項7乃至9いずれか一項記載の方法に於て、前記デ
ータベースはリレーショナルデータベース形式で前記デ
ータを保持し、前記段階b)はオブジェクト形式で前記
指定されたデータ及び更新されたデータを取り扱うこと
を特徴とする。
ユーザ入力された項目から他の項目へと値を伝播させて
いくので、整合性を満足する更新されたデータを自動的
に生成することができる。請求項10の発明に於ては、
請求項7乃至9いずれか一項記載の方法に於て、前記デ
ータベースはリレーショナルデータベース形式で前記デ
ータを保持し、前記段階b)はオブジェクト形式で前記
指定されたデータ及び更新されたデータを取り扱うこと
を特徴とする。
【0025】上記発明のデータエントリ方法に於ては、
既存のリレーショナルデータベースシステムのデータエ
ントリ方法として本発明を用いることができる。請求項
11の発明に於ては、請求項10記載の方法に於て、前
記段階a)は、前記指定されたデータをリレーショナル
データベース形式からオブジェクト形式に変換する段階
を更に含み、前記段階c)は前記更新されたデータをオ
ブジェクト形式からリレーショナルデータベース形式に
変換する段階を更に含むことを特徴とする。
既存のリレーショナルデータベースシステムのデータエ
ントリ方法として本発明を用いることができる。請求項
11の発明に於ては、請求項10記載の方法に於て、前
記段階a)は、前記指定されたデータをリレーショナル
データベース形式からオブジェクト形式に変換する段階
を更に含み、前記段階c)は前記更新されたデータをオ
ブジェクト形式からリレーショナルデータベース形式に
変換する段階を更に含むことを特徴とする。
【0026】上記発明のデータエントリ方法に於ては、
既存のリレーショナルデータベースシステムのデータエ
ントリ方法として本発明を用いることができる。請求項
12の発明に於ては、請求項7乃至11記載の方法に於
て、前記指定されたデータは、データが登録されていな
い空データを含むことを特徴とする。
既存のリレーショナルデータベースシステムのデータエ
ントリ方法として本発明を用いることができる。請求項
12の発明に於ては、請求項7乃至11記載の方法に於
て、前記指定されたデータは、データが登録されていな
い空データを含むことを特徴とする。
【0027】上記発明のデータエントリ方法に於ては、
データベースから読み出される指定されたデータは、空
データであってもよいので、既存データの更新だけでは
なく、新規データの登録にも本発明を用いることができ
る。従って、手続き的な記述に基づくデータエントリ方
法と異なって、データ登録とデータ更新とに別々のルー
チンを用意する必要がなく、システムの構築及び保守の
工数が削減できる。
データベースから読み出される指定されたデータは、空
データであってもよいので、既存データの更新だけでは
なく、新規データの登録にも本発明を用いることができ
る。従って、手続き的な記述に基づくデータエントリ方
法と異なって、データ登録とデータ更新とに別々のルー
チンを用意する必要がなく、システムの構築及び保守の
工数が削減できる。
【0028】
【発明の実施の形態】図1に本発明の実施例の概要を示
す。図1の本発明によるデータエントリシステム1は、
データベースシステム10と、制約プログラミング記述
保持手段11と、タプル読み出し手段12と、制約再充
足手段13と、タプル書き込み手段14とを含む。
す。図1の本発明によるデータエントリシステム1は、
データベースシステム10と、制約プログラミング記述
保持手段11と、タプル読み出し手段12と、制約再充
足手段13と、タプル書き込み手段14とを含む。
【0029】データベースシステム10は、リレーショ
ナルデータベース形式でデータを保持する。制約プログ
ラミング記述保持手段11は、データベースシステム1
0が保持すべきデータの整合性を定義する制約プログラ
ミングを保持する。タプル読み出し手段12は、データ
ベースシステム10から指定されたタプル(以降、更新
前タプルと呼ぶ)を取り出す。制約再充足手段13は、
更新前タプルの一部を修正して、制約プログラミング記
述保持手段11に格納された制約プログラミング記述と
整合したタプル(以降、更新後タプルと呼ぶ)を生成す
る。タプル書き込み手段14は、生成された更新後タプ
ルをデータベースシステム10に書き込む。
ナルデータベース形式でデータを保持する。制約プログ
ラミング記述保持手段11は、データベースシステム1
0が保持すべきデータの整合性を定義する制約プログラ
ミングを保持する。タプル読み出し手段12は、データ
ベースシステム10から指定されたタプル(以降、更新
前タプルと呼ぶ)を取り出す。制約再充足手段13は、
更新前タプルの一部を修正して、制約プログラミング記
述保持手段11に格納された制約プログラミング記述と
整合したタプル(以降、更新後タプルと呼ぶ)を生成す
る。タプル書き込み手段14は、生成された更新後タプ
ルをデータベースシステム10に書き込む。
【0030】本発明に於ては、まず最初に、タプル読み
出し手段12が、データベースシステム10からあるタ
プルを一個取り出す。この場合、このタプルを指定する
何等かのキーが外部から指定されることになる。読み出
されたタプルは、制約プログラミング記述保持手段11
に送られる。後述するように、制約プログラミング記述
保持手段11は、データ間の制約関係を表現する制約プ
ログラミング記述とデータオブジェクトとを保持する機
能を有する。
出し手段12が、データベースシステム10からあるタ
プルを一個取り出す。この場合、このタプルを指定する
何等かのキーが外部から指定されることになる。読み出
されたタプルは、制約プログラミング記述保持手段11
に送られる。後述するように、制約プログラミング記述
保持手段11は、データ間の制約関係を表現する制約プ
ログラミング記述とデータオブジェクトとを保持する機
能を有する。
【0031】制約プログラミング記述は、プログラムに
相当し、処理が行われる過程において固定である。デー
タオブジェクトは、データベースシステム10から読み
出されたタプルを随時変換してデータオブジェクト形式
としたものである。制約再充足手段13は、制約プログ
ラミング記述保持手段11から読み出された制約プログ
ラミング記述及びデータオブジェクトを用いて、データ
オブジェクトが業務知識に整合しているかどうかを調べ
る。ここで、タプル読み出し手段12で読み出したタプ
ルをデータオブジェクト形式に変換した直後のデータオ
ブジェクトは、制約プログラミング記述の制約に違反し
ない。
相当し、処理が行われる過程において固定である。デー
タオブジェクトは、データベースシステム10から読み
出されたタプルを随時変換してデータオブジェクト形式
としたものである。制約再充足手段13は、制約プログ
ラミング記述保持手段11から読み出された制約プログ
ラミング記述及びデータオブジェクトを用いて、データ
オブジェクトが業務知識に整合しているかどうかを調べ
る。ここで、タプル読み出し手段12で読み出したタプ
ルをデータオブジェクト形式に変換した直後のデータオ
ブジェクトは、制約プログラミング記述の制約に違反し
ない。
【0032】制約再充足手段13に於て、テータオブジ
ェクトはまずユーザから取得されたデータにより加工さ
れて、制約プログラミング記述保持手段11に保持され
た制約プログラミング記述と矛盾するデータになる。そ
れに対して制約再充足手段13は、後述する処理によっ
て、制約プログラミング記述保持手段11に保持された
制約プログラミング記述と合致した、しかし元のデータ
オブジェクトとは異なるデータオブジェクトを上記矛盾
するデータから生成する。そしてこの再充足したしかし
当初のデータオブジェクトとは異なるデータオブジェク
トが、タプル書き込み手段14によってリレーショナル
データベース形式に変換され、データベースシステム1
0に書き戻される。
ェクトはまずユーザから取得されたデータにより加工さ
れて、制約プログラミング記述保持手段11に保持され
た制約プログラミング記述と矛盾するデータになる。そ
れに対して制約再充足手段13は、後述する処理によっ
て、制約プログラミング記述保持手段11に保持された
制約プログラミング記述と合致した、しかし元のデータ
オブジェクトとは異なるデータオブジェクトを上記矛盾
するデータから生成する。そしてこの再充足したしかし
当初のデータオブジェクトとは異なるデータオブジェク
トが、タプル書き込み手段14によってリレーショナル
データベース形式に変換され、データベースシステム1
0に書き戻される。
【0033】
【実施例】以下に本発明の実施例を添付の図面を用いて
詳細に説明する。まず本発明の実施例に於ては、リレー
ショナルデータベースを例として用いるものとする。従
って、図1のデータベースシステム10は、リレーショ
ナルデータベース形式のデータベース管理システム(D
BMS)21と、実際の登録されたデータ22から構成
される。具体的な構成は既存のものと同様であり、通常
の技術を有する当業者にとっては容易であるので説明を
省略する。
詳細に説明する。まず本発明の実施例に於ては、リレー
ショナルデータベースを例として用いるものとする。従
って、図1のデータベースシステム10は、リレーショ
ナルデータベース形式のデータベース管理システム(D
BMS)21と、実際の登録されたデータ22から構成
される。具体的な構成は既存のものと同様であり、通常
の技術を有する当業者にとっては容易であるので説明を
省略する。
【0034】タプル読み出し手段12は、データベース
システム10からあるタプルを一個読みだす手段であ
る。従って、DBMS21の機能を利用して、SQL等
のデータベース検索言語に「キー値」を指定することで
達成できる。本発明に於てはタプルの更新にその目的が
あり、指定されたタプルは制約再充足手段13が作成し
た新たなタプルに変更される。従って、データベースシ
ステム10から読み出されたタプルは、データベースシ
ステム10から一旦消去されるべきである。
システム10からあるタプルを一個読みだす手段であ
る。従って、DBMS21の機能を利用して、SQL等
のデータベース検索言語に「キー値」を指定することで
達成できる。本発明に於てはタプルの更新にその目的が
あり、指定されたタプルは制約再充足手段13が作成し
た新たなタプルに変更される。従って、データベースシ
ステム10から読み出されたタプルは、データベースシ
ステム10から一旦消去されるべきである。
【0035】タプルを読みだす際にキーとして何を利用
するかは、応用により異なる。例えば、社員データベー
スが対象であれば、社員コードをキーとして指定すれば
一意に社員データタプルを指定できる。前述したように
タプル読み出し手段12は、データベースのタプルを制
約プログラム記述保持手段11に格納するためのデータ
形式(オブジェクト形式)に変換する必要がある。この
変換は、リレーショナルデータベース形式からフレーム
形式への変換である。
するかは、応用により異なる。例えば、社員データベー
スが対象であれば、社員コードをキーとして指定すれば
一意に社員データタプルを指定できる。前述したように
タプル読み出し手段12は、データベースのタプルを制
約プログラム記述保持手段11に格納するためのデータ
形式(オブジェクト形式)に変換する必要がある。この
変換は、リレーショナルデータベース形式からフレーム
形式への変換である。
【0036】タプル書き込み手段14は、タプル読み出
し手段12と同様にDBMS21の機能を利用して、S
QL等のデータベース検索言語にキー値を指定すること
で更新後タプルを書き込むことが出来る。この際、タプ
ル読み出し手段12において指定されたキー項目値はそ
のまま利用されなければならない。タプル書き込み手段
14は、タプル読み出し手段12と逆に、データオブジ
ェクト形式のデータをタプル形式に変換する。
し手段12と同様にDBMS21の機能を利用して、S
QL等のデータベース検索言語にキー値を指定すること
で更新後タプルを書き込むことが出来る。この際、タプ
ル読み出し手段12において指定されたキー項目値はそ
のまま利用されなければならない。タプル書き込み手段
14は、タプル読み出し手段12と逆に、データオブジ
ェクト形式のデータをタプル形式に変換する。
【0037】制約プログラミング記述保持手段11は、
データ項目相との意味的制約関係を宣言的なプログラム
として制約記述した制約ルールと、フレーム形式のデー
タオブジェクトを保持する。制約プログラミング記述保
持手段11が保持する内容は、データ項目相互の意味的
制約関係を宣言的なプログラム記述に基づいてチェック
できるものならば任意のもので良い。
データ項目相との意味的制約関係を宣言的なプログラム
として制約記述した制約ルールと、フレーム形式のデー
タオブジェクトを保持する。制約プログラミング記述保
持手段11が保持する内容は、データ項目相互の意味的
制約関係を宣言的なプログラム記述に基づいてチェック
できるものならば任意のもので良い。
【0038】発明者は、特開平6−161757及び特
開平6−314198に於て、宣言的な知識のみで応用
システムを実現する制約型問題解決システムを開示して
いる。この制約型問題解決システムに於て用いられる制
約プログラミング手法は、データ項目相互の意味的制約
関係をチェックするものである。特開平6−16175
7は制約プログラミング手法の基本的考え方を開示して
おり、特開平6−314198はユーザが投入するデー
タ項目数を削減する技術を開示している。
開平6−314198に於て、宣言的な知識のみで応用
システムを実現する制約型問題解決システムを開示して
いる。この制約型問題解決システムに於て用いられる制
約プログラミング手法は、データ項目相互の意味的制約
関係をチェックするものである。特開平6−16175
7は制約プログラミング手法の基本的考え方を開示して
おり、特開平6−314198はユーザが投入するデー
タ項目数を削減する技術を開示している。
【0039】この制約プログラミング手法においては、
データ項目相互の意味的制約関係が宣言的なプログラム
として制約記述されており、この制約関係を充足するた
めの方法が与えられる。従って、このような宣言的な制
約記述に基づく制約プログラミング手法をデータエント
リシステムに応用すれば、手続的なプログラム言語を用
いた場合の問題点を解決することが出来る。
データ項目相互の意味的制約関係が宣言的なプログラム
として制約記述されており、この制約関係を充足するた
めの方法が与えられる。従って、このような宣言的な制
約記述に基づく制約プログラミング手法をデータエント
リシステムに応用すれば、手続的なプログラム言語を用
いた場合の問題点を解決することが出来る。
【0040】説明の便宜上、本実施例に於ては、特開平
6−161757に示される基本的な制約プログラミン
グ手法を用いることとする。この制約プログラミング手
法を用いた場合、タプル読み出し手段12によりデータ
ベースシステム10から読み出され制約プログラミング
記述保持手段11に格納されたデータオブジェクトは、
データの確定或いは未確定を示す確定属性を有する。そ
してユーザが入力又は確認したデータ値に「確定」の属
性を与えることにより、「確定」データ値の影響を「未
確定」データ値に伝播させて、制約関係を充足するデー
タオブジェクトを生成する。
6−161757に示される基本的な制約プログラミン
グ手法を用いることとする。この制約プログラミング手
法を用いた場合、タプル読み出し手段12によりデータ
ベースシステム10から読み出され制約プログラミング
記述保持手段11に格納されたデータオブジェクトは、
データの確定或いは未確定を示す確定属性を有する。そ
してユーザが入力又は確認したデータ値に「確定」の属
性を与えることにより、「確定」データ値の影響を「未
確定」データ値に伝播させて、制約関係を充足するデー
タオブジェクトを生成する。
【0041】この従来技術である制約プログラム記述の
例を図2に示す。また処理の対象となる帳票/データベ
ースタプルは図3のようなオブジェクトとして扱う。図
3に示されるように、制約プログラミング記述保持手段
11のワーキングメモリ30は、社員データベース(タ
プル)である社員オブジェクト31、扶養申請書に相当
する扶養申請オブジェクト32、及び単身赴任届けに相
当する単身赴任届けオブジェクト33を含む。また制約
プログラミング記述保持手段11のワーキングメモリ3
0は更に、各オブジェクトの存在の有無を示すオブジェ
クト有無情報34を含む。
例を図2に示す。また処理の対象となる帳票/データベ
ースタプルは図3のようなオブジェクトとして扱う。図
3に示されるように、制約プログラミング記述保持手段
11のワーキングメモリ30は、社員データベース(タ
プル)である社員オブジェクト31、扶養申請書に相当
する扶養申請オブジェクト32、及び単身赴任届けに相
当する単身赴任届けオブジェクト33を含む。また制約
プログラミング記述保持手段11のワーキングメモリ3
0は更に、各オブジェクトの存在の有無を示すオブジェ
クト有無情報34を含む。
【0042】図3では、社員データが登録されていない
状態なので、3つのオブジェクトは何れも生成されてい
ない。しかしそれらの構造は予め定義されており、社員
オブジェクト31は、「住所」、「氏名1」、「続柄
1」、「住所1」、及び「赴任」の5個のスロットを含
み、「NULL」は値が未取得(アンバインド)である
ことを意味している。ここで「住所」は本人の住所、
「氏名1」は配偶者の氏名、「続柄1」は配偶者の続
柄、「住所1」は配偶者の住所、及び「赴任」は本人の
赴任状況を示す。
状態なので、3つのオブジェクトは何れも生成されてい
ない。しかしそれらの構造は予め定義されており、社員
オブジェクト31は、「住所」、「氏名1」、「続柄
1」、「住所1」、及び「赴任」の5個のスロットを含
み、「NULL」は値が未取得(アンバインド)である
ことを意味している。ここで「住所」は本人の住所、
「氏名1」は配偶者の氏名、「続柄1」は配偶者の続
柄、「住所1」は配偶者の住所、及び「赴任」は本人の
赴任状況を示す。
【0043】図2の制約プログラム記述は、図3のオブ
ジェクト間に存在する意味的な制約関係を制約ルールと
して記述したものである。ここで例えば、単身赴任届け
用に規定された制約ルールの一つの纏まりを制約セット
と呼ぶ。図2(A)は単身赴任届け制約セットを示し、
図2(B)は赴任状況制約セットを示す。また図2
(C)は赴任申請制約セットである。ここで制約セット
を構成する個々の要素(図2の横方向の1行)を「制
約」と呼ぶ。各制約中に記載されている“?Y”や“?
X”等は制約変数を表し、制約セット中の各制約毎に独
立した値を持つ。また例えば図2(B)の「社員・赴
任」は、社員オブジェクト31の「赴任」スロットに格
納された値を意味する。
ジェクト間に存在する意味的な制約関係を制約ルールと
して記述したものである。ここで例えば、単身赴任届け
用に規定された制約ルールの一つの纏まりを制約セット
と呼ぶ。図2(A)は単身赴任届け制約セットを示し、
図2(B)は赴任状況制約セットを示す。また図2
(C)は赴任申請制約セットである。ここで制約セット
を構成する個々の要素(図2の横方向の1行)を「制
約」と呼ぶ。各制約中に記載されている“?Y”や“?
X”等は制約変数を表し、制約セット中の各制約毎に独
立した値を持つ。また例えば図2(B)の「社員・赴
任」は、社員オブジェクト31の「赴任」スロットに格
納された値を意味する。
【0044】例えば、図2(B)の「赴任状況制約セッ
ト」は以下のように説明される。(B1)社員オブジェ
クト31が存在し、社員オブジェクト31の「住所」が
“?X”に等しく、社員オブジェクトの「住所1」が
“?Y”に等しく、社員オブジェクトの「赴任」が“単
身”に等しく、「?Xと?Yが等しくない」及び「?Y
が未入力(NULL)でない」が成立する。(B2)社
員オブジェクト31が存在し、社員オブジェクト31の
「住所」が“?X”に等しく、社員オブジェクトの「住
所1」が“?Y”に等しく、社員オブジェクトの「赴
任」が“同伴”に等しく、「?Xと?Yが等しく」及び
「?Yが未入力(NULL)でない」が成立する。(B
3)社員オブジェクト31が存在し、社員オブジェクト
31の「住所」が“?X”に等しく、社員オブジェクト
の「住所1」が“?Y”に等しく、社員オブジェクトの
「赴任」が“同伴”に等しく、「?XがNULLではな
く」及び「?Yが未入力」が成立する。(B4)「社員
オブジェクト31が存在せず」が成立する。以上の4個
の制約中で唯一つの制約のみが真となる状態が、意味的
に正しいデータ状態である。このような赴任状況制約セ
ットは、業務規定上の単身赴任に関する規定を、計算機
で可読な形に変形したものである。
ト」は以下のように説明される。(B1)社員オブジェ
クト31が存在し、社員オブジェクト31の「住所」が
“?X”に等しく、社員オブジェクトの「住所1」が
“?Y”に等しく、社員オブジェクトの「赴任」が“単
身”に等しく、「?Xと?Yが等しくない」及び「?Y
が未入力(NULL)でない」が成立する。(B2)社
員オブジェクト31が存在し、社員オブジェクト31の
「住所」が“?X”に等しく、社員オブジェクトの「住
所1」が“?Y”に等しく、社員オブジェクトの「赴
任」が“同伴”に等しく、「?Xと?Yが等しく」及び
「?Yが未入力(NULL)でない」が成立する。(B
3)社員オブジェクト31が存在し、社員オブジェクト
31の「住所」が“?X”に等しく、社員オブジェクト
の「住所1」が“?Y”に等しく、社員オブジェクトの
「赴任」が“同伴”に等しく、「?XがNULLではな
く」及び「?Yが未入力」が成立する。(B4)「社員
オブジェクト31が存在せず」が成立する。以上の4個
の制約中で唯一つの制約のみが真となる状態が、意味的
に正しいデータ状態である。このような赴任状況制約セ
ットは、業務規定上の単身赴任に関する規定を、計算機
で可読な形に変形したものである。
【0045】ここで、図2の制約セットのままでは、デ
ータ変更の方向を定めることが出来ない点に注意する必
要がある。例えば、社員オブジェクト31が存在し、社
員オブジェクト31の「住所」が“東京都”であり、社
員オブジェクト31の「住所1」が“大阪府”であり、
社員オブジェクト31の「赴任」が“同伴”であったと
する。この場合、図2(B)の制約セット中で唯一つの
制約を真とするためには、どのスロットを修正すべきで
あろうか?「赴任」を“単身”にするのが一つの方法で
ある。また「住所1」を“東京都”に修正してもよい。
このようなデータ伝播方向の決定は、その時の状況(コ
ンテクスト)に依存し、データ値のみからは決まらな
い。図2に示された制約セットは、そのような複数の可
能性をそのまま表現している点に注意すべきである。こ
のような複数の可能性から唯一つの制約を再充足するた
めに、制約再充足手段13がユーザとのインターラクシ
ョンを実行し、複数の候補のあるデータ値に対してユー
ザ入力を促す。
ータ変更の方向を定めることが出来ない点に注意する必
要がある。例えば、社員オブジェクト31が存在し、社
員オブジェクト31の「住所」が“東京都”であり、社
員オブジェクト31の「住所1」が“大阪府”であり、
社員オブジェクト31の「赴任」が“同伴”であったと
する。この場合、図2(B)の制約セット中で唯一つの
制約を真とするためには、どのスロットを修正すべきで
あろうか?「赴任」を“単身”にするのが一つの方法で
ある。また「住所1」を“東京都”に修正してもよい。
このようなデータ伝播方向の決定は、その時の状況(コ
ンテクスト)に依存し、データ値のみからは決まらな
い。図2に示された制約セットは、そのような複数の可
能性をそのまま表現している点に注意すべきである。こ
のような複数の可能性から唯一つの制約を再充足するた
めに、制約再充足手段13がユーザとのインターラクシ
ョンを実行し、複数の候補のあるデータ値に対してユー
ザ入力を促す。
【0046】このような制約プログラミング手法が、何
故データエントリシステムに適しているのかを明確にす
るために、制約プログラミング手法の意味について以下
に考察する。上記の制約シンタックスでは、属性値の取
りえる値のサイズが無限大のユニットを取り扱うため、
制約に変数を導入している。値のサイズが無限大のユニ
ットの例は、例えば住所や氏名である。このように値の
サイズが無限大の属性があるとしても、明らかに、個々
の制約は、リレーショナルデータベース(RDB)に於
ける関係表(relation)の様なものと捉えることが出来
る。以下、この制約が許すデータ状態の表を制約表(Co
nstraint Table)と呼ぶ。制約表は関係表と同一の構造
を持つが、その持つ意味においては大きく異なる。以
下、この際について論じながら、制約表の役割を分析す
る。
故データエントリシステムに適しているのかを明確にす
るために、制約プログラミング手法の意味について以下
に考察する。上記の制約シンタックスでは、属性値の取
りえる値のサイズが無限大のユニットを取り扱うため、
制約に変数を導入している。値のサイズが無限大のユニ
ットの例は、例えば住所や氏名である。このように値の
サイズが無限大の属性があるとしても、明らかに、個々
の制約は、リレーショナルデータベース(RDB)に於
ける関係表(relation)の様なものと捉えることが出来
る。以下、この制約が許すデータ状態の表を制約表(Co
nstraint Table)と呼ぶ。制約表は関係表と同一の構造
を持つが、その持つ意味においては大きく異なる。以
下、この際について論じながら、制約表の役割を分析す
る。
【0047】良く知られているようにRDBでは、全て
の関係表をジョインすることにより、(実際にメモリ領
域に収まるかどうかは別にして)一個の巨大な関係表を
作成できる。この巨大な表を以下では世界関係表(Univ
ersal Relation)と呼ぶ。世界関係表の各タプルは、現
実世界に存在するデータに対応していると考えてよい。
世界関係表の基本的性質として、現在登録されているタ
プルが消去されることもあり得るし、逆に、タプルとし
て登録されているデータ状態以外にも、別のデータ状態
がタプルとして新規に登録されることもあり得る。即
ち、世界関係表は、ユーザが投入したデータにより時事
刻々と変化する。図1のデータベースシステム10に記
憶されているタプルは、基本的にこのようなものの一つ
であると考えることが出来る。
の関係表をジョインすることにより、(実際にメモリ領
域に収まるかどうかは別にして)一個の巨大な関係表を
作成できる。この巨大な表を以下では世界関係表(Univ
ersal Relation)と呼ぶ。世界関係表の各タプルは、現
実世界に存在するデータに対応していると考えてよい。
世界関係表の基本的性質として、現在登録されているタ
プルが消去されることもあり得るし、逆に、タプルとし
て登録されているデータ状態以外にも、別のデータ状態
がタプルとして新規に登録されることもあり得る。即
ち、世界関係表は、ユーザが投入したデータにより時事
刻々と変化する。図1のデータベースシステム10に記
憶されているタプルは、基本的にこのようなものの一つ
であると考えることが出来る。
【0048】一方、制約表は、関係表とは異なって、業
務知識が許すデータ状態を列挙したものである。実際に
はテスト節や変数があるので不可能であるが、仮に全て
の制約表をジョインして巨大な制約表として表現する
と、それは業務知識が許容するデータ状態を列挙したも
のである。この巨大な制約表を、以下では世界制約表
(Universal Constraint Table)と呼ぶ。即ち、現実世
界に具体的に生じているかどうかには無関係に、業務知
識から許容される全てのデータ状態が世界制約表には記
述されている。従って、明らかに、データベースの世界
関係表に登録されるタプルは、この世界制約表を構成す
るタプルの一つであることを要求される。世界制約表に
存在しないデータ状態を、タプルとしてデータベースに
登録することは許されない。
務知識が許すデータ状態を列挙したものである。実際に
はテスト節や変数があるので不可能であるが、仮に全て
の制約表をジョインして巨大な制約表として表現する
と、それは業務知識が許容するデータ状態を列挙したも
のである。この巨大な制約表を、以下では世界制約表
(Universal Constraint Table)と呼ぶ。即ち、現実世
界に具体的に生じているかどうかには無関係に、業務知
識から許容される全てのデータ状態が世界制約表には記
述されている。従って、明らかに、データベースの世界
関係表に登録されるタプルは、この世界制約表を構成す
るタプルの一つであることを要求される。世界制約表に
存在しないデータ状態を、タプルとしてデータベースに
登録することは許されない。
【0049】以上の分析から、制約プログラミング手法
が適したタスクが、少なくとも一つは存在することが直
ちに明らかになる。それは、ユーザからデータ値を取得
して、データベースシステムに登録(PUT)するデー
タエントリシステムである。ユーザから入力されたデー
タは、制約プログラミングプログラム、即ち制約表によ
りチェックを受ける。そして世界制約表のタプルの一つ
であるならば、即ち、業務知識から許容されるものであ
るならば、データベース管理システムによりタプルとし
て登録される。この場合、制約プログラミングシステム
は、データベースに値を登録するまでのフロントエンド
である。
が適したタスクが、少なくとも一つは存在することが直
ちに明らかになる。それは、ユーザからデータ値を取得
して、データベースシステムに登録(PUT)するデー
タエントリシステムである。ユーザから入力されたデー
タは、制約プログラミングプログラム、即ち制約表によ
りチェックを受ける。そして世界制約表のタプルの一つ
であるならば、即ち、業務知識から許容されるものであ
るならば、データベース管理システムによりタプルとし
て登録される。この場合、制約プログラミングシステム
は、データベースに値を登録するまでのフロントエンド
である。
【0050】上記のモデルでは、ユーザが投入したデー
タを検索するタスクとして、制約プログラミング手法の
適用範囲を説明した。しかしRDBのコマンドに登録
(PUTコマンド)が準備されている以外に、更新(U
PDATEコマンド)が準備されていることから分かる
ように、現実世界のデータが斬新的に変化することが多
い。
タを検索するタスクとして、制約プログラミング手法の
適用範囲を説明した。しかしRDBのコマンドに登録
(PUTコマンド)が準備されている以外に、更新(U
PDATEコマンド)が準備されていることから分かる
ように、現実世界のデータが斬新的に変化することが多
い。
【0051】例えば人事関係の個人データは、入社時や
退社時を除いて、全面的に変化するものではない。ある
社員に子供が生まれたとしても、当該社員のタプルで変
化するのは子供に関する属性のみであり、本人の氏名、
住所、通勤経路等は通常は変わらない。ここで注意する
必要があるのは、更新処理(この例では、子供が生まれ
たことによるデータ登録)の前及び更新処理の後に於
て、データ状態が世界制約表のタプルの一つであること
である。これは、データベースの更新が、制約の再充足
プロセスとしてモデル化できることを意味している。本
発明のデータエントリシステムに於て制約プログラミン
グ記述を用いることには、このような根拠がある。
退社時を除いて、全面的に変化するものではない。ある
社員に子供が生まれたとしても、当該社員のタプルで変
化するのは子供に関する属性のみであり、本人の氏名、
住所、通勤経路等は通常は変わらない。ここで注意する
必要があるのは、更新処理(この例では、子供が生まれ
たことによるデータ登録)の前及び更新処理の後に於
て、データ状態が世界制約表のタプルの一つであること
である。これは、データベースの更新が、制約の再充足
プロセスとしてモデル化できることを意味している。本
発明のデータエントリシステムに於て制約プログラミン
グ記述を用いることには、このような根拠がある。
【0052】しかしながら、図1の制約プログラミング
記述保持手段11が保持する制約プログラミング記述
(図2)は、データ項目間の許される関係を規定するた
めの単なる表現であって、充足関係を満足させるための
方法を提供するものではない。即ち、制約表現自体は、
再充足プロセスの方法を規定するものではない。再充足
の方法は、制約充足エンジンによって与えられるもので
あって、本実施例に於ては制約再充足手段13によって
与えられる。
記述保持手段11が保持する制約プログラミング記述
(図2)は、データ項目間の許される関係を規定するた
めの単なる表現であって、充足関係を満足させるための
方法を提供するものではない。即ち、制約表現自体は、
再充足プロセスの方法を規定するものではない。再充足
の方法は、制約充足エンジンによって与えられるもので
あって、本実施例に於ては制約再充足手段13によって
与えられる。
【0053】以下に制約再充足手段13について説明す
る。図1の制約再充足手段13は上述のように、矛盾す
るデータオブジェクトを基にして、制約プログラミング
記述保持手段11に保持された制約プログラミング記述
を充足するようなデータオブジェクトを生成する。
る。図1の制約再充足手段13は上述のように、矛盾す
るデータオブジェクトを基にして、制約プログラミング
記述保持手段11に保持された制約プログラミング記述
を充足するようなデータオブジェクトを生成する。
【0054】本発明に於て再充足の手法は特定のものに
限定されることなく、種々の再充足方法を用いることが
出来るが、本実施例に於ては、更新前タプルが有してい
たデータ値に弱い強度「未確定」を与え、更新後タプル
として書き込まれるべきユーザが入力したデータ値に強
い強度「確定」を与えて、強い強度から弱い強度に自動
的に値を伝播させて再充足を実現する。更に、「確定」
のデータ項目からでは一意に値を決定できない場合に
は、ユーザに値を選ばせて制約を充足する。なお本実施
例において、制約再充足手段13は、ユーザに値を選ば
せるためのインターフェース部分を含むものである。
限定されることなく、種々の再充足方法を用いることが
出来るが、本実施例に於ては、更新前タプルが有してい
たデータ値に弱い強度「未確定」を与え、更新後タプル
として書き込まれるべきユーザが入力したデータ値に強
い強度「確定」を与えて、強い強度から弱い強度に自動
的に値を伝播させて再充足を実現する。更に、「確定」
のデータ項目からでは一意に値を決定できない場合に
は、ユーザに値を選ばせて制約を充足する。なお本実施
例において、制約再充足手段13は、ユーザに値を選ば
せるためのインターフェース部分を含むものである。
【0055】図4は、本発明の実施例によるデータエン
トリシステム1のデータベース更新処理を示すフローチ
ャートである。以下、本発明の実施例によるデータベー
ス更新処理を図4を用いて説明する。ステップS1に於
て、タプル読み出し手段12が、SQL等にキー値を指
定することによって、データベース10から指定された
タプルを読みだす。
トリシステム1のデータベース更新処理を示すフローチ
ャートである。以下、本発明の実施例によるデータベー
ス更新処理を図4を用いて説明する。ステップS1に於
て、タプル読み出し手段12が、SQL等にキー値を指
定することによって、データベース10から指定された
タプルを読みだす。
【0056】ステップS2に於て、タプル読み出し手段
12が、読み出されたタプルをリレーショナルデータベ
ース形式からデータオブジェクト形式に変換し、生成さ
れたデータオブジェクトを制約プログラミング記述保持
手段11に供給する。ステップS3に於て、制約再充足
手段13が、制約プログラミング記述保持手段11から
データオブジェクトを読み出して、ワーキングメモリ3
0に保持する。この時点ではデータオブジェクトは制約
充足状態にある。
12が、読み出されたタプルをリレーショナルデータベ
ース形式からデータオブジェクト形式に変換し、生成さ
れたデータオブジェクトを制約プログラミング記述保持
手段11に供給する。ステップS3に於て、制約再充足
手段13が、制約プログラミング記述保持手段11から
データオブジェクトを読み出して、ワーキングメモリ3
0に保持する。この時点ではデータオブジェクトは制約
充足状態にある。
【0057】図5は制約充足状態にある家族を持たない
社員を意味したオブジェクト状態の例である。図5に於
ては、ワーキングメモリ30に、社員オブジェクト31
と扶養申請オブジェクト32とが存在し、オブジェクト
有無情報34はそれら2つのオブジェクトの存在を示し
ている。図5に示されるように、更新前のデータオブジ
ェクトのデータ項目は全て「未確定」の属性値が与えら
れている。これらのデータオブジェクトは、図2の制約
プログラミング記述の全ての制約セットを充足するもの
であり、全ての制約セットに対して「真」の真偽値を有
する。
社員を意味したオブジェクト状態の例である。図5に於
ては、ワーキングメモリ30に、社員オブジェクト31
と扶養申請オブジェクト32とが存在し、オブジェクト
有無情報34はそれら2つのオブジェクトの存在を示し
ている。図5に示されるように、更新前のデータオブジ
ェクトのデータ項目は全て「未確定」の属性値が与えら
れている。これらのデータオブジェクトは、図2の制約
プログラミング記述の全ての制約セットを充足するもの
であり、全ての制約セットに対して「真」の真偽値を有
する。
【0058】ここで制約セットの真偽値計算は、以下の
方法による。 ・制約セット中の唯一つの制約が「真」で、他が「偽」
の時には、制約セットの真偽値は「真」となる。 ・制約セット中の全ての制約が「偽」の時には、制約セ
ットの真偽値は「偽」となる。 ・制約セット中の制約の真偽値が上記以外の時は、制約
セットの真偽値は「未確定」となる。また各制約の真偽
値は以下によって決定される。 ・制約が参照するスロットの値が全て「NULL」でな
く、制約で宣言されている値と一致する時には、制約の
真偽値は「真」となる。 ・制約が参照するスロットの値が、制約で宣言されてい
る値と1つでも一致しない時には、制約の真偽値は
「偽」となる。 ・制約が参照するスロットの値が1つでも「NULL」
であり、制約が参照する「NULL」でないスロットが
全て制約で宣言されている値と一致する時は、制約の真
偽値は「未確定」となる。
方法による。 ・制約セット中の唯一つの制約が「真」で、他が「偽」
の時には、制約セットの真偽値は「真」となる。 ・制約セット中の全ての制約が「偽」の時には、制約セ
ットの真偽値は「偽」となる。 ・制約セット中の制約の真偽値が上記以外の時は、制約
セットの真偽値は「未確定」となる。また各制約の真偽
値は以下によって決定される。 ・制約が参照するスロットの値が全て「NULL」でな
く、制約で宣言されている値と一致する時には、制約の
真偽値は「真」となる。 ・制約が参照するスロットの値が、制約で宣言されてい
る値と1つでも一致しない時には、制約の真偽値は
「偽」となる。 ・制約が参照するスロットの値が1つでも「NULL」
であり、制約が参照する「NULL」でないスロットが
全て制約で宣言されている値と一致する時は、制約の真
偽値は「未確定」となる。
【0059】ここで、全ての制約セットの真偽値が
「真」である場合に限り、データオブジェクト全体は
「制約充足状態」となる。図5のデータオブジェクトに
対しては、図2(A)の単身赴任届け制約セットの制約
A2が真であり、図2(B)の赴任状況制約セットの制
約B2が真であり、また更に、図2(C)の扶養申請制
約セットの制約C1が真である。従って全ての制約セッ
トの真偽値が「真」であり、データオブジェクト全体が
「制約充足状態」である。
「真」である場合に限り、データオブジェクト全体は
「制約充足状態」となる。図5のデータオブジェクトに
対しては、図2(A)の単身赴任届け制約セットの制約
A2が真であり、図2(B)の赴任状況制約セットの制
約B2が真であり、また更に、図2(C)の扶養申請制
約セットの制約C1が真である。従って全ての制約セッ
トの真偽値が「真」であり、データオブジェクト全体が
「制約充足状態」である。
【0060】ステップS4に於て、ユーザがあるスロッ
トを書き換える。ここでユーザは、オブジェクト有無情
報34に示されるオブジェクトの存在の有無を修正して
もよい。例えば、図5の例において、ユーザがオブジェ
クト有無情報34の単身赴任届けの有無情報を「有」に
して、単身赴任届けオブジェクト33の「住所」のスロ
ットと「帰省先」のスロットに、各々“大阪府”及び
“東京都”の値を投入したとする。図6は、このような
ユーザ入力がなされた直後のデータオブジェクト及びオ
ブジェクト有無情報を示す。図6のデータオブジェクト
に対して、図2(A)の単身赴任届け制約セットは
「偽」であり、図2(B)の赴任状況制約セットは
「偽」であり、図2(C)の扶養申請制約セットだけが
「真」となる。
トを書き換える。ここでユーザは、オブジェクト有無情
報34に示されるオブジェクトの存在の有無を修正して
もよい。例えば、図5の例において、ユーザがオブジェ
クト有無情報34の単身赴任届けの有無情報を「有」に
して、単身赴任届けオブジェクト33の「住所」のスロ
ットと「帰省先」のスロットに、各々“大阪府”及び
“東京都”の値を投入したとする。図6は、このような
ユーザ入力がなされた直後のデータオブジェクト及びオ
ブジェクト有無情報を示す。図6のデータオブジェクト
に対して、図2(A)の単身赴任届け制約セットは
「偽」であり、図2(B)の赴任状況制約セットは
「偽」であり、図2(C)の扶養申請制約セットだけが
「真」となる。
【0061】ステップS5に於て、制約再充足手段13
が、充足状態でない制約セットが存在するか判定する。
存在しない場合にはステップS11に進む。図6の例の
場合は、充足状態でない制約セットが存在するので、ス
テップS6に進む。ステップS6に於て、制約再充足手
段13が、制約非充足の制約セットから一個を選択し
て、選択された制約セットをSとする。図6の例の場合
は、例えば図2(A)の単身赴任届け制約セットを選択
してSとする。
が、充足状態でない制約セットが存在するか判定する。
存在しない場合にはステップS11に進む。図6の例の
場合は、充足状態でない制約セットが存在するので、ス
テップS6に進む。ステップS6に於て、制約再充足手
段13が、制約非充足の制約セットから一個を選択し
て、選択された制約セットをSとする。図6の例の場合
は、例えば図2(A)の単身赴任届け制約セットを選択
してSとする。
【0062】ステップS7に於て、制約再充足手段13
が、制約セットSが参照しているスロットの値の中で、
確定属性が「確」(確定)のものは現状の値を維持し、
確定属性が「未」(未確定)のものはNULLとして、
確定の値からNULLの値に値を伝播させ、更に制約セ
ットの真偽値を計算する。図6の例の場合には、図2
(A)の単身赴任届け制約セットに於て、単身赴任届け
オブジェクトの存在が「有」であること、「単身赴任届
け・住所」が“大阪府”であること、及び「単身赴任届
け・帰省先」が“東京都”であることは確定である。従
って制約再充足手段13は、未確定である「社員・住
所」、「社員・赴任」、及び「社員・住所1」をNUL
Lとして、各々に“大阪府”、“単身”、及び“東京
都”の値を設定する。その後制約セットSの真偽値を計
算する。
が、制約セットSが参照しているスロットの値の中で、
確定属性が「確」(確定)のものは現状の値を維持し、
確定属性が「未」(未確定)のものはNULLとして、
確定の値からNULLの値に値を伝播させ、更に制約セ
ットの真偽値を計算する。図6の例の場合には、図2
(A)の単身赴任届け制約セットに於て、単身赴任届け
オブジェクトの存在が「有」であること、「単身赴任届
け・住所」が“大阪府”であること、及び「単身赴任届
け・帰省先」が“東京都”であることは確定である。従
って制約再充足手段13は、未確定である「社員・住
所」、「社員・赴任」、及び「社員・住所1」をNUL
Lとして、各々に“大阪府”、“単身”、及び“東京
都”の値を設定する。その後制約セットSの真偽値を計
算する。
【0063】ステップS8に於て、制約再充足手段13
が、制約セットSの真偽値が「真」であるかどうかを判
断する。真である場合にはステップS9をとばし、真で
ない場合にはステップS9を実行する。ステップS9に
於ては、値の伝播によっても制約セットSが「真」とな
らない場合に、制約再充足手段13がユーザに値投入を
促して、人手によって制約再充足を実現する。これは例
えば図6の例において、ユーザが社員オブジェクト31
の「住所1」に“大阪府”を誤って書き込んでしまった
場合などに必要となる。この場合のデータオブジェクト
の状態は図7に示されるものとなり、社員オブジェクト
31の「住所1」と単身赴任届けオブジェクトの「帰省
先」とで、確定値同士が矛盾することになり、制約再充
足手段13が制約を充足させることは不可能である。こ
のような場合には、問題となっているスロット値をユー
ザに確認或いは再投入させることによって、制約を再充
足させることになる。
が、制約セットSの真偽値が「真」であるかどうかを判
断する。真である場合にはステップS9をとばし、真で
ない場合にはステップS9を実行する。ステップS9に
於ては、値の伝播によっても制約セットSが「真」とな
らない場合に、制約再充足手段13がユーザに値投入を
促して、人手によって制約再充足を実現する。これは例
えば図6の例において、ユーザが社員オブジェクト31
の「住所1」に“大阪府”を誤って書き込んでしまった
場合などに必要となる。この場合のデータオブジェクト
の状態は図7に示されるものとなり、社員オブジェクト
31の「住所1」と単身赴任届けオブジェクトの「帰省
先」とで、確定値同士が矛盾することになり、制約再充
足手段13が制約を充足させることは不可能である。こ
のような場合には、問題となっているスロット値をユー
ザに確認或いは再投入させることによって、制約を再充
足させることになる。
【0064】尚、それまでに入力されている属性値から
計算された真偽値が「未定」である制約のみが今後
「真」となる可能性がある。真偽値が未定である制約に
おいて、各属性の照合対象として規定されている属性値
を集めると、今後の処理で当該属性に入力可能な属性値
の集合が簡単にできる。従って、今後入力可能な属性値
を表示したメニューをダイナミックに作成して、このメ
ニューをユーザに表示するようにしてもよい。このよう
なダイナミックなメニュー項目の制御は、ユーザデータ
投入の利便性を向上させる。
計算された真偽値が「未定」である制約のみが今後
「真」となる可能性がある。真偽値が未定である制約に
おいて、各属性の照合対象として規定されている属性値
を集めると、今後の処理で当該属性に入力可能な属性値
の集合が簡単にできる。従って、今後入力可能な属性値
を表示したメニューをダイナミックに作成して、このメ
ニューをユーザに表示するようにしてもよい。このよう
なダイナミックなメニュー項目の制御は、ユーザデータ
投入の利便性を向上させる。
【0065】ステップS10に於て、制約再充足手段1
3が、制約セットSが「真」であるスロット値をワーキ
ングメモリ30に書き込む。ステップS10の後、処理
はステップS5に戻る。ステップS5で全制約セットが
「真」となった場合には、ステップS11に於て、制約
再充足手段13がワーキングメモリ30内のデータオブ
ジェクトを制約プログラミング記述保持手段11に書き
込む。図8に、図6又は図7の状態から変化して全ての
制約セットが「真」となったデータオブジェクトを示
す。
3が、制約セットSが「真」であるスロット値をワーキ
ングメモリ30に書き込む。ステップS10の後、処理
はステップS5に戻る。ステップS5で全制約セットが
「真」となった場合には、ステップS11に於て、制約
再充足手段13がワーキングメモリ30内のデータオブ
ジェクトを制約プログラミング記述保持手段11に書き
込む。図8に、図6又は図7の状態から変化して全ての
制約セットが「真」となったデータオブジェクトを示
す。
【0066】ステップS12に於て、タプル書き込み手
段14が、制約プログラミング記述保持手段11から更
新されたデータオブジェクトを取り出し、データオブジ
ェクト形式からリレーショナルデータベース形式に変換
する。ステップS13に於て、タプル書き込み手段14
が、指定されたキー値を用いて、更新後タプルをデータ
ベース10に書き込む。以上で処理を終了する。
段14が、制約プログラミング記述保持手段11から更
新されたデータオブジェクトを取り出し、データオブジ
ェクト形式からリレーショナルデータベース形式に変換
する。ステップS13に於て、タプル書き込み手段14
が、指定されたキー値を用いて、更新後タプルをデータ
ベース10に書き込む。以上で処理を終了する。
【0067】尚、データベース10に新規にタプルを登
録する場合であっても、上記の再充足プロセスと同一の
処理によって対応することができる。何故なら、何等デ
ータが登録されていない空のデータ状態は、制約を充足
するデータ状態の一つとして世界制約表に記述されるか
らである。即ち、図1のデータエントリシステム1に於
ては、登録(PUT)コマンドに相当する処理を、制約
の再充足プロセスとして捉えることができるのである。
つまり、あらゆるデータエントリタスクを、図1のデー
タエントリシステム1では、制約の再充足プロセスとし
て扱うことができる。
録する場合であっても、上記の再充足プロセスと同一の
処理によって対応することができる。何故なら、何等デ
ータが登録されていない空のデータ状態は、制約を充足
するデータ状態の一つとして世界制約表に記述されるか
らである。即ち、図1のデータエントリシステム1に於
ては、登録(PUT)コマンドに相当する処理を、制約
の再充足プロセスとして捉えることができるのである。
つまり、あらゆるデータエントリタスクを、図1のデー
タエントリシステム1では、制約の再充足プロセスとし
て扱うことができる。
【0068】上述のように、本発明によるデータエント
リシステムに於ては、制約プログラミング記述が宣言的
に与えられるので、オフィス応用関係の業務知識のよう
に手続き的ではなく宣言的に業務規定されている場合
に、業務知識とプログラミング記述との間のセマンティ
ックギャップが小さく、システムの構築や保守の工数が
削減できる。
リシステムに於ては、制約プログラミング記述が宣言的
に与えられるので、オフィス応用関係の業務知識のよう
に手続き的ではなく宣言的に業務規定されている場合
に、業務知識とプログラミング記述との間のセマンティ
ックギャップが小さく、システムの構築や保守の工数が
削減できる。
【0069】また本発明によるデータエントリシステム
に於ては、制約プログラミング手法の本来の性質とし
て、データの取得順序に一切の制約がない。即ち、手続
き的なプログラミングとは異なり、どのデータ項目から
データ入力を開始してもチェックが実現できる。これに
より、完全なユーザ主導のインタラクティブなデータエ
ントリシステムが実現できる。
に於ては、制約プログラミング手法の本来の性質とし
て、データの取得順序に一切の制約がない。即ち、手続
き的なプログラミングとは異なり、どのデータ項目から
データ入力を開始してもチェックが実現できる。これに
より、完全なユーザ主導のインタラクティブなデータエ
ントリシステムが実現できる。
【0070】また本発明によるデータエントリシステム
に於ては、それまでに入力されている属性値から計算さ
れた真偽値が「未定」である制約のみが今後「真」とな
る可能性がある。従って、真偽値が未定である制約にお
いて、各属性の照合対象として規定されている属性値を
集めると、今後の処理で当該属性に入力可能な属性値の
集合が簡単にできる。このことは、今後入力可能な属性
値を表示したメニューをダイナミックに作成できること
を意味する。このダイナミックなメニュー項目の制御
は、ユーザデータ投入の利便性を向上させる。
に於ては、それまでに入力されている属性値から計算さ
れた真偽値が「未定」である制約のみが今後「真」とな
る可能性がある。従って、真偽値が未定である制約にお
いて、各属性の照合対象として規定されている属性値を
集めると、今後の処理で当該属性に入力可能な属性値の
集合が簡単にできる。このことは、今後入力可能な属性
値を表示したメニューをダイナミックに作成できること
を意味する。このダイナミックなメニュー項目の制御
は、ユーザデータ投入の利便性を向上させる。
【0071】また本発明によるデータエントリシステム
に於ては、制約プログラミング記述を用いることによっ
て、データベースの一貫性を自動的に管理することがで
きる。一般にデータベースシステムでは、一部のデータ
が追加/更新された場合に、データベース全体の整合性
を管理することは難しい問題である。RDBの関係表
が、完璧な正規形の集合で書かれることはまれであり、
現実のデータベースシステムは、異なる目的で異なる時
期に構築された関係表の寄せ集めである。その結果、例
えば同一の属性がコピーされて、様々な場所に存在する
ような状態が頻繁に生じることになる。従って、このよ
うにデータの重複が存在する場合には、データベースシ
ステムの一貫性の管理は実用的な意味で非常に重要であ
る。本発明によりデータエントリシステムに於ては、こ
の主のデータベースの重複等も予め制約記述として記述
しておけば、自動的に一貫性の管理を行うことが可能で
ある。従って、本発明による制約プログラミング手法を
用いたデータエントリシステムは、既存の重複等が多数
存在するデータベースに対しても適している。
に於ては、制約プログラミング記述を用いることによっ
て、データベースの一貫性を自動的に管理することがで
きる。一般にデータベースシステムでは、一部のデータ
が追加/更新された場合に、データベース全体の整合性
を管理することは難しい問題である。RDBの関係表
が、完璧な正規形の集合で書かれることはまれであり、
現実のデータベースシステムは、異なる目的で異なる時
期に構築された関係表の寄せ集めである。その結果、例
えば同一の属性がコピーされて、様々な場所に存在する
ような状態が頻繁に生じることになる。従って、このよ
うにデータの重複が存在する場合には、データベースシ
ステムの一貫性の管理は実用的な意味で非常に重要であ
る。本発明によりデータエントリシステムに於ては、こ
の主のデータベースの重複等も予め制約記述として記述
しておけば、自動的に一貫性の管理を行うことが可能で
ある。従って、本発明による制約プログラミング手法を
用いたデータエントリシステムは、既存の重複等が多数
存在するデータベースに対しても適している。
【0072】
【発明の効果】請求項1の発明に於ては、宣言的に定義
された記述を基にして、データの整合性を満足するよう
にデータを更新する。従って、宣言的に記述された業務
記述とデータエントリ装置で用いられる記述とのセマン
ティックギャップが小さく、システムの構築及び保守の
工数が削減できる。
された記述を基にして、データの整合性を満足するよう
にデータを更新する。従って、宣言的に記述された業務
記述とデータエントリ装置で用いられる記述とのセマン
ティックギャップが小さく、システムの構築及び保守の
工数が削減できる。
【0073】請求項2の発明に於ては、ユーザ入力によ
ってユーザ更新されたデータに対して、宣言的に定義さ
れた記述に基づいて整合性をチェックしてユーザ更新さ
れたデータを修正する。従って、手続き的な記述に基づ
くデータエントリ装置と異なって、ユーザ入力の順序に
一切の制約なくチェックを実行することが可能となり、
完全にユーザ主導のインタラクティブなデータエントリ
システムが実現できる。
ってユーザ更新されたデータに対して、宣言的に定義さ
れた記述に基づいて整合性をチェックしてユーザ更新さ
れたデータを修正する。従って、手続き的な記述に基づ
くデータエントリ装置と異なって、ユーザ入力の順序に
一切の制約なくチェックを実行することが可能となり、
完全にユーザ主導のインタラクティブなデータエントリ
システムが実現できる。
【0074】請求項3の発明に於ては、ユーザ入力され
た項目から他の項目へと値を伝播させていくので、整合
性を満足する更新されたデータを自動的に生成すること
ができる。請求項4の発明に於ては、既存のリレーショ
ナルデータベースシステムのデータエントリシステムと
して本発明を用いることができる。
た項目から他の項目へと値を伝播させていくので、整合
性を満足する更新されたデータを自動的に生成すること
ができる。請求項4の発明に於ては、既存のリレーショ
ナルデータベースシステムのデータエントリシステムと
して本発明を用いることができる。
【0075】請求項5の発明に於ては、既存のリレーシ
ョナルデータベースシステムのデータエントリシステム
として本発明を用いることができる。請求項6の発明に
於ては、データベースから読み出される指定されたデー
タは、空データであってもよいので、既存データの更新
だけではなく、新規データの登録にも本発明を用いるこ
とができる。従って、手続き的な記述に基づくデータエ
ントリ装置と異なって、データ登録とデータ更新とに別
々のルーチンを用意する必要がなく、システムの構築及
び保守の工数が削減できる。
ョナルデータベースシステムのデータエントリシステム
として本発明を用いることができる。請求項6の発明に
於ては、データベースから読み出される指定されたデー
タは、空データであってもよいので、既存データの更新
だけではなく、新規データの登録にも本発明を用いるこ
とができる。従って、手続き的な記述に基づくデータエ
ントリ装置と異なって、データ登録とデータ更新とに別
々のルーチンを用意する必要がなく、システムの構築及
び保守の工数が削減できる。
【0076】請求項7の発明に於ては、宣言的に定義さ
れた記述を基にして、データの整合性を満足するように
データを更新する。従って、宣言的に記述された業務記
述とデータエントリ方法で用いられる記述とのセマンテ
ィックギャップが小さく、システムの構築及び保守の工
数が削減できる。
れた記述を基にして、データの整合性を満足するように
データを更新する。従って、宣言的に記述された業務記
述とデータエントリ方法で用いられる記述とのセマンテ
ィックギャップが小さく、システムの構築及び保守の工
数が削減できる。
【0077】請求項8の発明に於ては、ユーザ入力によ
ってユーザ更新されたデータに対して、宣言的に定義さ
れた記述に基づいて整合性をチェックしてユーザ更新さ
れたデータを修正する。従って、手続き的な記述に基づ
くデータエントリ方法と異なって、ユーザ入力の順序に
一切の制約なくチェックを実行することが可能となり、
完全にユーザ主導のインタラクティブなデータエントリ
システムが実現できる。
ってユーザ更新されたデータに対して、宣言的に定義さ
れた記述に基づいて整合性をチェックしてユーザ更新さ
れたデータを修正する。従って、手続き的な記述に基づ
くデータエントリ方法と異なって、ユーザ入力の順序に
一切の制約なくチェックを実行することが可能となり、
完全にユーザ主導のインタラクティブなデータエントリ
システムが実現できる。
【0078】請求項9の発明に於ては、ユーザ入力され
た項目から他の項目へと値を伝播させていくので、整合
性を満足する更新されたデータを自動的に生成すること
ができる。請求項10の発明に於ては、既存のリレーシ
ョナルデータベースシステムのデータエントリ方法とし
て本発明を用いることができる。
た項目から他の項目へと値を伝播させていくので、整合
性を満足する更新されたデータを自動的に生成すること
ができる。請求項10の発明に於ては、既存のリレーシ
ョナルデータベースシステムのデータエントリ方法とし
て本発明を用いることができる。
【0079】請求項11の発明に於ては、既存のリレー
ショナルデータベースシステムのデータエントリ方法と
して本発明を用いることができる。請求項12の発明に
於ては、データベースから読み出される指定されたデー
タは、空データであってもよいので、既存データの更新
だけではなく、新規データの登録にも本発明を用いるこ
とができる。従って、手続き的な記述に基づくデータエ
ントリ方法と異なって、データ登録とデータ更新とに別
々のルーチンを用意する必要がなく、システムの構築及
び保守の工数が削減できる。
ショナルデータベースシステムのデータエントリ方法と
して本発明を用いることができる。請求項12の発明に
於ては、データベースから読み出される指定されたデー
タは、空データであってもよいので、既存データの更新
だけではなく、新規データの登録にも本発明を用いるこ
とができる。従って、手続き的な記述に基づくデータエ
ントリ方法と異なって、データ登録とデータ更新とに別
々のルーチンを用意する必要がなく、システムの構築及
び保守の工数が削減できる。
【図1】本発明の実施例によるデータエントリシステム
の構成図である。
の構成図である。
【図2】本発明の実施例に於て用いられる制約セットの
例を示す図である。
例を示す図である。
【図3】本発明の実施例に於て用いられるデータオブジ
ェクト及びオブジェクト有無情報の例を示す図である。
ェクト及びオブジェクト有無情報の例を示す図である。
【図4】本発明の実施例によるデータエントリシステム
のデータベース更新処理を示すフローチャートである。
のデータベース更新処理を示すフローチャートである。
【図5】本発明の実施例に於て制約プログラミング記述
を満足するオブジェクトの例を示す図である。
を満足するオブジェクトの例を示す図である。
【図6】本発明の実施例に於て、ユーザ入力による更新
により、制約プログラミング記述を満足しないオブジェ
クトの例を示す図である。
により、制約プログラミング記述を満足しないオブジェ
クトの例を示す図である。
【図7】本発明の実施例に於て、ユーザ入力による更新
により、制約プログラミング記述を満足しないオブジェ
クトの例を示す図である。
により、制約プログラミング記述を満足しないオブジェ
クトの例を示す図である。
【図8】本発明の実施例に於て、ユーザ入力による更新
後、制約再充足処理により制約プログラミング記述を満
足するオブジェクトの例を示す図である。
後、制約再充足処理により制約プログラミング記述を満
足するオブジェクトの例を示す図である。
1 データエントリシステム 10 データベースシステム 11 制約プログラミング記述保持手段 12 タプル読み出し手段 13 制約再充足手段 14 タプル書き込み手段 21 データベース管理システム 22 データ 30 ワーキングメモリ 31 社員オブジェクト 32 扶養申請オブジェクト 33 単身赴任届けオブジェクト 34 オブジェクト有無情報
Claims (12)
- 【請求項1】 データを保持するデータベース手段と、 該データの整合性を宣言的に定義した記述を保持する制
約記述保持手段と、 該データベースから指定されたデータを取り出す読み出
し手段と、 該指定されたデータの一部を更新して、該整合性を満足
する更新されたデータを該記述に基づいて生成する制約
再充足手段と、 該更新されたデータを該データベース手段に書き込む書
き込み手段を含むことを特徴とするデータベースのため
のデータエントリ装置。 - 【請求項2】 前記制約再充足手段は、ユーザ入力によ
り前記指定されたデータを更新してユーザ更新されたデ
ータを生成し、該ユーザ更新されたデータが前記整合性
を満足しない場合に該ユーザ更新されたデータの一部を
修正して前記更新されたデータを生成することを特徴と
する請求項1記載の装置。 - 【請求項3】 前記制約再充足手段は、該指定されたデ
ータのデータ項目の各々に対して該データ項目が確定か
未確定かを示す確定情報を保持し、ユーザ入力されたデ
ータ項目を確定として確定の該データ項目から未確定の
該データ項目に値を伝播させることを特徴とする請求項
1又は2記載の装置。 - 【請求項4】 前記データベース手段はリレーショナル
データベース形式で前記データを保持し、前記制約再充
足手段はオブジェクト形式で前記指定されたデータ及び
更新されたデータを取り扱うことを特徴とする請求項1
乃至3いずれか一項記載の装置。 - 【請求項5】 前記読み出し手段は前記指定されたデー
タをリレーショナルデータベース形式からオブジェクト
形式に変換し、前記書き込み手段は前記更新されたデー
タをオブジェクト形式からリレーショナルデータベース
形式に変換することを特徴とする請求項4記載の装置。 - 【請求項6】 前記指定されたデータは、データが登録
されていない空データを含むことを特徴とする請求項1
乃至5記載の装置。 - 【請求項7】 a)データベースから指定されたデータ
を取り出し、 b)該指定されたデータの一部を更新して、該指定され
たデータの整合性を宣言的に定義する制約に基づいて、
該整合性を満足する更新されたデータを生成し、 c)該更新されたデータをデータベースに書き込む各段
階を含むことを特徴とするデータベースのためのデータ
エントリ方法。 - 【請求項8】 前記段階b)は、 b1)ユーザ入力により前記指定されたデータを更新し
てユーザ更新されたデータを生成し、 b2)該ユーザ更新されたデータが前記整合性を満足し
ない場合に、該ユーザ更新されたデータの一部を修正し
て、前記整合性を満足する前記更新されたデータを前記
制約に基づいて生成する各段階を含むことを特徴とする
請求項7記載の方法。 - 【請求項9】 前記段階b2)は、該指定されたデータ
のデータ項目の各々が確定か未確定かを示す確定情報に
基づいて、ユーザ入力されたデータ項目を確定として確
定の該データ項目から未確定の該データ項目に値を伝播
させて前記更新されたデータを生成することを特徴とす
る請求項8記載の方法。 - 【請求項10】 前記データベースはリレーショナルデ
ータベース形式で前記データを保持し、前記段階b)は
オブジェクト形式で前記指定されたデータ及び更新され
たデータを取り扱うことを特徴とする請求項7乃至9い
ずれか一項記載の方法。 - 【請求項11】 前記段階a)は、前記指定されたデー
タをリレーショナルデータベース形式からオブジェクト
形式に変換する段階を更に含み、前記段階c)は前記更
新されたデータをオブジェクト形式からリレーショナル
データベース形式に変換する段階を更に含むことを特徴
とする請求項10記載の方法。 - 【請求項12】 前記指定されたデータは、データが登
録されていない空データを含むことを特徴とする請求項
7乃至11記載の方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8068487A JPH09259018A (ja) | 1996-03-25 | 1996-03-25 | データエントリ装置及びデータエントリ方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8068487A JPH09259018A (ja) | 1996-03-25 | 1996-03-25 | データエントリ装置及びデータエントリ方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH09259018A true JPH09259018A (ja) | 1997-10-03 |
Family
ID=13375105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8068487A Pending JPH09259018A (ja) | 1996-03-25 | 1996-03-25 | データエントリ装置及びデータエントリ方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH09259018A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008538632A (ja) * | 2005-04-21 | 2008-10-30 | マイクロソフト コーポレーション | データ記憶システム内のデータを操作するシステムおよび方法 |
JP2010160799A (ja) * | 1997-09-12 | 2010-07-22 | Amazon Com Inc | ギフト発送方法及びそのシステム |
-
1996
- 1996-03-25 JP JP8068487A patent/JPH09259018A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010160799A (ja) * | 1997-09-12 | 2010-07-22 | Amazon Com Inc | ギフト発送方法及びそのシステム |
JP2008538632A (ja) * | 2005-04-21 | 2008-10-30 | マイクロソフト コーポレーション | データ記憶システム内のデータを操作するシステムおよび方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210209157A1 (en) | System and method for non-programmers to dynamically manage multiple sets of xml document data | |
US5930806A (en) | Method and system for data migration from network database to relational database | |
JP2957702B2 (ja) | 関係データベーススキーマを生成する意味オブジェクトモデリングシステム | |
JP4977128B2 (ja) | データベースからxml文書を動的に生成する方法 | |
EP0834141A1 (en) | Computer system for creating semantic object models from existing relational database schemas | |
JPH10511200A (ja) | 対応したオブジェクトモデルにおいて為された変更を反映するように既存の関係データベーススキーマを修正する方法および装置 | |
JPH06332786A (ja) | 複合オブジェクトを持つデータ処理システム | |
JPH07117962B2 (ja) | ネットワーク型データベースのリレーショナルアクセス方式 | |
JPH09259018A (ja) | データエントリ装置及びデータエントリ方法 | |
KR20000063360A (ko) | 컴퓨터 지원 설계 시스템에서의 설계정보 관리 방법 | |
JPH0346059A (ja) | ドキュメント作成管理方式 | |
JPH0475135A (ja) | プログラム開発装置 | |
CN116911320A (zh) | 支持文本翻译的重用的逻辑指针 | |
JP2002278760A (ja) | 電子帳票プログラム作成システム、電子帳票プログラム作成方法、および、電子帳票プログラム作成プログラム | |
Cake | Naming Files and Designing the Database | |
JPH07210579A (ja) | データ入出力装置 | |
Golding | Naming Files and Designing the Database | |
Friedrich | Image Digitizer with a Database in Visual Basic | |
JPH04190423A (ja) | 機能別ポインタを用いた情報管理支援装置 | |
JPH0567158A (ja) | 学習型データベース処理システム | |
Barthes | MOSS v8-User Manual | |
JP2003263455A (ja) | データベース検索装置およびデータベース検索方法 | |
Lane | Semantic Database Model Language (SDML): grammar specification and parser | |
JPH02503841A (ja) | 知識ベースシステムにおけるルール獲得及び操作方法 | |
JPH10260822A (ja) | オブジェクト指向ソフトウェア文書編集管理支援装置 |