JP5517904B2 - データアクセス処理管理・生成システム - Google Patents

データアクセス処理管理・生成システム Download PDF

Info

Publication number
JP5517904B2
JP5517904B2 JP2010273107A JP2010273107A JP5517904B2 JP 5517904 B2 JP5517904 B2 JP 5517904B2 JP 2010273107 A JP2010273107 A JP 2010273107A JP 2010273107 A JP2010273107 A JP 2010273107A JP 5517904 B2 JP5517904 B2 JP 5517904B2
Authority
JP
Japan
Prior art keywords
dml
configuration information
dml configuration
modified
information
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
JP2010273107A
Other languages
English (en)
Other versions
JP2012123582A (ja
JP2012123582A5 (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2010273107A priority Critical patent/JP5517904B2/ja
Publication of JP2012123582A publication Critical patent/JP2012123582A/ja
Publication of JP2012123582A5 publication Critical patent/JP2012123582A5/ja
Application granted granted Critical
Publication of JP5517904B2 publication Critical patent/JP5517904B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明はデータベースのSQLの生成に関するものである。
SQLは、データベース(以下、DBという)の操作を行うための言語の一種であり、プログラム中に埋め込む等して実用に供されている。
近年では情報システム開発の規模が大きくなっており、SQLを埋め込んだデータアクセス処理プログラムまたはファイル(以下、データアクセスプログラム等という)の開発において、分業開発の支援とプログラムの質の均一化を目的としてプログラムを自動生成する技術(特許文献1及び2参照)や、プログラムの処理対象のデータとDBのデータと関連付けを支援する技術が存在する。
例えば特許文献1では、SQLを構成する情報をリポジトリで管理し、プログラムの雛形と組み合わせることで、プログラムを自動生成する技術が提案されている。また、特許文献2では、情報システムの開発者が入力したSQLを構成する情報と、プログラムの型とDBのデータ型の対応と、プログラムの雛形とを組み合わせることで、プログラムを自動生成する技術が提案されている。
特開2000−29898号公報 特開2009−86992号公報
通常、データアクセスプログラム等の開発においては、品質確保のため、SQLが個々の情報システム開発プロジェクトの標準化規則(以下、PJルールという)に沿うよう検査・修正する作業が必要である。また、開発効率向上のため、既に開発されたSQLから、SQLの実行結果が重複・類似する再利用可能なSQLを特定・再利用する作業が必要である。
しかし、PJルールの規定方法及び再利用可能なSQLの規定方法に関する標準仕様が存在しないためシステム化は困難であり、特許文献1及び特許文献2に記載の技術は、前記作業の自動化を考慮していない。
そのため、前記作業を人手で行った結果として、PJルールに沿わないSQLによる情報システムの単位時間当たりの処理量の低下、SQLの実行結果が重複・類似する冗長なSQLの開発による開発効率の低下を招く恐れがある。
本発明が解決しようとする課題は、PJルールに沿う高品質なSQLを埋め込んだデータアクセスプログラム等を生成することで、情報システムの単位時間当たりの処理量の低下を防ぐと共に、再利用可能なSQLを特定・再利用することで、情報システムの開発効率を向上することである。
本発明は、SQLをリポジトリに登録し、個々の情報システム開発プロジェクトの標準化規則に沿って検査・修正した後、実行結果が重複・類似するSQL同士をマッピングすることを最も主要な特徴とする。
本発明によれば、個々の情報システム開発プロジェクトの標準化規則に沿う高品質なSQLを埋め込んだデータアクセスプログラム等を生成すると共に、SQLを再利用して効率良く情報システムを開発できるデータアクセス処理管理・生成システム、プログラム及びこのプログラムを格納した記憶媒体を提供することができる。
データアクセス処理管理・生成システム全体の構成図。 DBMS情報保持領域のデータ構成図。 DDL構成情報保持領域のデータ構成図。 DML構成情報保持領域のデータ構成図。 修正後DML構成情報保持領域のデータ構成図。 DMLマッピング情報保持領域のデータ構成図。 PJルール記述例。 主記憶装置と外部記憶装置との間のデータの入出力関係。 DML構成情報修正・マッピング処理のフローチャート。 登録するDML構成情報の例。 構文解析結果の例。 DML構成情報登録後のDML構成情報保持領域の例。 修正後DML構成情報の例。 DMLマッピング情報1件追加後のDMLマッピング情報保持領域のデータ構成図。 DMLマッピング情報1件変更後のDMLマッピング情報保持領域のデータ構成図。 データアクセス処理雛形の例。 データアクセスプログラム等の例。 DMLマッピング情報の使用方法(ファイル形式)。 DMLマッピング情報の使用方法(ファイル形式)。 DMLマッピング情報の使用方法(プログラム形式)。 DMLマッピング情報の使用方法(プログラム形式)。
以下、本発明の実施の形態について図面を参照して説明する。なお、DBはデータベース、DBMSはData Base Management System、DDLはData Definition Language、DMLはData Manipulation Language、PJルールは個々の情報システム開発プロジェクトの標準化規則の略である。
図1は、データアクセス処理管理・生成システム101の構成例を示す図である。本システムは、一般的なコンピュータにより実現し、主として主記憶装置102と外部記憶装置103と表示部105と入力部106と制御部107とネットワークインタフェース部108とこれらを結ぶバス104で構成する。
主記憶装置102には、DBMS情報登録機能111とDDL構成情報登録機能112とDML構成情報登録機能113とDML構成情報修正・マッピング機能114とデータアクセス処理生成機能115を持つプログラムを格納する。なお、各機能はLSI(LSI:Large Scale Integration 大規模集積回路)等のハードウェアにより実現しても良い。各機能の内容については、図8の説明時に後述する。
外部記憶装置103には、リポジトリ121とDBMS情報131とDDL構成情報132とDML構成情報133とPJルール134とデータアクセス処理雛形135とデータアクセスプログラム等136を格納する。
リポジトリ121は、DBMS情報保持領域122とDDL構成情報保持領域123とDML構成情報保持領域124と修正後DML構成情報保持領域125とDMLマッピング情報保持領域126を持つ。なお、リポジトリの情報は本システムにネットワークにより接続された外部装置から取得しても良い。
PJルール134は、情報システム開発プロジェクト毎に用意する。データアクセスプログラム等の雛形となるデータアクセス処理雛形135は、検索・更新等のSQLの種類毎に用意する。
図2はDBMS情報保持領域122のデータ構成図である。DBMS情報保持領域122は1つの表で構成される。表DBMS201は、データベースに関する情報を保存しており、DBID202はレコードを一意に識別するID(ID:Identification 識別子)、DB名203は任意の名称、DBMS種別204はDBMSの種類を表す。
図3はDDL構成情報保持領域123のデータ構成図である。DDL構成情報保持領域123は2つの表から構成される。表テーブル301は、DBに対して作成するテーブルの一覧を保存しており、DBID302は表DBMS201と関連付けるためのID、テーブルID303はレコードを一意に識別するID、テーブル名304はDBに対して作成するテーブルの名称である。
表カラム311は、DBに対して作成する各テーブルのカラムに関する情報を保存しており、DBID312は表DBMS201と関連付けるためのID、テーブルID313は表テーブル301と関連付けるためのID、カラムID314はレコードを一意に識別するID、カラム名315はDBに対して作成するカラムの名称、データ型316はDBのデータ型、長さ317はカラムのデータ長、小数318はカラムの小数部分のデータ長、NOT NULL制約319はカラムのNOT NULL制約である。データ型316やNOT NULL制約319は、コードの形式で格納しても良い(以下、コードの形式でリポジトリに保存できるデータについて同様とする)。表カラム311には、他に主キーの情報等を保存しても良い。
図4はDML構成情報保持領域124のデータ構成図である。DML構成情報保持領域124は6つの表から構成される。表DML401は、SQLの一覧を保存しており、DBID402は表DBMS201と関連付けるためのID、DMLID403はレコードを一意に識別するID、DML名404は任意の名称、DMLパターン405は検索・更新等のデータアクセスの種類である。表DML401には、他にDMLの排他制御の指定等を保存しても良い。
表DMLテーブル411は、各SQLの対象テーブルを保存しており、DBID412は表DBMS201と関連付けるためのID、DMLID413は表DML401と関連付けるためのID、DMLテーブルID414はレコードを一意に識別するID、テーブルID415は表テーブル301と関連付けるためのID、テーブル別名416はテーブルの別名(エイリアス)である。
表DMLカラム421は、各SQLの対象カラムを保存しており、DBID422は表DBMS201と関連付けるためのID、DMLID423は表DML401と関連付けるためのID、DMLテーブルID424は表DMLテーブル411と関連付けるためのID、DMLカラムID425はレコードを一意に識別するID、カラムID426は表カラム311と関連付けるためのID、関数427は集約関数の種類、カラム別名428はカラムの別名(エイリアス)である。
表DML検索条件431は、各SQLの検索条件の内容を保存しており、DBID432は表DBMS201と関連付けるためのID、DMLID433は表DML401と関連付けるためのID、DMLテーブルID434は表DMLテーブル411と関連付けるためのID、DML検索条件ID435はレコードを一意に識別するID、カラムID436は表カラム311と関連付けるためのID、関係演算子437は関係演算子、論理演算子438は論理演算子である。
表DMLグループ441はグループ化の条件を保存しており、DBID442は表DBMS201と関連付けるためのID、DMLID443は表DML401と関連付けるためのID、DMLテーブルID444は表DMLテーブル411と関連付けるためのID、DMLグループID445はレコードを一意に識別するID、カラムID446は表カラム311と関連付けるためのIDである。
表DMLソート451はソート条件の内容を保存しており、DBID452は表DBMS201と関連付けるためのID、DMLID453は表DML401と関連付けるためのID、DMLテーブルID454は表DMLテーブル411と関連付けるためのID、DMLソートID455はレコードを一意に識別するID、カラムID456は表カラム311と関連付けるためのID、DMLカラムID457は表DMLカラム421と関連付けるためのID、ソート順458は昇順・降順等のソートの方向である。
図5は修正後DML構成情報保持領域125のデータ構成図であり、DML構成情報保持領域124とデータ構成は同一である。よって、修正後DML構成情報保持領域125を作成せずに、修正後DML構成情報をDML構成情報保持領域124に格納しても良い。
図6はDMLマッピング情報保持領域126のデータ構成図である。DMLマッピング情報保持領域126は1つの表から構成される。表DMLマッピング601は、DML構成情報と修正後DML構成情報をマッピングしたDMLマッピング情報を保存しており、DBID602は表DBMS201と関連付けるためのID、DMLID603及びDML名604はマッピング元のDML構成情報のDMLID及びDML名、マッピング先DMLID605はマッピング先の修正後DML構成情報のDMLIDである。
図7はPJルール134の記述例である。DML構成情報登録機能113を実施する前にユーザがデータアクセス処理管理・生成システム101に入力したものであり、BNF(BNF:Backus Naur Form)の記号名により、PJルールを適用するための前提条件と対象パターンを記述している。種別702は、PJルールの種別を、「必須」「修正」「禁止」「警告」等で記述する。前提条件703は、PJルールの適用対象を判定するための前提条件を、BNFの単一または複数の記号名で記述する。BNFの記号名は、データアクセス処理管理・生成システムで定義した記号名を用いる。なお、前提条件が存在しない場合は記述しない。対象パターン704は、PJルールに沿っているか判定するための条件を、BNFの単一または複数の記号名で記述する。なお、他に対象パターンが1DML中に複数回出現する場合において、PJルールに沿っていると判定する上限の出現回数を、数値で記入する等しても良い
PJルール705では、DMLの構文解析結果に、BNFの記号名「[$検索文]」「[$検索テーブル]」「[$テーブル]」「[書籍]」が全て含まれる場合、DMLの検索条件に「削除フラグ = ?」という記述が必須であり、「削除フラグ = ?」という記述が存在しなければ追加するようDML構成情報を修正することを表す。なお、修正の際に追加する位置を、BNFの単一または複数の記号名でPJルールに設定する等しても良い。
図8は、主記憶装置に格納する情報と外部記憶装置に格納する情報と各機能の関連図である。DBMS情報登録機能111は、ユーザが入力したDB名、DBMSの種類であるDBMS情報131を入力とし、DBMS情報保持領域122に保存する。DBID202については、データアクセス処理管理・生成システムで一意となるよう制御部107が付与する。
例えば、ユーザがDB名「書籍管理」、DBMSの種類「A社製DBMS」を入力した場合、制御部107はDBMS情報205をDBMS情報保持領域122に登録する。
DDL構成情報登録機能112は、DBMS情報保持領域122に保存されているDBMS情報からユーザが選択したDB名に対応するDBID、ユーザが入力したテーブル名、カラム名、データ型、データの長さ、データの小数の長さ、NOT NULL制約の情報であるDDL構成情報132を入力とし、DDL構成情報保持領域123に保存する。テーブルID303については、同一のDBIDで一意となるよう制御部107が付与する。カラムID314については、同一のDBID及びテーブルIDで一意となるよう制御部107が付与する。
例えばユーザがDB名「書籍管理」を選択し、テーブル名「書籍」、カラム名「書籍番号」、データ型「Char」、長さ「15」、NOT NULL制約「NOT NULL」のカラムを入力した場合、制御部107はDDL構成情報305及びDDL構成情報320をDDL構成情報保持領域123に登録する。
DML構成情報登録機能113は、DBMS情報保持領域122に保存されているDBMS情報からユーザが選択したDB名に対応するDBID、ユーザが入力したDML名、テーブル操作の情報であるDML構成情報133、DDL構成情報保持領域123に保存されているテーブル操作の対象となるテーブルのDDL構成情報を入力とし、DML構成情報保持領域124に保存する。DMLID403、DMLテーブルID414、DMLカラムID425、DML検索条件ID435、DMLグループID445、DMLソートID455については、同一のDBIDにおいて、それぞれ表DML401、表DMLテーブル411、表DMLカラム421、表DML検索条件431、表DMLグループ441、表DMLソート451で一意となるよう制御部107が付与する。
例えば、ユーザがDB名「書籍管理」を選択し、DML名「書籍検索A」及びDML「SELECT 出版社ID, MIN(価格) 最安価格, MAX(価格) 最高価格 FROM 書籍 書籍別名 WHERE 出版社ID > ? AND 削除フラグ = ? GROUP BY 出版社ID ORDER BY 出版社ID ASC;」相当のテーブル操作の情報を入力した場合、DML構成情報保持領域124は図4に示す通りとなる。
なお、DML構成情報の代わりにDMLを入力とし、DML構成情報登録機能113でDMLを構文解析してDML構成情報を取得し、DML構成情報保持領域124に保存しても良い。
DML構成情報修正・マッピング機能114は、DML構成情報保持領域124に保存されているDML構成情報とPJルール134を入力として修正後DML構成情報とマッピング情報を取得し、それぞれ修正後DML構成情報保持領域125とDMLマッピング情報保持領域126へ保存する。
図9はDML構成情報修正・マッピング機能114を示したフローチャートである。DML構成情報修正・マッピング機能114は、ユーザの操作等によりDML構成情報登録機能113が動作した後に、続けて動作する。図10をDML構成情報修正・マッピング機能114の動作の直前に登録されたDML構成情報133とし、図12、図5、図6を、それぞれDML構成情報修正・マッピング機能114の動作前のDML構成情報保持領域124、修正後DML構成情報保持領域125、DMLマッピング情報保持領域126とし、図13を図10の修正後DML構成情報とし、図12、図5、図14(a)を、それぞれDML構成情報修正・マッピング機能114の動作後のDML構成情報保持領域124、修正後DML構成情報保持領域125、DMLマッピング情報保持領域126として、以下説明する。
制御部107は初めに、DML構成情報保持領域124から直前に登録された図10のDML構成情報のDBID1002「DB01」とDMLID1003「DML02」をキーとして処理対象のDML構成情報を読み込む(ステップS1)。以降、ステップS1で読み込んだDML構成情報をマッピング元DML構成情報という。
制御部107は次に、マッピング元DML構成情報を入力としてデータアクセス処理生成機能115を実行し、データアクセスプログラム等136を取得する。制御部107は取得したデータアクセスプログラム等136に埋め込まれたDMLを構文解析し、構文解析結果をPJルールと比較することで、修正の要否の決定と修正を行う(ステップS2)。
図11は、図10をマッピング元DML構成情報とした場合の構文解析結果の例であり、番号1101が「10」の行1105は、図7のPJルール705の前提条件703のBNFの記号名を全て含む。従って制御部107は、マッピング元DML構成情報が前提条件703を満たすと判断する。また、構文解析結果1103には、PJルール705の対象パターン704のうち、「[$検索文][$検索条件][$カラム][削除フラグ]」が存在しない。従って制御部107はDML構成情報の修正が必要と判断し、対象パターン704が全て構文解析結果に追加されるようマッピング元DML構成情報にDML検索条件1339を追加し、図13のDML構成情報を取得する。
以上のような処理により、SQLをPJルールに沿うよう検査・修正し、前記SQLを埋め込んだデータアクセスプログラム等を使用する情報システムの、単位時間当たりの処理量の低下を防ぐことができる。
なお、前記修正が不要な場合は、制御部107は、マッピング元DML構成情報のDML名を変更し、新たにDMLIDを付与したDML構成情報を取得する。例えば、図4がマッピング元DML構成情報の場合は修正が不要であり、制御部107は、DML名「修正後書籍検索A」、DMLID「DML51」の図5のDML構成情報を取得する。以降、このステップS2で取得したDML構成情報を、修正の有無に関わらず修正後DML構成情報と呼ぶ。なお、制御部107は、ステップS2が終了した時点では、図13の修正後DML構成情報を修正後DML構成情報保持領域125に登録しない。
制御部107は次に、修正後DML構成情報に対し、DBIDが同一かつデータアクセス処理生成機能115によって生成するデータアクセス処理中のDMLの実行結果が重複・類似する修正後DML構成情報(以下、マッピング先DML構成情報という)が、既に修正後DML構成情報保持領域125に存在するかどうかを判定する(ステップS3)。制御部107は重複については、2DML構成情報からそれぞれ生成するDMLが同一の場合に重複と判定する。例えば、図4を一方のDML構成情報、図5を他方のDML構成情報とした場合、制御部107は両者を重複と判定する。
制御部107は類似については、表DMLカラムにおいて、DMLID、DMLカラムIDを除いた修正後DML構成情報のレコードが、修正後DML構成情報保持領域125に存在する修正後DML構成情報のレコードの部分集合であり、かつ修正後DML構成情報と修正後DML構成情報保持領域125に存在する修正後DML構成情報について、表DML、表DMLテーブル、表DML検索条件、表DMLグループ、表DMLソートの内容がDMLIDとDML名を除いて同一である場合に類似と判定する。例えば、図13の修正後DML構成情報の表DMLカラムにおけるレコード1329は、DMLID1323、DMLカラムID1325を除いて図5の修正後DML構成情報の表DMLカラムにおけるレコード529の部分集合となっており、かつ表DMLカラム1321と表DMLカラム521を除く図13と図5の表の修正後DML構成情報が、DMLID1303、1313、1323、1333、1343、1353、503、513、523、533、543、553、DML名1304、504を除いて同一であるため、制御部107は両者を類似と判定する(ステップS4)。なお、重複・類似の判定方法は一例であり、他の判定方法を用いても良い。
制御部107は判定結果が重複または類似のいずれでもない場合のみ、修正後DML構成情報を修正後DML構成情報保持領域125に保存する(ステップS5)。
制御部107は次に、マッピング元DML構成情報とマッピング先DML構成情報とのマッピング情報を、DMLマッピング情報保持領域126へ保存する。例えば、図10がマッピング元DML構成情報で、図5がマッピング先DML構成情報の場合、制御部107は、マッピング元DML構成情報のDBID1002「DB01」、DMLID1003「DML02」、DML名1004「書籍検索B」、及びマッピング先DML構成情報のDMLID503「DML51」を、表DMLマッピング1401のDBID1402、DMLID1403、DML名1404、及びマッピング先DMLID1405にそれぞれ保存する。マッピング情報の保存後、マッピング元DML構成情報が不要な場合は、制御部107が図10のマッピング元DML構成情報をDML構成情報保持領域124から削除してもよい。
ユーザがDML構成情報保持領域124に保存しているマッピング元DML構成情報または修正後DML構成情報保持領域125に保存しているマッピング先DML構成情報のいずれかを修正した場合は、制御部107はDML構成情報修正・マッピング機能114を使用してマッピング情報を更新する。
以上のような処理により、実行結果が重複・類似するSQL同士を特定・再利用することができる。
データアクセス処理生成機能115は、DBMS情報保持領域122に保存されているDBMS情報、DDL構成情報保持領域123に保存されているDDL構成情報、DMLマッピング情報保持領域126に保存されているDMLマッピング情報、修正後DML構成情報保持領域125に保存されている修正後DML構成情報、データアクセス処理雛形135から、データアクセスプログラム等136を生成する。
例えば、DMLマッピング情報保持領域126が図14(a)の表DMLマッピング1401の場合、ユーザがDB名「書籍管理」、DML名「書籍検索B」を指定してデータアクセス処理生成機能115を使用すると、制御部107はまず、表DBMS201からDB名「書籍管理」に一致するDBMS情報205を参照してDBID「DB01」を取得する。次に制御部107は、DBID「DB01」及び「DML名「書籍検索B」に一致するDMLマッピング情報1407を参照し、マッピング先のDMLID1405「DML51」を持つ図5の修正後DML構成情報を取得する。続いて制御部107は、DBID「DB01」、DMLID「DML51」でDMLマッピング情報保持領域126を検索し、図5の修正後DML構成情報にマッピングされているDML名1404を取得する。
制御部107は、マッピング先のDMLID「DML51」を持つ図5の修正後DML構成情報から生成したDMLと、DMLID「DML51」を持つ図5の修正後DML構成情報にマッピングされているDML名1404を、データアクセス処理雛形135に埋め込む。例えば、データアクセス処理雛形135が図15の場合、制御部107は@DML名1502に、マッピング元DML構成情報のDML名1404「書籍検索A」及び「書籍検索B」と、マッピング先DML構成情報のDML名504「修正後書籍検索A」を、それぞれマッピング元DML名1602、マッピング先DML名1603として埋め込み、@SQL1503に図5の修正後DML構成情報から生成したDMLを、マッピング先DML構成情報から生成したDML1604「SELECT 出版社ID, MIN(価格) 最安価格, MAX(価格) 最高価格 FROM 書籍 書籍別名 WHERE 出版社ID > ? AND 削除フラグ = ? GROUP BY 出版社ID ORDER BY 出版社ID ASC;」として埋め込み、@入出力パラメータ1504に表テーブル301、表カラム311、表DMLテーブル511、表DMLカラム521、表DML検索条件531、表DMLグループ541、表DMLソート551を同一のDBID、DMLID、DMLテーブルID、DMLカラムID、テーブルID、カラムIDで関連付けることにより解決したインタフェース情報1605を埋め込む。データアクセスプログラム等の生成例を図16に示す。
以上のような処理により、図16の例ではDML名「書籍検索B」においてDML名「修正後書籍検索A」のSQLを再利用することになり、このように実行結果が重複・類似するSQLを再利用することで、例えば動作のテストが必要なSQLの数が削減され、情報システムの開発効率が向上する。
図17(a)は、データアクセスプログラム等の実行時におけるマッピング情報の使用例である。データアクセス処理管理・生成システムが生成したデータアクセス処理ファイル1703は、データアクセス処理実行用共通プログラム1704の入力として使用する。呼出プログラムα1701がDML名「書籍検索A」を指定してデータアクセス処理実行用共通プログラム1704を呼び出した場合と、呼出プログラムβ1702がDML名「書籍検索B」を指定してデータアクセス処理実行用共通プログラム1704を呼び出した場合の両方で、実行用共通プログラム1704は該当するDML名を持つデータアクセス処理ファイル1703のDMLを実行する。
図17(b)は、情報システムの変更等により、ユーザがDML名「書籍検索A」の図4のDML構成情報を変更し、DML名「書籍検索A」とDML名「修正後書籍検索A」とのDMLマッピング情報1406が存在しなくなった図14(b)の場合におけるDMLマッピング情報の使用例である。DML名「書籍検索A」はDMLマッピング情報1408のように、DMLID「DML51」とは異なる新たなDMLID「DML61」の修正後DML構成情報にマッピングされるため、呼出プログラムα1701は呼出DML名「書籍検索A」の指定を変更することなく、前記DMLID「DML61」の修正後DML構成情報から生成した新たなデータアクセス処理ファイル1705を呼び出すことができる。
また、呼出プログラムβ1702は、DML名「書籍検索A」のDML構成情報に前記変更があっても、呼出DML名「書籍検索B」の指定を変更することなく前記変更前と同一のデータアクセス処理ファイル1703を呼び出すことができる。
図18(a)は、データアクセスプログラム等の実行時におけるマッピング情報の別の使用例である。データアクセス処理管理・生成システムが生成したデータアクセス処理プログラムは、DMLを実行するプログラム1813と、呼出元プログラムとDMLを実行するプログラムの仲介を行うプログラム1811、1812とに分かれている。呼出元プログラムα1801がDML名「書籍検索A」のDMLの実行を意図してプログラム1811を呼び出した場合と、呼出元プログラムβ1802がDML名「書籍検索B」のDMLの実行を意図してプログラム1812を呼び出した場合で、同一のプログラム1813が実行される。
図18(b)は、情報システムの変更等により、ユーザがDML名「書籍検索A」の図10のDML構成情報を変更し、DML名「書籍検索A」とDML名「修正後書籍検索A」とのマッピング情報1406が存在しなくなった図14(b)の場合におけるDMLマッピング情報の使用例である。DML名「書籍検索A」はDMLマッピング情報1408のように、DMLID「DML51」とは異なる新たなDMLID「DML61」の修正後DML構成情報にマッピングされるため、呼出プログラムα1801は呼出DML名「書籍検索A」の指定を変更することなく、前記DMLID「DML61」の修正後DML構成情報から生成した新たなデータアクセス処理プログラム1815を呼び出すことができる。
また、呼出プログラムβ1802は、DML名「書籍検索A」のDML構成情報に前記変更があっても、DML名「書籍検索B」の指定を変更することなく前記変更前と同一の修正後DML構成情報から生成したデータアクセス処理プログラム1813を呼び出すことが出来る。
以上のようにDMLマッピング情報を使用することで、再利用しているSQLの変更時における呼出プログラムの修正量が削減され、情報システムの開発効率が向上する。
101…データアクセス処理管理・生成システム、102…主記憶装置(メモリ)、103…外部記憶装置、104…バス、105…表示部、106…入力部、107…制御部、108…ネットワークインターフェース部。

Claims (5)

  1. 制御部と、
    データベースのテーブル及びインデックスを定義するDDLを構成するDDL構成情報と、
    前記DDLで定義されたデータを操作するDMLを構成する複数のDML構成情報と、
    個々の情報システム開発プロジェクトの標準化規則と、を格納した記憶部と、
    を備え、
    前記制御部は、
    前記標準化規則に沿って前記DML構成情報を修正し、
    前記修正したDML構成情報を、修正した他のDML構成情報と比較し、
    当該比較した前記修正したDML構成情報と前記他のDML構成情報とが重複・類似する場合には、前記修正したDML構成情報と前記修正したDML構成情報と重複・類似する他のDML構成情報とのマッピング情報を前記記憶部に格納する、
    ことを特徴とするデータアクセス処理管理・生成システム。
  2. 請求項1において、
    当該比較した前記修正したDML構成情報と重複・類似する他のDML構成情報が見つからない場合には、当該修正したDML構成情報を前記記憶部に記憶することを特徴とするデータアクセス処理管理・生成システム。
  3. 請求項2において、
    前記比較した前記修正したDML構成情報と前記他のDML構成情報とが重複・類似する場合には、前記修正したDML構成情報は前記記憶部に格納せずに破棄することを特徴とするデータアクセス処理管理・生成システム。
  4. 記憶部と、制御部と、を備えたデータアクセス処理管理・生成システムで実行されるDML構成情報管理プログラムであって、
    前記記憶部には、
    データベースのテーブル及びインデックスを定義するDDLを構成するDDL構成情報と、
    前記DDLで定義されたデータを操作するDMLを構成するDML構成情報と、
    個々の情報システム開発プロジェクトの標準化規則と、が格納され、
    前記プログラムは、前記制御部に、
    前記標準化規則に沿って前記DML構成情報を修正させ、
    前記修正したDML構成情報を、修正した他のDML構成情報と比較させ、
    当該比較した前記修正したDML構成情報と前記他のDML構成情報とが重複・類似する場合には、前記修正したDML構成情報と、前記修正したDML構成情報と重複・類似する他のDML構成情報と、のマッピング情報を前記記憶部に格納させる、
    ことを特徴とするDML構成情報管理処理プログラム。
  5. データアクセス処理管理・生成システムにおけるDML構成情報管理方法であって、
    記憶部は、
    データベースのテーブル及びインデックスを定義するDDLを構成するDDL構成情報と、
    前記DDLで定義されたデータを操作するDMLを構成するDML構成情報と、
    個々の情報システム開発プロジェクトの標準化規則と、を格納し、
    制御部は、
    前記標準化規則に沿って前記DML構成情報を修正し、
    前記修正したDML構成情報を、修正した他のDML構成情報と比較し、
    前記修正したDML構成情報と重複・類似する他のDML構成情報が存在する場合には、前記修正したDML構成情報と、前記修正したDML構成情報と重複・類似する他のDML構成情報とのマッピング情報を前記記憶部に格納する、
    ことを特徴とするDML構成情報管理方法。
JP2010273107A 2010-12-08 2010-12-08 データアクセス処理管理・生成システム Active JP5517904B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010273107A JP5517904B2 (ja) 2010-12-08 2010-12-08 データアクセス処理管理・生成システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010273107A JP5517904B2 (ja) 2010-12-08 2010-12-08 データアクセス処理管理・生成システム

Publications (3)

Publication Number Publication Date
JP2012123582A JP2012123582A (ja) 2012-06-28
JP2012123582A5 JP2012123582A5 (ja) 2012-08-09
JP5517904B2 true JP5517904B2 (ja) 2014-06-11

Family

ID=46504962

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010273107A Active JP5517904B2 (ja) 2010-12-08 2010-12-08 データアクセス処理管理・生成システム

Country Status (1)

Country Link
JP (1) JP5517904B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7324808B2 (ja) * 2021-08-23 2023-08-10 株式会社日立製作所 計算機システム及びデータ検索支援方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0667867A (ja) * 1992-06-15 1994-03-11 Fuji Xerox Co Ltd アプリケーションプログラムのデータべースアクセス方式
JP2000029898A (ja) * 1998-07-14 2000-01-28 Hitachi Ltd Sql生成システム
JP3824468B2 (ja) * 2000-03-24 2006-09-20 三菱電機株式会社 データ管理システム
JP2004303124A (ja) * 2003-04-01 2004-10-28 Denji Okano プログラム生成装置及びプログラム生成方法及びプログラム

Also Published As

Publication number Publication date
JP2012123582A (ja) 2012-06-28

Similar Documents

Publication Publication Date Title
US8065323B2 (en) Offline validation of data in a database system for foreign key constraints
JP2021099819A (ja) データへの論理的妥当性検査規則の指定および適用
CN107122368B (zh) 一种数据校验方法、装置及电子设备
CN103514166A (zh) Sql检查方法与装置
CN104461531A (zh) 一种报表系统自定义函数的实现方法
CN107851003A (zh) 用于改进程序性能的字段专业化系统和方法
US9053207B2 (en) Adaptive query expression builder for an on-demand data service
WO2021022703A1 (zh) 软件项目重构方法、装置、计算机装置及存储介质
CN100527131C (zh) 一种ims数据库互动式访问方法和工具
JP5747698B2 (ja) 要件管理支援装置
JP6737039B2 (ja) データベースシステム、データ処理プログラム、及びデータ処理方法
JP5517904B2 (ja) データアクセス処理管理・生成システム
JPH11306046A (ja) テストケース生成システム及びテストケース生成方法
JP2016057722A (ja) Dml検索装置
JP6588988B2 (ja) 業務プログラム生成支援システムおよび業務プログラム生成支援方法
CN112817931B (zh) 一种增量版本文件的生成方法及装置
WO2007006129A1 (en) Systems and methods for utilizing digital assets
CN113792026A (zh) 数据库脚本的部署方法、装置及计算机可读存储介质
US8799301B2 (en) Avoiding duplicate and equivalent data objects in service registries
US7953714B2 (en) Method for maintaining parallelism in database processing using record identifier substitution assignment
JP5641901B2 (ja) Sql検証システムとその方法およびプログラム
US11275725B2 (en) Transporting a database structure from a first version to a second version
KR100505111B1 (ko) 데이터베이스 연산용 프로그램 소스 생성 장치 및 그방법과 이를 이용한 컴퓨터 프로그램 제품
JP6699433B2 (ja) データ管理プログラム、装置、及び方法
JP2012123664A (ja) ビルド実行支援システム、ビルド実行支援方法、及びビルド実行支援プログラム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120521

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120608

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120608

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130808

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130903

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131029

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140401

R151 Written notification of patent or utility model registration

Ref document number: 5517904

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151