JP5963635B2 - データベース処理装置、データベース処理方法、及びプログラム - Google Patents

データベース処理装置、データベース処理方法、及びプログラム Download PDF

Info

Publication number
JP5963635B2
JP5963635B2 JP2012223934A JP2012223934A JP5963635B2 JP 5963635 B2 JP5963635 B2 JP 5963635B2 JP 2012223934 A JP2012223934 A JP 2012223934A JP 2012223934 A JP2012223934 A JP 2012223934A JP 5963635 B2 JP5963635 B2 JP 5963635B2
Authority
JP
Japan
Prior art keywords
information
data
sql statement
user
extracted
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.)
Expired - Fee Related
Application number
JP2012223934A
Other languages
English (en)
Other versions
JP2014078059A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2012223934A priority Critical patent/JP5963635B2/ja
Publication of JP2014078059A publication Critical patent/JP2014078059A/ja
Application granted granted Critical
Publication of JP5963635B2 publication Critical patent/JP5963635B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、データベース処理装置、データベース処理方法、及びプログラムに関する。
複数テーブルから構成されるデータベースを検索する際に、データベースの専門的な知識がない初心者でも検索を可能とする技術として、例えば、特許文献1に記載の技術がある。
特開平11−161656号公報
しかし、特許文献1に記載の技術では、データベースから抽出可能なデータの条件設定を動的に生成することはできない。すなわち、データベースからデータを抽出しようとするユーザに応じて、条件設定を変更することができない。そのため、ユーザ毎に、抽出可能なデータの条件を変えるためには、データベースの専門的な知識を必要とするプログラムにより、データベースに対し設定する必要があった。
本発明は、上述の事情の下になされたもので、ユーザに応じたデータの抽出条件設定を容易に変更可能なデータベース処理装置、データベース処理方法、及びプログラムを提供することを目的とする。
上記目的を達成するため、本発明に係るデータベース処理装置は、
データが格納されるテーブルを記憶するデータベースから、データを抽出するデータベース処理装置であって、
ユーザを表す情報と、抽出すべきデータを表す情報と、を取得する取得部と、
ユーザを表す情報と、そのユーザが参照可能なデータの条件を表すデータセット情報とを対応付けて記憶する設定情報記憶部と、
前記設定情報記憶部から、前記取得部により取得された前記ユーザを表す情報に対応する前記データセット情報を取得し、取得した前記データセット情報と、前記取得部により取得された前記抽出すべきデータを表す情報と、に基づいて、SQL文を生成するSQL文生成部と、
前記SQL文生成部により生成されたSQL文を実行することにより、前記データベースからデータを抽出するSQL文実行部と、
を備え
前記データセット情報は、抽出すべきデータを表す情報と、その抽出すべきデータが抽出される複数のテーブルを表す情報と、を含むテーブル結合情報を含み、
前記SQL文生成部は、取得した前記データセット情報に含まれる前記テーブル結合情報に基づいて、前記複数のテーブルを結合して抽出すべきデータを抽出する旨を表すSQL文を生成する、
とを特徴とする。
本発明によれば、ユーザに応じたデータの抽出条件設定を容易に変更することができる。
本実施形態に係るデータベース処理システムの構成を示すブロック図である。 本実施形態に係るデータベース処理装置のハードウェア構成を示すブロック図である。 本実施形態に係るデータベース処理装置の機能的構成を示すブロック図である。 データベース処理装置が実行するデータ抽出処理の流れの一例を示すフローチャートである。 データベース処理装置が実行するデータ抽出処理の流れの一例を示すフローチャートである。 ユーザ権限情報を表す図である。 ユーザグループ情報を表す図である。 論理接続情報を表す図である。 DB接続権限情報を表す図である。 論理接続権限情報を表す図である。 (a)はデータセット詳細情報を表す図、(b)はテーブル項目条件情報を表す図、(c)はマスク設定情報を表す図、(d)はテーブル結合情報を表す図、(e)は昇順設定情報を表す図である。
図1は、本実施形態に係るデータベース処理システム1の構成を示すブロック図である。図1に示すように、データベース処理システム1は、端末装置100と、データベース処理装置200と、参照データベース(DB)300と、から構成される。端末装置100と、データベース処理装置200とは、インターネット等のネットワーク400を介して接続されている。
端末装置100は、例えば、LCD(Liquid Crystal Display)などの表示部と、キーボード及びマウスなどの入力部とを備えたパーソナル・コンピュータで構成される。端末装置100は、ユーザから、入力部を介して、参照DB300に格納されたデータを抽出する旨の要求を受け付ける。そして、端末装置100は、受け付けた要求をデータベース処理装置200にネットワーク400を介して送信する。また、端末装置100は、データベース処理装置200から、送信した要求に対する応答として、参照DB300から抽出されたデータを受信し、表示部に表示する。
データベース処理装置200は、端末装置100から受信したデータ抽出要求に従って、その端末装置100のユーザに対応するデータを参照DB300から抽出し、端末装置100に送信する。具体的には、データベース処理装置200は、端末装置100から受信したデータ抽出要求に従って、SQL(Structured Query Language)により構成されるプログラムを生成し、参照DB300からデータを抽出する。
また、データベース処理装置200は、具体的には、端末装置100にWEBサービスを提供するWEBサーバから構成される。従って、端末装置100は、WEBブラウザを介して抽出を希望するデータの条件をユーザから受け付け、その条件をデータベース処理装置200に送信する。
参照DB300は、各種データを記憶する記憶装置から構成される。参照DB300は、具体的には、テーブル構造により各種データを管理する。
次に、本実施形態に係るデータベース処理装置200のハードウェア構成について詳細に説明する。
図2は、本実施形態に係るデータベース処理装置200のハードウェア構成を示すブロック図である。図2に示すように、データベース処理装置200は、通信部201と、補助記憶部202と、主記憶部203と、制御部204と、入力部205と、出力部206と、から構成され、これら各部はバス207により接続されている。
通信部201は、ネットワーク400と通信可能に接続するための通信インターフェースから構成される。本実施形態において、通信部201は、制御部204の制御の下、端末装置100及び参照DB300との間で通信を行う。
補助記憶部202は、ハードディスク、フラッシュメモリ等の不揮発性メモリから構成される。補助記憶部202は、データベース処理装置200の処理を制御部204に行わせるためのプログラムや、プログラムの実行に必要な各種情報を記憶する。また、補助記憶部202は、制御部204の制御に従って、このプログラムのデータを制御部204に供給し、制御部204から供給されたデータを記憶する。
主記憶部203は、RAM(Random-Access Memory)等で構成される。制御部204は、補助記憶部202に記憶されているプログラムを主記憶部203にロードし、作業領域として用いる。
制御部204は、例えば、CPU(Central Processing Unit)から構成されており、データベース処理装置200の全体の制御を行う。
入力部205は、例えば、キーボード、マウス等の各種データを入力するための入力装置から構成される。
出力部206は、例えば、液晶ディスプレイ等の各種データを表示出力するための装置から構成される。
次に、本実施形態に係るデータベース処理装置200の機能的構成について詳細に説明する。
図3は、本実施形態に係るデータベース処理装置200の機能的構成を示すブロックである。図3に示すように、データベース処理装置200は、取得部210と、認証部220と、セッション判定部230と、設定情報記憶部240と、実行権限判定部250と、SQL文生成部260と、SQL文実行部270と、実行監視部280と、出力部290と、を備える。
取得部210は、ユーザからのデータ抽出指示を取得する。具体的には、取得部210は、ユーザを表す情報と、抽出すべきデータを表す情報とを含む抽出要求情報を端末装置100から受信する。
本実施形態において、通信部201と制御部204とが協働して、取得部210として機能する。
認証部220は、データ抽出指示を送信したユーザが、WEBシステムにログイン可能なユーザであるか否かを判定する。具体的には、認証部220は、取得部210により取得されたユーザを表す情報が、予めデータベース処理装置200に記憶されている、WEBシステムにログイン可能なユーザの情報に含まれている場合、データ抽出指示を送信したユーザが、WEBシステムにログイン可能なユーザであると判定する。
本実施形態において、制御部204が、認証部220として機能する。
セッション判定部230は、取得部210により取得された抽出要求情報に、WEBシステムにより参照DB300からデータ取得を実行するためのセッション情報が含まれているか否かを判定する。
本実施形態において、制御部204が、セッション判定部230として機能する。
設定情報記憶部240は、参照DB300から情報を抽出するための条件を予め設定情報として記憶する。具体的には、設定情報記憶部240は、ユーザ権限情報241と、ユーザグループ情報242と、論理接続情報243と、DB接続権限情報244と、論理接続権限情報245と、データセット情報246と、を記憶する。
ユーザ権限情報241は、ユーザが参照DB300からデータを取得可能か否かを表す情報である。図6に、ユーザ権限情報241の一例を示す。図6に示すユーザ権限情報241は、ユーザを識別するための情報である「USER_ID」と、そのユーザが参照DB300からデータを取得可能か否かを表す権限情報である「AUTH_KBN」と、を対応付けて含む。なお、「AUTH_KBN」の「0」は、そのユーザが参照DB300からデータを取得できない(取得する権限がない)ことを表し、「AUTH_KBN」の「0」は、そのユーザが参照DB300からデータを取得できる(取得する権限がある)ことを表す。
ユーザグループ情報242は、ユーザ毎に、そのユーザが属するグループを表す情報である。図7に、ユーザグループ情報242の一例を示す。図7に示すユーザグループ情報242は、ユーザを識別するための情報である「USER_ID」と、そのユーザが属するグループを識別するための情報である「GROUP_ID」と、を対応付けて含む。
論理接続情報243は、論理接続毎に、参照DB300に格納されているテーブルのうち、その論理接続により接続可能な少なくとも1つのテーブルの集合を表す情報である。ここで、「論理接続」とは、設定情報記憶部240に記憶された設定に基づいた、参照DB300への接続を表す。図8に、論理接続情報243の一例を示す。図8に示す論理接続情報243は、論理接続を識別するための情報である「CONNECT_ID」と、その論理接続により接続可能なテーブルの集合に含まれるテーブルを識別するための情報である「TABLE_ID」と、そのテーブルの集合に含まれるテーブルが格納されているデータベースを識別するための情報を表す「DATABASE_ID」と、を対応付けて含む。
DB接続権限情報244は、ユーザが利用可能な論理接続を表す情報である。図9に、DB接続権限情報244の一例を示す。図9に示すDB接続権限情報244は、論理接続を識別するための情報である「CONNECT_ID」と、その論理接続を利用可能なユーザのグループを識別するための情報である「GROUP_ID」と、を対応付けて含む。
論理接続権限情報245は、論理接続情報と、その論理接続情報に含まれるテーブルの集合の中のテーブルを利用するデータセット情報と、を表す情報である。データセット情報については、後述する。図10に、論理接続権限情報245の一例を示す。図10に示す論理接続権限情報245は、データセット情報を識別するための情報である「DATASET_ID」と、そのデータセット情報が利用するテーブルをテーブルの集合の中に含む論理接続を識別するための情報である「CONNECT_ID」と、データセット情報の階層を表す「DATASET_LEVEL」を対応付けて含む。データセット情報は、後述するように、テーブルだけでなく、他のデータセット情報を利用することも可能であり、他のデータセット情報を利用するデータセット情報を、さらに他のデータセット情報が利用してもよい。このように、データセット情報の階層は、他のデータセット情報を利用する程深くなり、その深さが「DATASET_LEVEL」として表される。
データセット情報246は、論理接続情報に含まれるテーブルの集合の中のテーブルからデータを抽出するためのSQL文を生成するために必要な情報の集合である。具体的には、データセット情報246は、データセット詳細情報246a、テーブル項目条件情報246b、マスク設定情報246c、テーブル結合情報246d、昇順設定情報246eを含む。
データセット詳細情報246aは、データ抽出対象であるテーブル及びそのテーブル中の項目を表す情報である。図11(a)に、データセット詳細情報246aの一例を示す。図11(a)に示すデータセット詳細情報246aは、データセット情報を識別するための情報である「DATASET_ID」と、そのデータセット情報が利用するテーブルを識別するための情報である「TABLE_ID」と、そのテーブル中の、データ抽出対象である項目を表す「COLUMN_ID」と、その項目が出力される順番を表す「DETAIL_ID」と、を対応付けて含む。データセット詳細情報246aの「COLUMN_ID」及び「TABLE_ID」は、後述するSQL文生成部260により生成されるSQL文において、SELECT句で指定される列名と、FROM句内で指定されるテーブル名と、にそれぞれ対応する。
テーブル項目条件情報246bは、データセット詳細情報246aにより表される、データ抽出対象であるテーブル及びそのテーブル中の項目からデータを抽出する条件を表す情報である。図11(b)に、テーブル項目情報246bの一例を示す。図11(b)に示すテーブル項目情報246bは、データセット情報を識別するための情報である「DATASET_ID」と、データ抽出対象である項目の出力の順番を表す「DETAIL_ID」と、その項目に対するデータ抽出条件を表す「COND_ID」と、を対応付けて含む。テーブル項目条件情報246bは、後述するSQL文生成部260により生成されるSQL文において、WHERE句で指定される条件に対応する。
マスク設定情報246cは、ユーザが参照不可能な項目を設定するための情報である。図11(c)に、マスク設定情報246cの一例を示す。図11(c)に示すマスク設定情報246cは、データセット情報を識別するための情報である「DATASET_ID」と、データ抽出対象である項目の出力の順番を表す「DETAIL_ID」と、その項目に対するデータ抽出条件を表す「COND_ID」と、その項目に対するデータ抽出条件の内容を表す「MASK_USER_COLUMN_ID」とを対応付けて含む。マスク設定情報246cは、後述するSQL文生成部260により生成されるSQL文において、WHERE句で指定される条件に対応する。
テーブル結合情報246dは、出力項目を出力するために結合が必要なテーブルを表す情報である。テーブル結合情報246dは、図11(d)に、テーブル情報246dの一例を示す。図11(d)に示すテーブル結合情報246dは、データセット情報を識別するための情報である「DATASET_ID」と、データ抽出対象である項目の出力の順番を表す「DETAIL_ID」と、一方の結合対象のテーブルを識別するための情報である「BASE_JOIN_TABLE_ID」と、結合する際にキーとなる、そのテーブルの項目を識別するための情報である「BASE_JOIN_COLUMN_ID」と、他方の結合対象のテーブルを識別するための情報である「JOIN_TABLE_ID」と、結合する際にキーとなる、そのテーブルの項目を識別するための情報である「JOIN_COLUMN_ID」と、を対応付けて含む。テーブル結合情報246dは、後述するSQL文生成部260により生成されるSQL文において、FROM句内の、テーブルの結合条件を表すINNER JOIN句に対応する。
昇順設定情報246eは、出力項目のソート方法を表す情報である。図11(e)に、昇順設定情報246eの一例を示す。図11(e)に示す昇順設定情報246eは、データセット情報を識別するための情報である「DATASET_ID」と、データ抽出対象である項目の出力の順番を表す「DETAIL_ID」と、ソート対象であるテーブルを識別するための情報である「TABLE_ID」と、ソート対象である項目を識別するための情報である「COLUMN_ID」と、昇順または降順を表す「SORT_KBN」と、を対応付けて含む。昇順設定情報246eは、後述するSQL文生成部260により生成されるSQL文において、ORDER句で指定される条件に対応する。
本実施形態において、補助記憶部202が、設定情報記憶部240として機能する。
実行権限判定部250は、ユーザが参照DB300からデータを抽出する処理を実行する権限があるか否かを判定する。具体的には、実行権限判定部250は、取得部210により取得されたユーザを表す情報と、設定情報記憶部240に記憶されたユーザ権限情報241、ユーザグループ情報242、論理接続情報243、DB接続権限情報244、及び論理接続権限情報245と、に基づいて、ユーザが参照DB300からデータを抽出する処理を実行する権限があるか否かを判定する。
本実施形態において、制御部204が、実行権限判定部250として機能する。
SQL文生成部260は、ユーザに応じて、参照DB300から取得できるデータを考慮したSQL文を生成する。具体的には、SQL文生成部260は、ユーザが参照可能なデータセット情報246を設定情報記憶部240から取得し、取得したデータセット情報246に基づいて、SQL文を生成する。
本実施形態において、制御部204が、SQL文生成部260として機能する。
SQL文実行部270は、SQL文生成部260により生成されたSQL文に従って、参照DB300に対してデータを抽出するプログラムを実行する。
本実施形態において、制御部204が、SQL文実行部270として機能する。
実行監視部280は、SQL文実行部270により実行されたSQL文を監視し、実行状況を管理し、成功・エラーの確認、及び、実行中のSQL文を停止する。不特定多数のユーザが様々なSQL文を実行した場合、取得テーブルの状態や取得対象データ件数に応じて実行速度が異なる。実行監視部280は、これらの実行中のSQL文をユーザから操作入力を契機として、または、実行開始から所定時間を経過したことを契機として、実行中のSQL文のプログラムを停止させる。
具体的には、実行監視部280は、アプリケーション上で、システム管理者が実行中のSQL文の状況をモニタリングすることが可能な画面を提供する。そして、実行監視部280が、入力部205を介して、システム管理者から実行の停止を希望するプログラムの選択を受け付けると、SQL文実行部270は、選択されたSQL文のプログラムの実行を停止する。
また、実行監視部280は、システム全体でSQL文のプログラムを実行開始してからの経過時間を計測する。そして、実行監視部280は、計測時間が、予め設定された所定の閾値(例えば、5分)を超えているか否かを判定する。そして、実行監視部280が、経過時間が閾値を超えていると判定した場合、SQL文実行部270は、そのSQL文のプログラムの実行を停止する。
本実施形態において、制御部204が、実行監視部280として機能する。
出力部290は、SQL文実行部270がデータ抽出処理を実行した結果、抽出されたデータを端末装置100に出力する。
本実施形態において、通信部201と制御部204とが協働して、出力部290として機能する。
次に、データベース処理装置200が実行する処理の流れについて説明する。
図4及び図5は、データベース処理装置200が実行するデータ抽出処理の流れの一例を示すフローチャートである。図4及び図5に示すデータ抽出処理は、例えば、取得部210が、端末装置100から、抽出要求情報を取得したことを契機として開始される。
具体的には、抽出要求情報には、ユーザを表す情報と、抽出すべきデータを表す情報と、が含まれる。ユーザを表す情報は、例えば、ユーザIDである。抽出すべきデータを表す情報は、データセットID、さらにそのデータセットIDの中から選択された出力項目を表す情報である。端末装置100は、ユーザから、抽出すべきデータを表す情報である、データセットID及び出力項目を表す情報を取得し、取得した情報を抽出要求情報として、データベース処理装置200に送信する。
まず、認証部220は、取得部210により取得されたユーザを表す情報に基づいて、当該ユーザの認証に成功したか否かを判定する(ステップS11)。認証部220が、認証に失敗したと判定した場合(ステップS12;No)、認証部220は、認証エラーを表す情報を端末装置100に送信し(ステップS13)、データ抽出処理を終了する。
具体的には、認証部220は、取得部210により取得されたユーザを表す情報と、予めデータベース処理装置200に記憶されている、WEBシステムにログイン可能なユーザの情報に含まれている場合、当該ユーザが、WEBシステムにログイン可能なユーザであると判定する。
認証部220が、認証に成功したと判定した場合(ステップS12;Yes)、セッション判定部230は、取得部210により取得された抽出要求情報に、WEBシステムにより参照DB300からデータ取得を実行するためのセッション情報が含まれているか否かを判定する(ステップS14)。
セッション情報が含まれていないと判定した場合(ステップS14;No)、セッション判定部230は、セッション情報を生成する(ステップS15)。
セッション情報が含まれていると判定した場合(ステップS14;Yes)、実行権限判定部250は、設定情報記憶部240のユーザ権限情報241から、取得部210により取得されたユーザを表す情報に対応する権限情報を特定する(ステップS16)。
次に、実行権限判定部250は、ステップS16で特定した権限情報に基づいて、当該ユーザが参照DB300を参照可能な実行権限を有しているか否かを判定する(ステップS17)。実行権限判定部250は、当該ユーザが実行権限を有していないと判定した場合(ステップS17;No)、データ抽出処理を終了する。
例えば、取得部210が、ユーザを表す情報として、USER_ID「TEST000」を取得したとする。この場合、ステップS16において、実行権限判定部250は、図6に示すユーザ権限情報241から、USER_ID「TEST000」に対応するAUTH_KBN「0」を特定する。従って、実行権限判定部250は、USER_ID「TEST000」により表されるユーザは、実行権限を有していないと判定する。
また、例えば、取得部210が、ユーザを表す情報として、USER_ID「TEST001」を取得したとする。この場合、ステップS16において、実行権限判定部250は、図6に示すユーザ権限情報241から、USER_ID「TEST001」に対応するAUTH_KBN「1」を特定する。従って、実行権限判定部250は、USER_ID「TEST001」により表されるユーザは、実行権限を有していると判定する。
実行権限判定部250は、当該ユーザが実行権限を有していると判定した場合(ステップS17;Yes)、設定情報記憶部240のユーザグループ情報242から、取得部210により取得されたユーザが属するグループを表すグループ情報を特定する(ステップS18)。
次に、実行権限判定部250は、ステップS18で特定したグループ情報に基づいて、設定情報記憶部240のDB接続権限情報244を参照し、当該ユーザが属するグループに対応する論理接続情報があるか否かを判定する(ステップS19)。実行権限判定部250は、対応する論理接続情報がないと判定した場合(ステップS19;No)、データ抽出処理を終了する。
例えば、取得部210が、ユーザを表す情報として、USER_ID「TEST001」を取得したとする。この場合、ステップS18において、実行権限判定部250は、図7に示すユーザグループ情報242から、USER_ID「TEST001」に対応するGROUP_ID「G000000001」を特定する。そして、ステップS19において、実行権限判定部250は、図9に示すDB接続権限情報244を参照し、ステップS18において取得したGROUP_ID「G000000001」に対応するCONNECT_ID「CON0000001」を特定する。従って、実行権限判定部250は、当該ユーザが属するグループに対応する論理接続情報があると判定する。
実行権限判定部250は、当該ユーザが属するグループに対応する論理接続情報があると判定した場合(ステップS19;Yes)、取得部210により取得された抽出すべきデータを表す情報に対応する論理接続を特定する(ステップS20)。
具体的には、実行権限判定部250は、取得部210により取得された抽出すべきデータを表す情報であるデータセットIDに対応する論理接続を、論理接続権限情報245を参照して、特定する。例えば、取得部210により取得された抽出すべきデータを表す情報であるデータセットIDが、DATASET_ID「D000000001」であった場合、実行権限判定部250は、図10に示す論理接続権限情報245を参照して、DATASET_ID「D000000001」に対応するCONNECT_ID「CON0000001」を特定する。
次に、実行権限判定部250は、ステップS20において特定された論理接続に対応するテーブルを特定する(ステップS21)。
具体的には、実行権限判定部250は、論理接続情報243を参照して、ステップS20において特定された論理接続に対応するテーブルを特定する。例えば、ステップS20において特定された論理接続がCONNECT_ID「CON0000001」である場合、実行権限判定部250は、論理接続情報243を参照して、CONNECT_ID「CON0000001」に対応するTABLE_ID「M_TEST001」、「M_TEST002」、「M_TEST003」、「M_TEST004」を特定する。
次に、実行権限判定部250は、取得部210により取得された抽出すべきデータを抽出するのに必要なテーブルを特定する(ステップS22)。
具体的には、実行権限判定部250は、取得部210により取得された抽出すべきデータを表す情報であるデータセットIDに対応するテーブルの情報を、データセット詳細情報246aを参照して特定する。例えば、取得部210により取得された抽出すべきデータを表す情報であるデータセットIDが、DATASET_ID「D000000001」であった場合、実行権限判定部250は、図11(a)に示すデータセット詳細情報246aを参照して、DATASET_ID「D000000001」に対応するTABLE_ID「MTEST_001」、「MTEST_002」を特定する。
次に、実行権限判定部250は、取得部210により取得された抽出すべきデータを表す情報であるデータセットIDに対応するテーブルに対して、論理接続可能か否かを判定する(ステップS23)。実行権限判定部250は、論理接続可能でないと判定した場合(ステップS23;No)、データ抽出処理を終了する。
例えば、実行権限判定部250は、ステップS21において、CONNECT_ID「CON0000001」に対応するTABLE_ID「M_TEST001」〜「M_TEST004」が特定され、また、ステップS22において、DATASET_ID「D000000001」に対応するTABLE_ID「MTEST_001」、「MTEST_002」が特定されたとする。この場合、実行権限判定部250は、ステップS21において特定されたTABLE_ID「M_TEST001」〜「M_TEST004」の中に、ステップS22において特定されたTABLE_ID「MTEST_001」、「MTEST_002」が含まれると判定する。このように、抽出対象であるデータを抽出するために必要なテーブルが、抽出要求情報を送信したユーザが論理接続可能なテーブルか否かを判定することにより、当該ユーザに、当該ユーザが所望するデータを参照DB300から抽出する権限があるか否かが判定される。
実行権限判定部250はステップS22において特定されたテーブルが、ステップ21において特定されたテーブルに含まれていると判定した場合(ステップS23;Yes)、SQL文生成部260は、取得部210により取得された抽出すべきデータを表す情報であるデータセットIDに対応するデータセット詳細情報246aを取得する(ステップS24)。
例えば、SQL文生成部260は、取得部210により取得された抽出すべきデータを表す情報であるデータセットIDとして、DATASET_ID「D000000001」を取得したとする。この場合、図11(a)に一例として示すようなDATASET_ID「D000000001」に対応するデータセット詳細情報246aを取得する。
次に、SQL文生成部260は、取得部210により取得された抽出すべきデータを表す情報であるデータセットIDに対応するテーブル項目条件情報246bを取得する(ステップS25)。
例えば、SQL文生成部260は、取得部210により取得された抽出すべきデータを表す情報であるデータセットIDとして、DATASET_ID「D000000001」を取得したとする。この場合、図11(b)に一例として示すようなDATASET_ID「D000000001」に対応するテーブル項目条件情報246bを取得する。
次に、SQL文生成部260は、取得部210により取得された抽出すべきデータを表す情報であるデータセットIDに対応するマスク設定情報246cを取得する(ステップS26)。
例えば、SQL文生成部260は、取得部210により取得された抽出すべきデータを表す情報であるデータセットIDとしてDATASET_ID「D000000001」を取得したとする。この場合、図11(c)に一例として示すようなDATASET_ID「D000000001」に対応するマスク設定情報246cを取得する。
次に、SQL文生成部260は、取得部210により取得された抽出すべきデータを表す情報であるデータセットIDに対応するテーブル結合情報246dを取得する(ステップS27)。
例えば、SQL文生成部260は、取得部210により取得された抽出すべきデータを表す情報であるデータセットIDとしてDATASET_ID「D000000001」を取得したとする。この場合、図11(d)に一例として示すようなDATASET_ID「D000000001」に対応するテーブル結合情報246dを取得する。
次に、SQL文生成部260は、取得部210により取得された抽出すべきデータを表す情報であるデータセットIDに対応する昇順設定情報246eを取得する(ステップS28)。
例えば、SQL文生成部260は、取得部210により取得された抽出すべきデータを表す情報であるデータセットIDとしてDATASET_ID「D000000001」を取得したとする。この場合、図11(e)に一例として示すようなDATASET_ID「D000000001」に対応する昇順設定情報246eを取得する。
次に、SQL文生成部260は、ステップS24〜S28において取得した各種情報に基づいて、SQL文を生成する(ステップS29)。
次に、SQL文実行部270は、ステップS29において生成されたSQL文の実行を開始する(ステップS30)。
そして、実行監視部280は、入力部205を介して、実行中のSQL文の実行停止を示す操作入力を受け付けたか否かを判定する(ステップS31)。実行停止を示す操作入力を受け付けたと判定した場合(ステップS31;Yes)、SQL実行部270は、SQL文の実行を停止し、データ抽出処理を終了する。
また、実行監視部280は、実行中のSQL文の実行を開始してから、所定時間が経過したか否かを判定する(ステップS32)。実行中のSQL文の実行を開始してから、所定時間が経過したと判定した場合(ステップS32;Yes)、SQL実行部270は、SQL文の実行を停止し、データ抽出処理を終了する。
SQL文実行部270は、SQL文の実行が終了したか否かを判定する(ステップS33)。SQL文の実行が終了していないと判定した場合(ステップS33;No)、ステップS30の処理に戻る。
SQL文の実行が終了したと判定した場合(ステップS33;Yes)、出力部290は、SQL文を実行した結果として、抽出されたデータを端末装置100に送信する(ステップS34)。そして、データ抽出処理を終了する。
以上説明したように、本実施形態に係るデータベース処理装置200では、設定情報記憶部240が、ユーザを表す情報と、そのユーザが参照可能なデータの条件を表すデータセット情報246とを対応付けて記憶する。従って、抽出要求情報を送信したユーザに応じたデータセット情報246を設定情報記憶部240から取得し、取得したデータセット情報に基づいてSQL文を生成し、実行することにより、当該ユーザは、データベースに関する専門的な知識を持たなくても、当該ユーザに応じたデータの抽出を容易に行うことができる。
また、データセット情報は、設定情報記憶部240に記憶されているため、ユーザに応じたデータの抽出条件設定の変更に対し、容易に対応することができる。そのため、データベースのセキュリティ設定を柔軟に変更することができる。
以上、本発明の実施形態について説明したが、本発明は上記の実施形態によって限定されるものではない。
また、本発明に係るデータベース処理装置200は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。例えば、ネットワークに接続されているコンピュータに、上記動作を実行するためのプログラムを、コンピュータシステムが読み取り可能な記録媒体(CD−ROM、MO等)に格納して配布し、当該プログラムをコンピュータシステムにインストールすることにより、上述の処理を実行するデータベース処理装置200を構成してもよい。
また、コンピュータにプログラムを提供する方法は任意である。例えば、プログラムは、通信回線の掲示板(BBS)にアップロードされ、通信回線を介してコンピュータに配信されてもよい。また、プログラムは、プログラムを表す信号により搬送波を変調した変調波により伝送され、この変調波を受信した装置が変調波を復調してプログラムを復元するようにしてもよい。そして、コンピュータは、このプログラムを起動して、OSの制御のもと、他のアプリケーションと同様に実行する。これにより、コンピュータは、上述の処理を実行するデータベース処理装置200として機能する。
1 データベース処理システム
100 端末装置
200 データベース処理装置
201 通信部
202 補助記憶部
203 主記憶部
204 制御部
205 入力部
206 出力部
210 取得部
220 認証部
230 セッション判定部
240 設定情報記憶部
241 ユーザ権限情報
242 ユーザグループ情報
243 論理接続情報
244 DB接続権限情報
245 論理接続権限情報
246 データセット情報
246a データセット詳細情報
246b テーブル項目条件情報
246c マスク設定情報
246d テーブル結合情報
246e 昇順設定情報
250 実行権限判定部
260 SQL文生成部
270 SQL文実行部
280 実行監視部
290 出力部
300 参照DB
400 ネットワーク

