JP2004030179A - スキーマ情報の参照装置 - Google Patents
スキーマ情報の参照装置 Download PDFInfo
- Publication number
- JP2004030179A JP2004030179A JP2002184733A JP2002184733A JP2004030179A JP 2004030179 A JP2004030179 A JP 2004030179A JP 2002184733 A JP2002184733 A JP 2002184733A JP 2002184733 A JP2002184733 A JP 2002184733A JP 2004030179 A JP2004030179 A JP 2004030179A
- Authority
- JP
- Japan
- Prior art keywords
- schema information
- information
- schema
- database
- difference
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】スキーマ情報へのアクセスの十分な高速化を実現する。
【解決手段】データベース6に記憶している実データを管理するスキーマ情報の参照装置において、データベース6からスキーマ情報を読み込むスキーマ情報の読み込み手段2と、スキーマ情報の読み込み手段2で読み込まれたスキーマ情報を保持するスキーマ情報の保持手段3と、データベース6を参照してデータベース6のスキーマ情報とスキーマ情報の保持手段3で保持されているスキーマ情報とを比較してスキーマ情報相互が異なる場合に差分データを作成するためのスキーマ情報の差分チェック手段4と、スキーマ情報の保持手段3で保持されているスキーマ情報を格納するスキーマ情報格納ファイル5とを備える。
【選択図】 図1
【解決手段】データベース6に記憶している実データを管理するスキーマ情報の参照装置において、データベース6からスキーマ情報を読み込むスキーマ情報の読み込み手段2と、スキーマ情報の読み込み手段2で読み込まれたスキーマ情報を保持するスキーマ情報の保持手段3と、データベース6を参照してデータベース6のスキーマ情報とスキーマ情報の保持手段3で保持されているスキーマ情報とを比較してスキーマ情報相互が異なる場合に差分データを作成するためのスキーマ情報の差分チェック手段4と、スキーマ情報の保持手段3で保持されているスキーマ情報を格納するスキーマ情報格納ファイル5とを備える。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、スキーマ情報の参照装置に関し、特に、データベースと接続していない状態でもスキーマ情報を参照するスキーマ情報の参照装置に関する。
【0002】
【従来の技術】
従来、データベースのスキーマ情報の内、表や列などの情報をアイコンとして画面に表示し、これらのアイコンをマウスでクリックした契機でデータベースから、その表の属性や、配下の列に関する情報を毎回取得する手法がある。
【0003】
ここで、特開平4−216147号公報には、データベースのスキーマ情報をローカルシステムに保持する方式が記載されている。この公報は、スキーマ構造とプログラムとを独立化させることを前提としているため、スキーマ構造を意識する必要があるスキーマのGUI(Graphical User Interface)表示機能や構造化照会言語(Structured Query Language:SQL)文の作成を支援するシステムには適合しない。
【0004】
さらに、特開平7−210435号公報には、スキーマ更新前後の実体データを効率良くアクセスできるとともに、スキーマが入れ子に構成された場合でも適宜データの変換を高速に実施できるデータベース管理装置を提供ために、更新後のスキーマと更新前のスキーマとを版情報を用いて相互に関連づけて管理し、その版情報に基づいて更新後のスキーマに対応する実体データを作成し、その実体データと更新前のスキーマに対応する実体データとを関連づけるデータベース管理装置が記載されている。
【0005】
【発明が解決しようとする課題】
しかし、従来の技術は、データベースのスキーマ情報が更新されたときに、更新背後のスキーマ情報の差分データを作成していなかったため、スキーマ情報へのアクセスの高速化が十分になされていない場合があった。
【0006】
また、従来の技術は、スキーマ情報が変更された場合にSQLの編集作業する手段もないため、SQL文を発行するプログラムの開発などには適用できないという問題があった。同様に、スキーマ情報をグラフィカルに画面表示するようなシステムにおいても、適用できないという問題があった。
【0007】
さらに、従来の技術は、スキーマ構造とプログラムとを独立化させていることにより、スキーマ情報の更新による影響を利用者が認識できず、スキーマ情報の更新自体が不正な場合にも評価を実施するまで問題を検出できないという問題があった。
【0008】
そこで、本発明は、スキーマ情報へのアクセスの高速化が十分になされるようにすることを課題とする。
【0009】
また、本発明は、スキーマ情報の構成要素をオブジェクトとして保持することでスキーマ情報をGUIで表示するシステムとの適合性を向上させ、かつ、スキーマが変更された場合に画面表示やSQLへの影響を容易に検出できるようにすることを課題とする。
【0010】
【課題を解決するための手段】
上記課題を解決するために、本発明は、データベースに記憶している実データを管理するスキーマ情報の参照装置において、前記データベースからスキーマ情報を読み込む手段と、前記読み込まれたスキーマ情報を保持する手段と、前記データベースを参照して当該データベースのスキーマ情報と前記保持されているスキーマ情報とを比較してスキーマ情報相互が異なる場合に差分データを作成する手段とを備える。
【0011】
また、スキーマ情報を保持する手段においては、スキーマ情報の各要素をそれぞれオブジェクトとして保持することにより、各要素のオブジェクトに差分情報や既に定義済みのSQL文で利用されているか否か等の情報を持たせることができる。これにより、各要素のオブジェクト自体がデータベースの差分発生により他の定義情報にどのような影響があるのかを認識することができる。そのため、定義済みのSQL文への影響を容易に、かつ、高速に検出することができる。
【0012】
【発明の実施の形態】
以下、本発明の実施形態について図面を参照して説明する。
【0013】
(実施形態1)
[構成の説明]
図1は、本発明の実施形態1のスキーマ情報参照装置の模式的な構成を示すブロック図である。
【0014】
図1には、以下説明するキーボード1と、スキーマ情報の読み込み手段2と、スキーマ情報の保持手段3と、スキーマ情報の差分チェック手段4と、スキーマ情報格納ファイル5と、データベース6とを示している。
【0015】
キーボード1は、利用者がスキーマ情報などの指示を入力するものである。
【0016】
スキーマ情報の読み込み手段2は、キーボード1から入力された指示応じてデータベース6のスキーマ情報を読み込むものである。なお、図1には、一台のキーボードを図示しているが、複数のキーボードからスキーマ情報の読み込み手段2と、スキーマ情報の保持手段3と、スキーマ情報の差分チェック手段4とへそれぞれアクセスできるようにしてもよい。
【0017】
スキーマ情報の保持手段3は、スキーマ情報の読み込み手段2によって読み込まれたスキーマ情報を記憶しておきキーボード1から入力された指示に応じて記憶しているスキーマ情報をスキーマ情報格納ファイル5に格納するものである。
【0018】
スキーマ情報の差分チェック手段4は、スキーマ情報格納ファイル5に格納されているスキーマ情報とデータベース6のスキーマ情報との差分の有無をチェックするものである。
【0019】
スキーマ情報格納ファイル5は、スキーマ情報の保持手段3からのスキーマ情報を格納しておくものである。
【0020】
データベース6は、実データ及びこの実データを管理するスキーマ、副スキーマ、記憶スキーマの3層で定義される情報等を記憶するものである。
【0021】
[動作の説明]
まず、図1に示すスキーマ情報参照装置の動作の概略について説明する。
【0022】
利用者がキーボード1からスキーマ情報の参照するように指示を入力すると、この指示がスキーマ情報の読み込み手段2へ出力される。
【0023】
スキーマ情報の読み込み手段2は、キーボード1からの指示に応じて、任意のデータベース6に接続を行い、スキーマ情報などのデータを取得し、スキーマ情報の保持手段3へ通知する。
【0024】
スキーマ情報の保持手段3は、スキーマ情報の読み込み手段2からの通知を表、列等の構成要素単位にオブジェクト化して内蔵するメモリ上に保持しておき、キーボード1からの指示により任意の契機で保持している情報をスキーマ情報格納ファイル5にオブジェクトのシリアライズを行うことで保存する。
【0025】
スキーマ情報の差分チェック手段4は、キーボード1からの指示により、スキーマ情報格納ファイル5が保持している情報とデータベース6の保持している情報との差分の有無をチェックし、チェックの結果差分があれば、メモリ上の各オブジェクトに情報を反映(更新)した後、スキーマ情報格納ファイル5に差分情報を反映(更新)する。
【0026】
つぎに、図1に示すスキーマ情報参照装置の具体的な動作について説明する。
【0027】
図2は、図1のスキーマ情報格納ファイル5にスキーマ情報を格納するまでの手順を示すフローチャートである。
【0028】
まず、利用者によってキーボード1からデータベース6へのアクセス情報(データベースの識別情報、ユーザアカウント)が入力されると(ステップA1)、このアクセス情報に応じてスキーマ情報の読み込み手段2は、データベース6のスキーマ情報を読み込む(ステップA2)。
【0029】
スキーマ情報の読み込み手段2によって、読み込まれたデータベースのスキーマ情報はスキーマ情報の保持手段3へ通知される。
【0030】
スキーマ情報の保持手段3は、通知された情報をメモリ上に各要素をオブジェクトとして展開する。この後、任意の契機でキーボード1から保存を指示されると、スキーマ情報の保持手段3はメモリ上のオブジェクトをスキーマ情報格納ファイル5にシリアライズして保存する(ステップA3)。
【0031】
図3は、図1のスキーマ情報格納ファイル5にスキーマ情報を格納してからの手順を示すフローチャートである。
【0032】
キーボード1からの入力に応じて、スキーマ情報の差分チェック手段4は、スキーマ情報の読み込み手段2で先に読み込まれている情報を、データベース6から読み込む(ステップB1)。
【0033】
SQL定義システムの起動直後などは、メモリ上にスキーマ情報が存在しないため、スキーマ情報の保持手段3が、内蔵するメモリ上にスキーマ情報(データベース情報)が存在するかどうかをチェックする(ステップB2)。
【0034】
メモリ上にスキーマ情報が存在しない場合は、スキーマ情報の保持手段3が、スキーマ情報格納ファイル5から情報を読み込んでメモリ上に展開する(ステップB3)。
【0035】
一方、メモリ上にスキーマ情報が存在する場合や、スキーマ情報格納ファイル5から情報の読み込みを終えると、スキーマ情報の差分チェック手段4は、スキーマ情報の保持手段3が保持する情報とデータベース6から読み込んだ情報との比較を行う(ステップB4)。
【0036】
比較した結果から、データベース6のスキーマ情報に差分があるかどうかをチェックし(ステップB5)、差分がある場合は、スキーマ情報の保持手段3に差分情報を通知し、スキーマ情報の保持手段3が保持する情報に反映する。
【0037】
このとき、スキーマ情報がどのように変更されたかはスキーマ情報の各構成要素に対応するオブジェクトに保持させる(ステップB6)。
【0038】
なお、表や列が削除された場合にも削除されたことを記憶し、対応するオブジェクトは、解放しない。スキーマ情報の差分情報を画面表示やSQL等に反映して差分情報が不要になったときにオブジェクトの解放を行うことができるものとする。
【0039】
一方、差分がある場合は、スキーマ情報の保持手段3が保持する情報に反映することなく、図3に示す処理を終了する。
【0040】
図4は、図1のデータベース6のスキーマ情報を更新前後の様子を示す図である。
【0041】
図4を用いて、データベース6のスキーマ情報が変更される際の動作について説明する。
【0042】
まず、データベース6に、オーナXのスキーマ情報として、表A及び表B…が記憶されており、表Aには列A−1、A−2、A−3が含まれ、表Bには列B−1、B−2が含まれていたとする。
【0043】
この状態で、利用者によってキーボード1からデータベース6のアクセス情報として、データベース6のオーナにオーナXが入力されると、このアクセス情報に応じてスキーマ情報の読み込み手段2は、データベース6からオーナXが所有する表A及び、表Aに含まれる列A−1、A−2、A−3の名前、及び、データ型やサイズ、表Bに含まれる列B−1、B−2、B−3の名前、及び、データ型やサイズなどの属性を読み込む。
【0044】
スキーマ情報の読み込み手段2によって、読み込まれたデータベースのスキーマ情報はスキーマ情報の保持手段3へ通知される。
【0045】
スキーマ情報の保持手段3により、通知された情報の各要素をオブジェクト化してメモリ上に保持する。キーボード1からの指示によりスキーマ情報の保持手段3は、メモリ上に保持しているオブジェクトをシリアライズしてスキーマ情報格納ファイル5に格納する。
【0046】
その後、図4に示すようにデータベース6のオーナXのスキーマ情報が、表Aに含まれる列A−1、A−2、表Bに含まれる列B−1、B−2、B−3…のように変更され、それから、キーボード1からスキーマ情報の差分チェック手段4に差分をチェックするように指示すると、スキーマ情報の差分チェック手段4は、スキーマ情報格納ファイル5から読み込んだ情報とデータベース6におけるオーナXの所有する資源について差分のチェックを行う。
【0047】
その結果、表Aから列A−3が削除されたことと、表Bに列B−3が追加されたことが検出されるので、表Aと表Bとに対応するオブジェクトに列の変更が発生したことを記憶させるとともに、列B−3に対応するオブジェクトを生成する。
【0048】
変更後の各オブジェクトをシリアライズしてスキーマ情報格納ファイル5へ反映した後、差分情報を利用者に通知するために画面表示を行う。
【0049】
(実施形態2)
[構成の説明]
図5は、本発明の実施形態2のスキーマ情報参照装置の模式的な構成を示すブロック図である。
【0050】
図5には、図1に示した各部に加えて、定義済みのSQLの定義情報中に変更されたスキーマに対応するオブジェクトが含まれている場合にSQLの整合性をチェックし、SQLの整合性が失われている場合は、画面に情報を表示して利用者に通知するSQLの整合性チェック手段7を示している。
【0051】
[動作の説明]
図6は、図5のスキーマ情報格納ファイル5にスキーマ情報を格納してからの手順を示すフローチャートである。
【0052】
なお、図5のスキーマ情報格納ファイル5にスキーマ情報を格納するまでの手順は図2と同様である。
【0053】
まず、図3で説明したのと同様に、スキーマ情報の読み込み、メモリ上にデータベース情報が存在するかどうかの判別、スキーマ情報格納ファイル5からの情報の読み込み、スキーマ情報の差分チェック、差分の有無の判別、差分の保持しているデータへの反映を行う(ステップD1〜D6)。
【0054】
さらに、スキーマ情報の差分チェック手段4は、差分情報をSQLの整合性チェック手段7にも通知する。SQLの整合性チェック手段7は、SQLで使用している表に対応するオブジェクトが削除されたり、SQLで使用している列に対応するオブジェクトの属性が変更されたなどの変更がないかといったようなSQLの整合性をチェックし(ステップD7)、チェック結果に基づいて、整合性が失われているSQLが存在するかどうかを判別する(ステップD8)。
【0055】
判別の結果、整合性を失ったSQLが存在する場合は、それらの情報を図示しない画面に表示する(ステップD9)。一方、整合性を失ったSQLが存在しない場合は、それらの情報を画面に表示することなく、図6に示す処理を終了する。
【0056】
つぎに、図4を用いて、図5のデータベース6のスキーマ情報が変更される際の動作について説明する。
【0057】
まず、データベース6に、オーナXのスキーマ情報として、表A及び表B…が記憶されており、表Aには列A−1、A−2、A−3が含まれ、表Bには列B−1、B−2が含まれていたとする。
【0058】
この状態で、利用者によってキーボード1からデータベース6のアクセス情報として、データベース6のオーナにオーナXが入力されると、このアクセス情報に応じてスキーマ情報の読み込み手段2は、データベース6からオーナXが所有する表A及び、表Aに含まれる列A−1、A−2、A−3の名前、及び、データ型やサイズ、表Bに含まれる列B−1、B−2、B−3の名前、及び、データ型やサイズなどの属性を読み込む。
【0059】
スキーマ情報の読み込み手段2によって、読み込まれたデータベースのスキーマ情報はスキーマ情報の保持手段3へ通知される。
【0060】
スキーマ情報の保持手段3により、通知された情報を表や列等の単位でオブジェクト化し、名前やデータ型、サイズなどはオブジェクトのプロパティとしてメモリ上に保持する。キーボード1からの指示によりスキーマ情報の保持手段3は、メモリ上に保持している情報をスキーマ情報格納ファイル5にシリアライズして格納する。
【0061】
その後、図4に示すようにデータベース6のオーナXのスキーマ情報が、表Aに含まれる列A−1、A−2、表Bに含まれる列B−1、B−2、B−3…のように変更され、それから、キーボード1からスキーマ情報の差分チェック手段4に差分をチェックするように指示すると、スキーマ情報の差分チェック手段4は、スキーマ情報格納ファイル5から読み込んだ情報とデータベース6におけるオーナXの所有する資源について差分のチェックを行う。
【0062】
その結果、表Aから列A−3が削除されたことと、表Bに列B−3が追加されたことが検出されるので、それらの情報をメモリ上に保持しているスキーマ情報格納ファイル5から読み込んだ情報に反映する。
【0063】
その後、スキーマ情報の差分チェック手段4は、SQLの整合性チェック手段7に差分情報を通知する。SQLの整合性チェック手段7は、表Aの列A−3が削除されたことにより整合性を失うSQLの定義を検索し、さらに、表Bに新規に列が追加されたことにより整合性を失うSQLの定義を検索する。整合性を失うSQLの定義を検出した場合は、影響を受けるSQLの定義に関する情報を画面に表示する。
【0064】
【発明の効果】
以上、説明したように、本発明によると、データベースのスキーマ情報が更新されたときに、更新背後のスキーマ情報の差分データを作成しているので、スキーマ情報へのアクセスの高速化が十分に図ることができる。
【0065】
また、本発明によると、例えばデータベースのスキーマ情報を参照しながら、SQL文を定義する開発支援システムにおいて、スキーマの各要素(表、列など)に対応したオブジェクトをGUI上のアイコンと関連づけることにより、アイコンをマウスでクリックしたときに対応する必要な情報に簡単にアクセスすることが可能となる。このため、開発支援システムの開発を容易にすることができる。
【0066】
さらに、本発明によると、スキーマの差分情報およびスキーマの差分による不整合が発生したSQL文をグラフィカルに表示可能であるため、利用者は影響範囲を容易に認識可能であり、データベースのスキーマ更新自体が誤っていた場合には、その誤りを認識することができる。
【図面の簡単な説明】
【図1】本発明の実施形態1のスキーマ情報参照装置の模式的な構成を示すブロック図である。
【図2】図1のスキーマ情報格納ファイル5にスキーマ情報を格納するまでの手順を示すフローチャートである。
【図3】図1のスキーマ情報格納ファイル5にスキーマ情報を格納してからの手順を示すフローチャートである。
【図4】図1のデータベース6のスキーマ情報を更新前後の様子を示す図である。
【図5】本発明の実施形態2のスキーマ情報参照装置の模式的な構成を示すブロック図である。
【図6】図5のスキーマ情報格納ファイル5にスキーマ情報を格納してからの手順を示すフローチャートである。
【符号の説明】
1 キーボード
2 スキーマ情報の読み込み手段
3 スキーマ情報の保持手段
4 スキーマ情報の差分チェック手段
5 スキーマ情報格納ファイル
6 データベース
7 SQLの整合性チェック手段
【発明の属する技術分野】
本発明は、スキーマ情報の参照装置に関し、特に、データベースと接続していない状態でもスキーマ情報を参照するスキーマ情報の参照装置に関する。
【0002】
【従来の技術】
従来、データベースのスキーマ情報の内、表や列などの情報をアイコンとして画面に表示し、これらのアイコンをマウスでクリックした契機でデータベースから、その表の属性や、配下の列に関する情報を毎回取得する手法がある。
【0003】
ここで、特開平4−216147号公報には、データベースのスキーマ情報をローカルシステムに保持する方式が記載されている。この公報は、スキーマ構造とプログラムとを独立化させることを前提としているため、スキーマ構造を意識する必要があるスキーマのGUI(Graphical User Interface)表示機能や構造化照会言語(Structured Query Language:SQL)文の作成を支援するシステムには適合しない。
【0004】
さらに、特開平7−210435号公報には、スキーマ更新前後の実体データを効率良くアクセスできるとともに、スキーマが入れ子に構成された場合でも適宜データの変換を高速に実施できるデータベース管理装置を提供ために、更新後のスキーマと更新前のスキーマとを版情報を用いて相互に関連づけて管理し、その版情報に基づいて更新後のスキーマに対応する実体データを作成し、その実体データと更新前のスキーマに対応する実体データとを関連づけるデータベース管理装置が記載されている。
【0005】
【発明が解決しようとする課題】
しかし、従来の技術は、データベースのスキーマ情報が更新されたときに、更新背後のスキーマ情報の差分データを作成していなかったため、スキーマ情報へのアクセスの高速化が十分になされていない場合があった。
【0006】
また、従来の技術は、スキーマ情報が変更された場合にSQLの編集作業する手段もないため、SQL文を発行するプログラムの開発などには適用できないという問題があった。同様に、スキーマ情報をグラフィカルに画面表示するようなシステムにおいても、適用できないという問題があった。
【0007】
さらに、従来の技術は、スキーマ構造とプログラムとを独立化させていることにより、スキーマ情報の更新による影響を利用者が認識できず、スキーマ情報の更新自体が不正な場合にも評価を実施するまで問題を検出できないという問題があった。
【0008】
そこで、本発明は、スキーマ情報へのアクセスの高速化が十分になされるようにすることを課題とする。
【0009】
また、本発明は、スキーマ情報の構成要素をオブジェクトとして保持することでスキーマ情報をGUIで表示するシステムとの適合性を向上させ、かつ、スキーマが変更された場合に画面表示やSQLへの影響を容易に検出できるようにすることを課題とする。
【0010】
【課題を解決するための手段】
上記課題を解決するために、本発明は、データベースに記憶している実データを管理するスキーマ情報の参照装置において、前記データベースからスキーマ情報を読み込む手段と、前記読み込まれたスキーマ情報を保持する手段と、前記データベースを参照して当該データベースのスキーマ情報と前記保持されているスキーマ情報とを比較してスキーマ情報相互が異なる場合に差分データを作成する手段とを備える。
【0011】
また、スキーマ情報を保持する手段においては、スキーマ情報の各要素をそれぞれオブジェクトとして保持することにより、各要素のオブジェクトに差分情報や既に定義済みのSQL文で利用されているか否か等の情報を持たせることができる。これにより、各要素のオブジェクト自体がデータベースの差分発生により他の定義情報にどのような影響があるのかを認識することができる。そのため、定義済みのSQL文への影響を容易に、かつ、高速に検出することができる。
【0012】
【発明の実施の形態】
以下、本発明の実施形態について図面を参照して説明する。
【0013】
(実施形態1)
[構成の説明]
図1は、本発明の実施形態1のスキーマ情報参照装置の模式的な構成を示すブロック図である。
【0014】
図1には、以下説明するキーボード1と、スキーマ情報の読み込み手段2と、スキーマ情報の保持手段3と、スキーマ情報の差分チェック手段4と、スキーマ情報格納ファイル5と、データベース6とを示している。
【0015】
キーボード1は、利用者がスキーマ情報などの指示を入力するものである。
【0016】
スキーマ情報の読み込み手段2は、キーボード1から入力された指示応じてデータベース6のスキーマ情報を読み込むものである。なお、図1には、一台のキーボードを図示しているが、複数のキーボードからスキーマ情報の読み込み手段2と、スキーマ情報の保持手段3と、スキーマ情報の差分チェック手段4とへそれぞれアクセスできるようにしてもよい。
【0017】
スキーマ情報の保持手段3は、スキーマ情報の読み込み手段2によって読み込まれたスキーマ情報を記憶しておきキーボード1から入力された指示に応じて記憶しているスキーマ情報をスキーマ情報格納ファイル5に格納するものである。
【0018】
スキーマ情報の差分チェック手段4は、スキーマ情報格納ファイル5に格納されているスキーマ情報とデータベース6のスキーマ情報との差分の有無をチェックするものである。
【0019】
スキーマ情報格納ファイル5は、スキーマ情報の保持手段3からのスキーマ情報を格納しておくものである。
【0020】
データベース6は、実データ及びこの実データを管理するスキーマ、副スキーマ、記憶スキーマの3層で定義される情報等を記憶するものである。
【0021】
[動作の説明]
まず、図1に示すスキーマ情報参照装置の動作の概略について説明する。
【0022】
利用者がキーボード1からスキーマ情報の参照するように指示を入力すると、この指示がスキーマ情報の読み込み手段2へ出力される。
【0023】
スキーマ情報の読み込み手段2は、キーボード1からの指示に応じて、任意のデータベース6に接続を行い、スキーマ情報などのデータを取得し、スキーマ情報の保持手段3へ通知する。
【0024】
スキーマ情報の保持手段3は、スキーマ情報の読み込み手段2からの通知を表、列等の構成要素単位にオブジェクト化して内蔵するメモリ上に保持しておき、キーボード1からの指示により任意の契機で保持している情報をスキーマ情報格納ファイル5にオブジェクトのシリアライズを行うことで保存する。
【0025】
スキーマ情報の差分チェック手段4は、キーボード1からの指示により、スキーマ情報格納ファイル5が保持している情報とデータベース6の保持している情報との差分の有無をチェックし、チェックの結果差分があれば、メモリ上の各オブジェクトに情報を反映(更新)した後、スキーマ情報格納ファイル5に差分情報を反映(更新)する。
【0026】
つぎに、図1に示すスキーマ情報参照装置の具体的な動作について説明する。
【0027】
図2は、図1のスキーマ情報格納ファイル5にスキーマ情報を格納するまでの手順を示すフローチャートである。
【0028】
まず、利用者によってキーボード1からデータベース6へのアクセス情報(データベースの識別情報、ユーザアカウント)が入力されると(ステップA1)、このアクセス情報に応じてスキーマ情報の読み込み手段2は、データベース6のスキーマ情報を読み込む(ステップA2)。
【0029】
スキーマ情報の読み込み手段2によって、読み込まれたデータベースのスキーマ情報はスキーマ情報の保持手段3へ通知される。
【0030】
スキーマ情報の保持手段3は、通知された情報をメモリ上に各要素をオブジェクトとして展開する。この後、任意の契機でキーボード1から保存を指示されると、スキーマ情報の保持手段3はメモリ上のオブジェクトをスキーマ情報格納ファイル5にシリアライズして保存する(ステップA3)。
【0031】
図3は、図1のスキーマ情報格納ファイル5にスキーマ情報を格納してからの手順を示すフローチャートである。
【0032】
キーボード1からの入力に応じて、スキーマ情報の差分チェック手段4は、スキーマ情報の読み込み手段2で先に読み込まれている情報を、データベース6から読み込む(ステップB1)。
【0033】
SQL定義システムの起動直後などは、メモリ上にスキーマ情報が存在しないため、スキーマ情報の保持手段3が、内蔵するメモリ上にスキーマ情報(データベース情報)が存在するかどうかをチェックする(ステップB2)。
【0034】
メモリ上にスキーマ情報が存在しない場合は、スキーマ情報の保持手段3が、スキーマ情報格納ファイル5から情報を読み込んでメモリ上に展開する(ステップB3)。
【0035】
一方、メモリ上にスキーマ情報が存在する場合や、スキーマ情報格納ファイル5から情報の読み込みを終えると、スキーマ情報の差分チェック手段4は、スキーマ情報の保持手段3が保持する情報とデータベース6から読み込んだ情報との比較を行う(ステップB4)。
【0036】
比較した結果から、データベース6のスキーマ情報に差分があるかどうかをチェックし(ステップB5)、差分がある場合は、スキーマ情報の保持手段3に差分情報を通知し、スキーマ情報の保持手段3が保持する情報に反映する。
【0037】
このとき、スキーマ情報がどのように変更されたかはスキーマ情報の各構成要素に対応するオブジェクトに保持させる(ステップB6)。
【0038】
なお、表や列が削除された場合にも削除されたことを記憶し、対応するオブジェクトは、解放しない。スキーマ情報の差分情報を画面表示やSQL等に反映して差分情報が不要になったときにオブジェクトの解放を行うことができるものとする。
【0039】
一方、差分がある場合は、スキーマ情報の保持手段3が保持する情報に反映することなく、図3に示す処理を終了する。
【0040】
図4は、図1のデータベース6のスキーマ情報を更新前後の様子を示す図である。
【0041】
図4を用いて、データベース6のスキーマ情報が変更される際の動作について説明する。
【0042】
まず、データベース6に、オーナXのスキーマ情報として、表A及び表B…が記憶されており、表Aには列A−1、A−2、A−3が含まれ、表Bには列B−1、B−2が含まれていたとする。
【0043】
この状態で、利用者によってキーボード1からデータベース6のアクセス情報として、データベース6のオーナにオーナXが入力されると、このアクセス情報に応じてスキーマ情報の読み込み手段2は、データベース6からオーナXが所有する表A及び、表Aに含まれる列A−1、A−2、A−3の名前、及び、データ型やサイズ、表Bに含まれる列B−1、B−2、B−3の名前、及び、データ型やサイズなどの属性を読み込む。
【0044】
スキーマ情報の読み込み手段2によって、読み込まれたデータベースのスキーマ情報はスキーマ情報の保持手段3へ通知される。
【0045】
スキーマ情報の保持手段3により、通知された情報の各要素をオブジェクト化してメモリ上に保持する。キーボード1からの指示によりスキーマ情報の保持手段3は、メモリ上に保持しているオブジェクトをシリアライズしてスキーマ情報格納ファイル5に格納する。
【0046】
その後、図4に示すようにデータベース6のオーナXのスキーマ情報が、表Aに含まれる列A−1、A−2、表Bに含まれる列B−1、B−2、B−3…のように変更され、それから、キーボード1からスキーマ情報の差分チェック手段4に差分をチェックするように指示すると、スキーマ情報の差分チェック手段4は、スキーマ情報格納ファイル5から読み込んだ情報とデータベース6におけるオーナXの所有する資源について差分のチェックを行う。
【0047】
その結果、表Aから列A−3が削除されたことと、表Bに列B−3が追加されたことが検出されるので、表Aと表Bとに対応するオブジェクトに列の変更が発生したことを記憶させるとともに、列B−3に対応するオブジェクトを生成する。
【0048】
変更後の各オブジェクトをシリアライズしてスキーマ情報格納ファイル5へ反映した後、差分情報を利用者に通知するために画面表示を行う。
【0049】
(実施形態2)
[構成の説明]
図5は、本発明の実施形態2のスキーマ情報参照装置の模式的な構成を示すブロック図である。
【0050】
図5には、図1に示した各部に加えて、定義済みのSQLの定義情報中に変更されたスキーマに対応するオブジェクトが含まれている場合にSQLの整合性をチェックし、SQLの整合性が失われている場合は、画面に情報を表示して利用者に通知するSQLの整合性チェック手段7を示している。
【0051】
[動作の説明]
図6は、図5のスキーマ情報格納ファイル5にスキーマ情報を格納してからの手順を示すフローチャートである。
【0052】
なお、図5のスキーマ情報格納ファイル5にスキーマ情報を格納するまでの手順は図2と同様である。
【0053】
まず、図3で説明したのと同様に、スキーマ情報の読み込み、メモリ上にデータベース情報が存在するかどうかの判別、スキーマ情報格納ファイル5からの情報の読み込み、スキーマ情報の差分チェック、差分の有無の判別、差分の保持しているデータへの反映を行う(ステップD1〜D6)。
【0054】
さらに、スキーマ情報の差分チェック手段4は、差分情報をSQLの整合性チェック手段7にも通知する。SQLの整合性チェック手段7は、SQLで使用している表に対応するオブジェクトが削除されたり、SQLで使用している列に対応するオブジェクトの属性が変更されたなどの変更がないかといったようなSQLの整合性をチェックし(ステップD7)、チェック結果に基づいて、整合性が失われているSQLが存在するかどうかを判別する(ステップD8)。
【0055】
判別の結果、整合性を失ったSQLが存在する場合は、それらの情報を図示しない画面に表示する(ステップD9)。一方、整合性を失ったSQLが存在しない場合は、それらの情報を画面に表示することなく、図6に示す処理を終了する。
【0056】
つぎに、図4を用いて、図5のデータベース6のスキーマ情報が変更される際の動作について説明する。
【0057】
まず、データベース6に、オーナXのスキーマ情報として、表A及び表B…が記憶されており、表Aには列A−1、A−2、A−3が含まれ、表Bには列B−1、B−2が含まれていたとする。
【0058】
この状態で、利用者によってキーボード1からデータベース6のアクセス情報として、データベース6のオーナにオーナXが入力されると、このアクセス情報に応じてスキーマ情報の読み込み手段2は、データベース6からオーナXが所有する表A及び、表Aに含まれる列A−1、A−2、A−3の名前、及び、データ型やサイズ、表Bに含まれる列B−1、B−2、B−3の名前、及び、データ型やサイズなどの属性を読み込む。
【0059】
スキーマ情報の読み込み手段2によって、読み込まれたデータベースのスキーマ情報はスキーマ情報の保持手段3へ通知される。
【0060】
スキーマ情報の保持手段3により、通知された情報を表や列等の単位でオブジェクト化し、名前やデータ型、サイズなどはオブジェクトのプロパティとしてメモリ上に保持する。キーボード1からの指示によりスキーマ情報の保持手段3は、メモリ上に保持している情報をスキーマ情報格納ファイル5にシリアライズして格納する。
【0061】
その後、図4に示すようにデータベース6のオーナXのスキーマ情報が、表Aに含まれる列A−1、A−2、表Bに含まれる列B−1、B−2、B−3…のように変更され、それから、キーボード1からスキーマ情報の差分チェック手段4に差分をチェックするように指示すると、スキーマ情報の差分チェック手段4は、スキーマ情報格納ファイル5から読み込んだ情報とデータベース6におけるオーナXの所有する資源について差分のチェックを行う。
【0062】
その結果、表Aから列A−3が削除されたことと、表Bに列B−3が追加されたことが検出されるので、それらの情報をメモリ上に保持しているスキーマ情報格納ファイル5から読み込んだ情報に反映する。
【0063】
その後、スキーマ情報の差分チェック手段4は、SQLの整合性チェック手段7に差分情報を通知する。SQLの整合性チェック手段7は、表Aの列A−3が削除されたことにより整合性を失うSQLの定義を検索し、さらに、表Bに新規に列が追加されたことにより整合性を失うSQLの定義を検索する。整合性を失うSQLの定義を検出した場合は、影響を受けるSQLの定義に関する情報を画面に表示する。
【0064】
【発明の効果】
以上、説明したように、本発明によると、データベースのスキーマ情報が更新されたときに、更新背後のスキーマ情報の差分データを作成しているので、スキーマ情報へのアクセスの高速化が十分に図ることができる。
【0065】
また、本発明によると、例えばデータベースのスキーマ情報を参照しながら、SQL文を定義する開発支援システムにおいて、スキーマの各要素(表、列など)に対応したオブジェクトをGUI上のアイコンと関連づけることにより、アイコンをマウスでクリックしたときに対応する必要な情報に簡単にアクセスすることが可能となる。このため、開発支援システムの開発を容易にすることができる。
【0066】
さらに、本発明によると、スキーマの差分情報およびスキーマの差分による不整合が発生したSQL文をグラフィカルに表示可能であるため、利用者は影響範囲を容易に認識可能であり、データベースのスキーマ更新自体が誤っていた場合には、その誤りを認識することができる。
【図面の簡単な説明】
【図1】本発明の実施形態1のスキーマ情報参照装置の模式的な構成を示すブロック図である。
【図2】図1のスキーマ情報格納ファイル5にスキーマ情報を格納するまでの手順を示すフローチャートである。
【図3】図1のスキーマ情報格納ファイル5にスキーマ情報を格納してからの手順を示すフローチャートである。
【図4】図1のデータベース6のスキーマ情報を更新前後の様子を示す図である。
【図5】本発明の実施形態2のスキーマ情報参照装置の模式的な構成を示すブロック図である。
【図6】図5のスキーマ情報格納ファイル5にスキーマ情報を格納してからの手順を示すフローチャートである。
【符号の説明】
1 キーボード
2 スキーマ情報の読み込み手段
3 スキーマ情報の保持手段
4 スキーマ情報の差分チェック手段
5 スキーマ情報格納ファイル
6 データベース
7 SQLの整合性チェック手段
Claims (6)
- データベースに記憶している実データを管理するスキーマ情報の参照装置において、
前記データベースからスキーマ情報を読み込む手段と、
前記読み込まれたスキーマ情報を保持する手段と、
前記データベースを参照して当該データベースのスキーマ情報と前記保持されているスキーマ情報とを比較してスキーマ情報相互が異なる場合に差分データを作成する手段とを備えることを特徴とするスキーマ情報の参照装置。 - さらに、前記保持する手段で保持されているスキーマ情報が格納される格納ファイルを備えることを特徴とする請求項1記載のスキーマ情報の参照装置。
- 前記作成する手段で作成した差分データに基づいて前記保持する手段で保持されているスキーマ情報を更新する手段を備えることを特徴とする請求項1又は2記載のスキーマ情報の参照装置。
- さらに、前記データベースのスキーマ情報と前記保持されているスキーマ情報とが異なる場合に構造化照会言語の整合がとれているかどうかを判別し、整合がとれてない場合に装置本体の利用者にそのことを示す情報を報知する手段を備えることを特徴とする請求項1から3のいずれか1項記載のスキーマ情報の参照装置。
- さらに、前記差分データを装置本体の利用者に報知する手段を備えることを特徴とする請求項1から4のいずれか1項記載のスキーマ情報の参照装置。
- 前記保持する手段又は前記格納ファイルに複数の利用者がそれぞれ異なる指示入力手段からアクセスできるようにしていることを特徴とする請求項1から5のいずれか1項記載のスキーマ情報の参照装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002184733A JP2004030179A (ja) | 2002-06-25 | 2002-06-25 | スキーマ情報の参照装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002184733A JP2004030179A (ja) | 2002-06-25 | 2002-06-25 | スキーマ情報の参照装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004030179A true JP2004030179A (ja) | 2004-01-29 |
Family
ID=31180583
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002184733A Pending JP2004030179A (ja) | 2002-06-25 | 2002-06-25 | スキーマ情報の参照装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004030179A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012027690A (ja) * | 2010-07-23 | 2012-02-09 | Fujitsu Ltd | 情報統合プログラム、装置及び方法 |
US8214330B2 (en) | 2009-02-02 | 2012-07-03 | Ricoh Company, Limited | Information processing apparatus, information processing method, and computer program product |
-
2002
- 2002-06-25 JP JP2002184733A patent/JP2004030179A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8214330B2 (en) | 2009-02-02 | 2012-07-03 | Ricoh Company, Limited | Information processing apparatus, information processing method, and computer program product |
JP2012027690A (ja) * | 2010-07-23 | 2012-02-09 | Fujitsu Ltd | 情報統合プログラム、装置及び方法 |
US8412670B2 (en) | 2010-07-23 | 2013-04-02 | Fujitsu Limited | Apparatus, method, and program for integrating information |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7219104B2 (en) | Data cleansing | |
US8694557B2 (en) | Extensibility of metaobjects | |
US7401064B1 (en) | Method and apparatus for obtaining metadata from multiple information sources within an organization in real time | |
US8201079B2 (en) | Maintaining annotations for distributed and versioned files | |
JP4786945B2 (ja) | インデックス付与強制クエリ | |
US8060519B2 (en) | Ontology-integration-position specifying apparatus, ontology-integration supporting method, and computer program product | |
US8065323B2 (en) | Offline validation of data in a database system for foreign key constraints | |
US8010499B2 (en) | Database staging area read-through or forced flush with dirty notification | |
US10346381B2 (en) | Atomic update operations in a data storage system | |
US7099889B2 (en) | System and method for decoupling object identification for the purpose of object switching in database systems | |
US20230115491A1 (en) | Information presentation method and apparatus, electronic device, and storage medium | |
US7720814B2 (en) | Repopulating a database with document content | |
US9817811B2 (en) | Web server system, dictionary system, dictionary call method, screen control display method, and demonstration application generation method | |
EP2800013A1 (en) | Integration database framework | |
US11341142B2 (en) | Framework and metadata artefacts for updating data artefacts | |
US8433729B2 (en) | Method and system for automatically generating a communication interface | |
CN117170655A (zh) | 一种元数据处理方法、装置、数据处理设备及存储介质 | |
JP2003006242A (ja) | 製品データ管理システム、そのシステムを動作させるためのプログラム、そのプログラムが記録された記録媒体および製品データ管理方法 | |
JP2004030179A (ja) | スキーマ情報の参照装置 | |
US20050120352A1 (en) | Meta directory server providing users the ability to customize work-flows | |
JP2018085042A (ja) | データベース管理装置、情報処理システム、データベース管理方法及びデータベース管理プログラム | |
CN108959640B (zh) | Es索引快速构建方法及装置 | |
JPH0850559A (ja) | ファイル記憶保護装置 | |
US10762076B1 (en) | Memory efficient database change management | |
US20070153342A1 (en) | Display and editing of documents described by schemas |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040507 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20040518 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070827 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080306 |