JP6628566B2 - データベース管理装置及びプログラム - Google Patents

データベース管理装置及びプログラム Download PDF

Info

Publication number
JP6628566B2
JP6628566B2 JP2015221027A JP2015221027A JP6628566B2 JP 6628566 B2 JP6628566 B2 JP 6628566B2 JP 2015221027 A JP2015221027 A JP 2015221027A JP 2015221027 A JP2015221027 A JP 2015221027A JP 6628566 B2 JP6628566 B2 JP 6628566B2
Authority
JP
Japan
Prior art keywords
attribute
data
database
search
database management
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.)
Active
Application number
JP2015221027A
Other languages
English (en)
Other versions
JP2017091241A (ja
Inventor
鈴木 哲
哲 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MUFG Bank Ltd
Original Assignee
MUFG Bank Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by MUFG Bank Ltd filed Critical MUFG Bank Ltd
Priority to JP2015221027A priority Critical patent/JP6628566B2/ja
Publication of JP2017091241A publication Critical patent/JP2017091241A/ja
Application granted granted Critical
Publication of JP6628566B2 publication Critical patent/JP6628566B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、データベース管理システム(DBMS)に関する。
データベース管理システムでは、データベースにおいて検索条件に一致したデータ又はレコードを特定し、特定されたデータを抽出、更新及び削除するための各種データベース処理が実行されている。これらデータベース処理を実現するため、SQL言語が典型的に利用されている。
SQL言語による抽出処理は、例えば、
"SELECT FROM テーブル名 WHERE 検索条件"
の形式により記述され、当該SQL命令を実行することによって、"WHERE"文に記述された検索条件に一致したデータがテーブルから抽出される。
また、更新処理は、例えば、
"UPDATE テーブル名 SET 更新情報 WHERE 検索条件"
の形式により記述され、当該SQL命令を実行することによって、"WHERE"文に記述された検索条件に一致したデータが、"SET"文に記述された更新情報により更新される。
また、削除処理は、例えば、
"DELETE FROM テーブル名 WHERE 検索条件"
の形式により記述され、当該SQL命令を実行することによって、"WHERE"文に記述された検索条件に一致したデータがテーブルから削除される。
例えば、顧客データベースにおいて、各顧客を識別するため、数値属性を有するカラム"顧客番号"が割り当てられているとする。このとき、顧客番号が"12345"である顧客を検索するため、WHERE文において"顧客番号=12345"と記述することによって当該顧客を検索できる。また、各顧客を識別するため、文字属性を有するカラム"顧客名"が割り当てられているとする。このとき、顧客名が"鈴木一郎"である顧客を検索するため、WHERE文において"顧客名=鈴木一郎"と記述することによって当該顧客を検索できる。
特開平11−3257 特開2000−348061
このように、各カラムにはデータ属性が定義されており、定義されたデータ属性に対応する値が入力される必要がある。しかしながら、誤ったデータ属性による値が入力されることがあり、例えば、数値属性として定義されたカラム"顧客番号"に文字属性による値が入力されることもある。この場合、データベース管理システムは、適切な検索処理を実行できない、検索処理により多くの時間がかかる、などの問題が生じうる。
上述した問題点を鑑み、本発明の課題は、誤った属性値により記述されたデータベース処理要求の検索条件を訂正し、適切に検索処理を実行することが可能なデータベース管理システムを提供することである。
上記課題を解決するため、本発明の一態様は、データベース処理要求による検索対象データを検索する検索部と、属性定義情報を格納するデータ格納部と、前記データベース処理要求の検索条件に記述されたデータを検出し、前記検出されたデータに記述された属性値のデータ属性と、前記検出されたデータに対応する前記属性定義情報に規定されたデータ属性とを比較し、両者が一致しない場合、前記属性定義情報に規定されたデータ属性に従って前記検出されたデータを訂正する属性訂正部と、を有するデータベース管理装置に関する。
本発明の他の態様は、データベース処理要求の検索条件を解析し、前記データベース処理要求の検索条件に記述されたデータを検出するステップと、前記検出されたデータに記述された属性値のデータ属性と、前記検出されたデータに対応する属性定義情報に規定されたデータ属性とを比較するステップと、両者が一致しない場合、前記属性定義情報に規定されたデータ属性に従って前記検出されたデータを訂正するステップと、前記訂正された属性値の検索条件により検索対象データを検索するステップと、をプロセッサに実行させるためのプログラムに関する。
本発明によると、データベース処理要求において誤った属性値により記述された検索条件を適切に訂正して処理することができる。これにより、検索処理の実行時間を適正値に抑えることができる。
図1は、本発明の一実施例によるデータベース管理システムを示す概略図である。 図2は、本発明の一実施例によるデータベース管理装置のハードウェア構成を示すブロック図である。 図3は、本発明の一実施例によるデータベース管理装置の機能構成を示すブロック図である。 図4は、本発明の一実施例による属性定義情報を示す図である。 図5は、本発明の一実施例による属性値の訂正処理を示す概略図である。 図6は、本発明の一実施例によるデータベース検索処理を示すフローチャートである。
以下、図面に基づいて本発明の実施の形態を説明する。
後述される実施例では、データベース管理システムが開示される。本発明を概略すると、SQL命令などのデータベース処理要求を受信すると、データベース管理装置は、受信したデータベース処理要求を解析する。解析の結果として、誤った属性値により記述された検索条件を検出すると、データベース管理装置は、予め保持する属性定義情報に規定された正しいデータ属性によって当該検索条件の属性値を訂正し、訂正後の検索条件によりデータベースを検索する。これにより、受信した検索条件において誤った属性値が記述されていたとしても、属性定義情報に従って正しい属性値によりデータベース処理要求を書き換えることによって、適切な検索処理を実行することが可能になる。
まず、図1を参照して、本発明の一実施例によるデータベース管理システムを説明する。図1は、本発明の一実施例によるデータベース管理システムを示す概略図である。
図1に示されるように、データベース管理システム10は、データベース管理装置100、データベース200及びクライアント端末300を有する。データベース管理システム10では、クライアント端末300からのデータベース処理要求に応答して、データベース管理装置100が、データベース200に対して抽出処理、追加処理、更新処理、削除処理などの各種データベース処理を実行する。
データベース管理装置100は、クライアント端末300からデータベース処理要求を受信すると、受信したデータベース処理要求に対応するデータベース処理をデータベース200に対して実行する。データベース管理装置100は、典型的には、データベース200に通信接続されたサーバとして実現されてもよい。例えば、データベース管理装置100は、図2に示されるようなハードウェア構成を有してもよい。すなわち、データベース管理装置100は、バスBを介し相互接続されるドライブ装置101、補助記憶装置102、メモリ装置103、CPU(Central Processing Unit)104、インタフェース装置105及び通信装置106を有する。
データベース管理装置における後述される各種機能及び処理を実現するプログラムを含む各種コンピュータプログラムは、CD−ROM(Compact Disk−Read Only Memory)などの記録媒体107によって提供されてもよい。プログラムを記憶した記録媒体107がドライブ装置101にセットされると、プログラムが記録媒体107からドライブ装置101を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体107により行う必要はなく、ネットワークなどを介し何れかの外部装置からダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータなどを格納する。
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムやデータを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムやプログラムを実行するのに必要なパラメータなどの各種データに従って、後述されるようなデータベース管理装置100の各種機能及び処理を実行する。インタフェース装置105は、ネットワーク又は外部装置に接続するための通信インタフェースとして用いられる。通信装置106は、データベース200やクライアント端末300やなどの外部装置と通信するための各種通信処理を実行する。
しかしながら、データベース管理装置100は、上述したハードウェア構成に限定されるものでなく、例えば、何れか適切な情報処理装置により実現されてもよい。
データベース200は、所定のデータ形式により記述されたデータ又はレコードを格納する。データベース200は、データベース管理装置100からのデータベース処理要求に従ってデータ又はレコードを抽出、追加、更新、削除などする。データベース100は、典型的には、多数のストレージを備えたデータベースサーバにより実現されてもよい。データベース200は、データベース管理装置100の遠隔に配置されてもよいし、又はデータベース管理装置100に併設されてもよい。
一実施例では、データベース200は、リレーショナルデータベースであってもよく、所定のデータ形式により記述されたデータ又はレコードをテーブル形式などにより格納する。各データ又はレコードは識別子と1以上のカラムとから構成されてもよく、各カラムには文字属性、数値属性、ブール属性などのデータ属性が定義されている。各データ又はレコードには、各カラムに対応するデータ属性による値が収容されている。例えば、データ又はレコードは、"識別子:カラム1(数値属性);カラム2(文字属性);カラム3(ブール属性)"のデータ形式から構成され、データ又はレコードは、例えば、"101:12345;'abcde';0"であってもよい。すなわち、当該データ又はレコードの識別子は"101"であり、カラム1は数値"12345"であり、カラム2は文字"'abcde'"(なお、記号'x'はxが文字であることを表す)であり、カラム3はブール値"0"である。このようなデータ又はレコードが収集され、データベース200においてテーブルが形成される。
クライアント端末300は、図示されるように、パーソナルコンピュータ(PC)、携帯電話、スマートフォン、タブレットなど、ネットワークを介しデータベース管理装置100と通信可能な何れかの情報処理装置である。クライアント端末300は、ユーザからの入力操作に応答して、当該操作に対応する処理要求をデータベース管理装置100に送信し、データベース管理装置100による処理結果を受信する。
次に、図3を参照して、本発明の一実施例によるデータベース管理装置の構成を説明する。図3は、本発明の一実施例によるデータベース管理装置の機能構成を示すブロック図である。
図3に示されるように、データベース管理装置100は、検索部110、データ格納部120及び属性訂正部130を有する。
検索部110は、データベース処理要求による検索対象データを検索する。具体的には、検索部110は、データベース200に格納されている検索対象データにアクセスし、クライアント端末300から受信した抽出処理、更新処理、削除処理などのためのデータベース処理要求の処理対象のデータを特定する。SQL言語によるデータベース処理がデータベース管理装置100において利用可能である場合、検索部110は、WHERE文に記述された検索条件に一致するデータ又はレコードについて検索対象領域を検索する。
データ格納部120は、属性定義情報を格納する。ここで、属性定義情報は、データベース200に格納されているデータ又はレコードの各カラムのデータ属性を規定する。上述した具体例によると、属性定義情報は、カラム1,2,3のデータ属性がそれぞれ数値属性、文字属性及びブール属性であると規定する。属性定義情報は、例えば、データベース管理者により設定されるメタ情報である。
図4は、本発明の一実施例による属性定義情報を示す図である。図4に示されるように、属性定義情報はテーブル形式により構成され、「テーブル」、「カラム」、「属性」、「Length」などのデータ項目から構成される。図示された具体例では、「顧客管理テーブル」の属性情報が定義され、「顧客管理テーブル」の「顧客番号」、「顧客名」、「取引日」、「取引時刻」などの各カラムの「属性」及び「Length」が定義されている。例えば、「顧客番号」は、「文字列」属性及び長さ「10」を有する。また、「顧客名」は、「文字列」属性及び長さ「30」を有し、「取引日」は、「日付」属性及び長さ「8」を有し、「取引時刻」は、「時刻」属性及び長さ「10」を有する。なお、属性定義情報は、図示された実施例に限定されるものでなく、データ又はレコードの各カラムの属性を規定する何れか適切なデータ構造を有してもよい。
一実施例では、データ格納部120は更に、検索対象データを検索するためのインデックスデータを有してもよい。典型的なデータベース管理では、検索条件についてデータベース200の全データを検索する全量検索の代わりに、検索対象データの一部により構成された検索用のインデックスデータが用意され、インデックスデータを利用したインデックス(索引)検索が実行される。このインデックスデータを利用することによって、検索部110は、全量検索を実行するのと比較して、検索条件に一致したデータ又はレコードをより迅速に特定することができる。
属性訂正部130は、データベース処理要求の検索条件に記述されたデータを検出し、検出されたデータに記述された属性値のデータ属性と、検出されたデータに対応する属性定義情報に規定されたデータ属性とを比較し、両者が一致しない場合、属性定義情報に規定されたデータ属性に従って検出されたデータを訂正する。具体的には、クライアント端末300などからデータベース処理要求を受信すると、属性訂正部130は、受信したデータベース処理要求を解析し、データベース処理要求に記述された検索条件の各カラムの属性値が属性定義情報に規定されたデータ属性に一致しているか判断する。一致しない属性値を有する検索条件を検出すると、属性訂正部130は、属性定義情報に規定されたデータ属性により当該属性値を訂正又は書き換える。例えば、データベース処理要求がSQL言語により記述されている場合、属性訂正部130は、WHERE文に記述された検索条件の属性値が属性定義情報に規定されたデータ属性に一致しているか判断し、一致しない属性値を検出すると、WHERE文を書き換えることによって、当該属性値を属性定義情報に規定された属性値に訂正する。例えば、図5に示されるような発行前SQLが与えられたとする。属性訂正部130はまず、当該データベース処理要求が、「顧客管理テーブル」に対するものであると判断し、さらに、WHERE文の検索条件が「顧客番号」カラムに関するものであることを検出する。その後、属性訂正部130は、データ格納部120に記憶されている属性定義情報にアクセスし、「顧客管理テーブル」及び「顧客番号」に対応する属性情報が「文字列」であることを確認する。与えられた発行前SQLに記述された数値属性と属性定義情報の文字列属性とは一致しないため、属性訂正部130は、発行前SQLの属性値「111111111」が誤った属性により記述されていると判断し、数値属性による属性値「111111111」を属性定義情報に定義された文字列属性による属性値「'111111111'」に訂正することによって、データベース処理要求を変換する。 一実施例では、属性訂正部130は、属性定義情報に規定されたデータ属性と一致しない検索条件を検出すると、検出された検索条件を通知してもよい。具体的には、属性定義情報に規定されたデータ属性と一致しない属性値を有する検索条件を検出すると、属性訂正部130は、検出された検索条件をクライアント端末300に通知してもよい。これにより、属性不一致が検出され、適切な属性値に訂正することが困難なケースにおいて、属性訂正部130は、データベース管理装置100による自動訂正が困難であることをクライアント端末300に報告し、クライアント端末300に訂正後のデータベース処理要求を再入力させることができる。例えば、ブール属性値として"5"が誤入力されていた場合、属性訂正部130は、属性不一致を検出しても、誤入力された"5"が"0"又は"1"の何れを意図したものであるか容易には判断できない。この場合、属性訂正部130は、検出された属性値を訂正することなく、クライアント端末300に属性不一致が検出されたことを通知し、訂正後の検索条件を再入力させてもよい。
また、一実施例では、データ格納部120がインデックスデータを有する場合、検索部110は、訂正された検索条件によりインデックスデータを検索してもよい。インデックスデータを利用することによって、検索部110は、全量検索を実行するのと比較して、訂正後の検索条件に一致したデータ又はレコードをより迅速に特定することができる。
次に、図6を参照して、本発明の一実施例によるデータベース検索処理を説明する。図6は、本発明の一実施例によるデータベース検索処理を示すフローチャートである。
当該処理は、例えば、データベース管理装置100がクライアント端末300から抽出処理、更新処理、削除処理など、データベース200に格納されているデータ又はレコードを検索することを必要とするデータベース処理要求を受信したことに応答して実行されてもよい。
ステップS101において、データベース管理装置100は、受信したデータベース処理要求を解析し、データベース処理要求の検索条件に記述されたデータを検出する。具体的には、データベース管理装置100は、データベース処理要求の検索条件を解析する。
ステップS102において、データベース管理装置100は、検出されたデータに記述された属性値のデータ属性と、検出されたデータに対応する属性定義情報に規定されたデータ属性とを比較する。両者が一致しない場合(S102:Yes)、データベース管理装置100は、ステップS103において、属性定義情報に規定されたデータ属性に従って検出されたデータを訂正する。他方、両者が一致した場合(S102:No)、データベース管理装置100は、ステップS104に移行する。
ステップS104において、データベース管理装置100は、訂正された属性値の検索条件により検索対象データを検索する。また、インデックスデータが利用可能である場合、データベース管理装置100は、訂正後の検索条件によりインデックスデータを検索してもよい。
上述したデータベース検索処理は、データベース管理装置100のプロセッサにより実行されるプログラムにより実現されてもよい。
以上、本発明の実施例について詳述したが、本発明は上述した特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
10 データベース管理システム
100 データベース管理装置
110 検索部
120 データ格納部
130 属性訂正部
200 データベース
300 クライアント端末

Claims (4)

  1. データベース処理要求による検索対象データを検索する検索部と、
    属性定義情報を格納するデータ格納部と、
    前記データベース処理要求の検索条件に記述されたデータを検出し、前記検出されたデータに記述された属性値のデータ属性と、前記検出されたデータに対応する前記属性定義情報に規定されたデータ属性とを比較し、両者が一致しない場合、前記属性値のデータ属性を前記属性定義情報に規定されたデータ属性にフォーマット変換する属性訂正部と、
    を有するデータベース管理装置。
  2. 前記データ格納部は更に、前記検索対象データを検索するためのインデックスデータを有し、
    前記検索部は、前記フォーマット変換された検索条件により前記インデックスデータを検索する、請求項1記載のデータベース管理装置。
  3. 前記属性訂正部は、前記検出された検索条件を通知する、請求項1又は2記載のデータベース管理装置。
  4. データベース処理要求の検索条件を解析し、前記データベース処理要求の検索条件に記述されたデータを検出するステップと、
    前記検出されたデータに記述された属性値のデータ属性と、前記検出されたデータに対応する属性定義情報に規定されたデータ属性とを比較するステップと、
    両者が一致しない場合、前記属性値のデータ属性を前記属性定義情報に規定されたデータ属性にフォーマット変換するステップと、
    前記フォーマット変換されたデータによる検索条件により検索対象データを検索するステップと、
    をプロセッサに実行させるためのプログラム。
JP2015221027A 2015-11-11 2015-11-11 データベース管理装置及びプログラム Active JP6628566B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015221027A JP6628566B2 (ja) 2015-11-11 2015-11-11 データベース管理装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015221027A JP6628566B2 (ja) 2015-11-11 2015-11-11 データベース管理装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2017091241A JP2017091241A (ja) 2017-05-25
JP6628566B2 true JP6628566B2 (ja) 2020-01-08

Family

ID=58770636

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015221027A Active JP6628566B2 (ja) 2015-11-11 2015-11-11 データベース管理装置及びプログラム

Country Status (1)

Country Link
JP (1) JP6628566B2 (ja)

Also Published As

Publication number Publication date
JP2017091241A (ja) 2017-05-25

Similar Documents

Publication Publication Date Title
KR102230661B1 (ko) Sql 검토 방법, 장치, 서버 및 저장 매체
US10120876B2 (en) Unguided application crawling architecture
US10887171B2 (en) Routing configuration method of view files, storage medium, terminal device and apparatus
US10007548B2 (en) Transaction system
CN106407360B (zh) 一种数据的处理方法及装置
US11269954B2 (en) Data searching method of database, apparatus and computer program for the same
KR102368775B1 (ko) 인덱스 관리 방법, 장치, 기기 및 저장 매체
JP2014048673A (ja) ワークフロー生成サーバ、及び方法
JP2012027690A (ja) 情報統合プログラム、装置及び方法
JP4935399B2 (ja) セキュリティ運用管理システム、方法およびプログラム
CN107665227A (zh) 一种数据版本控制方法及数据版本控制器
US20190065551A1 (en) Data providing apparatus and data providing method
JP4237813B2 (ja) 構造化文書管理システム
CN115543402A (zh) 一种基于代码提交的软件知识图谱增量更新方法
US10140337B2 (en) Fuzzy join key
JP6628566B2 (ja) データベース管理装置及びプログラム
JP2007334412A (ja) 検索プログラムおよび検索装置
US10534761B2 (en) Significant cleanse change information
JP2010272006A (ja) 関係抽出装置、関係抽出方法、及びプログラム
KR102365434B1 (ko) 컨텐츠 검색 방법 및 컨텐츠 검색 시스템
JP2018181121A (ja) 分析装置、分析プログラム及び分析方法
WO2013147172A1 (ja) Cfd更新装置と方法及びデータクレンジング装置と方法並びにプログラム
JP4393498B2 (ja) 構造化文書管理システム及びプログラム
JP7481283B2 (ja) メタデータ管理装置、データ管理システムおよびデータ再現方法
JP2013149068A (ja) ファイル間の関連性の解析方法及びシステム並びにプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180828

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190910

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191101

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191119

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191203

R150 Certificate of patent or registration of utility model

Ref document number: 6628566

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250