Claims (5)

  1. データが格納されるテーブルを記憶するデータベースから、データを抽出するデータベース処理装置であって、
    ユーザを表す情報と、抽出すべきデータを表す情報と、を取得する取得部と、
    ユーザを表す情報と、そのユーザが参照可能なデータの条件を表すデータセット情報とを対応付けて記憶する設定情報記憶部と、
    前記設定情報記憶部から、前記取得部により取得された前記ユーザを表す情報に対応する前記データセット情報を取得し、取得した前記データセット情報と、前記取得部により取得された前記抽出すべきデータを表す情報と、に基づいて、SQL文を生成するSQL文生成部と、
    前記SQL文生成部により生成されたSQL文を実行することにより、前記データベースからデータを抽出するSQL文実行部と、
    を備え
    前記データセット情報は、抽出すべきデータを表す情報と、その抽出すべきデータが抽出される複数のテーブルを表す情報と、を含むテーブル結合情報を含み、
    前記SQL文生成部は、取得した前記データセット情報に含まれる前記テーブル結合情報に基づいて、前記複数のテーブルを結合して抽出すべきデータを抽出する旨を表すSQL文を生成する、
    とを特徴とするデータベース処理装置。
  2. 前記データセット情報は、ユーザを表す情報と、抽出すべきデータのうち、除外すべきデータを表す情報と、を含むマスク設定情報を含み、
    前記SQL文生成部は、前記取得部により取得された前記ユーザを表す情報と、前記マスク設定情報に含まれるユーザを表す情報とが一致する場合、前記マスク設定情報に含まれる前記除外すべきデータを除外する旨を表すSQL文を生成する、
    ことを特徴とする請求項1に記載のデータベース処理装置。
  3. 前記SQL文実行部により実行される前記SQL文の実行状況を監視する実行監視部をさらに備え、
    前記実行監視部が所定の停止条件が満たされたと判定した場合に、前記SQL文実行部は、実行中の前記SQL文の実行を停止する、
    ことを特徴とする請求項1または2に記載のデータベース処理装置。
  4. データベースから、データを抽出するデータベース処理方法であって、
    ユーザを表す情報と、抽出すべきデータを表す情報と、を取得する取得ステップと、
    ユーザを表す情報と、そのユーザが参照可能なデータの条件を表すデータセット情報とを対応付けて記憶する設定情報記憶部から、前記取得ステップにおいて取得された前記ユーザを表す情報に対応する前記データセット情報を取得し、取得した前記データセット情報と、前記取得ステップにおいて取得された前記抽出すべきデータを表す情報と、に基づいて、SQL文を生成するSQL文生成ステップと、
    前記SQL文生成ステップにおいて生成されたSQL文を実行することにより、前記データベースからデータを抽出するSQL文実行ステップと、
    を有し、
    前記データセット情報は、抽出すべきデータを表す情報と、その抽出すべきデータが抽出される複数のテーブルを表す情報と、を含むテーブル結合情報を含み、
    前記SQL文生成ステップにおいて、取得した前記データセット情報に含まれる前記テーブル結合情報に基づいて、前記複数のテーブルを結合して抽出すべきデータを抽出する旨を表すSQL文を生成する、
    とを特徴とするデータベース処理方法。
  5. データベースから、データを抽出するコンピュータを、
    ユーザを表す情報と、抽出すべきデータを表す情報と、を取得する取得手段、
    ユーザを表す情報と、そのユーザが参照可能なデータの条件を表すデータセット情報とを対応付けて記憶する設定情報記憶手段から、前記取得手段により取得された前記ユーザを表す情報に対応する前記データセット情報を取得し、取得した前記データセット情報と、前記取得手段により取得された前記抽出すべきデータを表す情報と、に基づいて、SQL文を生成するSQL文生成手段、
    前記SQL文生成手段により生成されたSQL文を実行することにより、前記データベースからデータを抽出するSQL文実行手段、
    として機能させ
    前記データセット情報は、抽出すべきデータを表す情報と、その抽出すべきデータが抽出される複数のテーブルを表す情報と、を含むテーブル結合情報を含み、
    前記SQL文生成手段は、取得した前記データセット情報に含まれる前記テーブル結合情報に基づいて、前記複数のテーブルを結合して抽出すべきデータを抽出する旨を表すSQL文を生成する、
    とを特徴とするプログラム。
JP2012223934A 2012-10-09 2012-10-09 データベース処理装置、データベース処理方法、及びプログラム Expired - Fee Related JP5963635B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012223934A JP5963635B2 (ja) 2012-10-09 2012-10-09 データベース処理装置、データベース処理方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012223934A JP5963635B2 (ja) 2012-10-09 2012-10-09 データベース処理装置、データベース処理方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2014078059A JP2014078059A (ja) 2014-05-01
JP5963635B2 true JP5963635B2 (ja) 2016-08-03

Family

ID=50783337

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012223934A Expired - Fee Related JP5963635B2 (ja) 2012-10-09 2012-10-09 データベース処理装置、データベース処理方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP5963635B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6058391A (en) * 1997-12-17 2000-05-02 Mci Communications Corporation Enhanced user view/update capability for managing data from relational tables
JP2003006194A (ja) * 2001-06-22 2003-01-10 Mitsubishi Electric Corp データベースアクセス制御システム
JP2006085325A (ja) * 2004-09-15 2006-03-30 Toray Ind Inc データベース処理プログラム作成方法、データベース処理プログラム、データベース処理プログラムを記録した記憶媒体およびアプリケーションサーバ
JP5452517B2 (ja) * 2011-02-09 2014-03-26 三菱電機株式会社 検索処理装置

Also Published As

Publication number Publication date
JP2014078059A (ja) 2014-05-01

Similar Documents

Publication Publication Date Title
US11979452B1 (en) Demo recording utility
US11481184B2 (en) Database systems and methods for conversation-driven dynamic updates
US8301653B2 (en) System and method for capturing and reporting online sessions
CN110990057B (zh) 小程序子链信息的提取方法、装置、设备及介质
JP5747121B2 (ja) 作業管理方法及び管理システム
US11068617B2 (en) Secure access to multi-tenant relational data
JP5194581B2 (ja) 文書処理装置および文書処理プログラム
JP2009003549A (ja) データ管理装置およびデータ管理方法、データ管理プログラム、データ管理プログラム記憶媒体
CN107645565A (zh) 服务器状态信息的处理方法、装置、系统及处理器
US20220231973A1 (en) Computer service for help desk ticket creation and resolution in a communication platform
JP2010282241A (ja) ファイル管理装置、ファイル管理システム、ファイル管理方法、および、プログラム
JP2018142054A (ja) 開発支援システムおよび方法
Zhu et al. INTERS: Unlocking the Power of Large Language Models in Search with Instruction Tuning
JP2015204076A (ja) 文書差分表示プログラム及び情報処理装置
US9471650B2 (en) System and method for contextual workflow automation
JP5963635B2 (ja) データベース処理装置、データベース処理方法、及びプログラム
US11838294B2 (en) Method for identifying user, storage medium, and electronic device
CN113495723B (zh) 一种调用功能组件的方法、装置及存储介质
EP3425510A1 (en) Automated testing method for application program user interface, electronic device, system, and storage medium
JP2009187401A (ja) 文書管理システム、文書管理装置、文書管理方法及びプログラム
JP2018120256A (ja) 設定操作入力支援装置、設定操作入力支援システム
US10606621B2 (en) Assisting users to execute content copied from electronic document in user's computing environment
WO2015109835A1 (zh) 一种搜索方法及终端设备
US11709691B2 (en) Software user assistance through image processing
Handeli et al. Design, development and testing an academic repository

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150224

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160322

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: 20160531

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160628

R150 Certificate of patent or registration of utility model

Ref document number: 5963635

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees