JPS6355625A - Recursive view processing system - Google Patents

Recursive view processing system

Info

Publication number
JPS6355625A
JPS6355625A JP61200841A JP20084186A JPS6355625A JP S6355625 A JPS6355625 A JP S6355625A JP 61200841 A JP61200841 A JP 61200841A JP 20084186 A JP20084186 A JP 20084186A JP S6355625 A JPS6355625 A JP S6355625A
Authority
JP
Japan
Prior art keywords
view
definition
search
retrieving
code
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.)
Granted
Application number
JP61200841A
Other languages
Japanese (ja)
Other versions
JPH077350B2 (en
Inventor
Yutaka Sekine
裕 関根
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP61200841A priority Critical patent/JPH077350B2/en
Publication of JPS6355625A publication Critical patent/JPS6355625A/en
Publication of JPH077350B2 publication Critical patent/JPH077350B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Abstract

PURPOSE:To retrieve an unfixed level due to the data contents in an inquiry language processing system for an SQL language against a relational data base, by providing recurrent properties to a view function. CONSTITUTION:A view defining part 18 accepts even such a view that has a recurrent definition including the subject view definition name in its retrieving subjects in terms of the view definition in the same way as the ordinary view definition and registers said view to a view definition information part 20. When a retrieving command is supplied form an input part 10 to the view defined recursively, an inquiry language processing part 11 analyzes a syntax structure via a syntax structure analyzing part 12 and optimizing the syntax structure via an optimization processing part 14 with reference to the definition information on the part 20 through a meaning analyzing part 13. Then a production code 17 is produced by a code generating part 15. The code 17 includes a recurrent call related to the generation of a retrieving data and an inquiry result is obtained from gathering sum of the retrieving results obtained in response to each nest level.

Description

【発明の詳細な説明】 〔概要〕 本発明は、リレーショナル・データベースに対する例え
ばSQL言語等の問い合わせ言語処理において、ビュー
機能に再帰性を持たせることにより、データ内容に依存
する不定レベルの検索を行うことを可能としている。
[Detailed Description of the Invention] [Summary] The present invention provides recursiveness to the view function in query language processing such as SQL language for relational databases, thereby performing searches at an undefined level depending on data content. This makes it possible.

〔産業上の利用分野〕[Industrial application field]

本発明はリカーシブ・ビュー処理方式、特にリレーショ
ナル・データベースにおいて、いわゆる子部品展開や親
捜し展開を容易に行うことができるようにしたリカーシ
ブ・ビュー処理方式に関するものである。
The present invention relates to a recursive view processing method, and particularly to a recursive view processing method that allows so-called child component expansion and parent search expansion to be easily performed in a relational database.

近年、利用者にとって使いやすいデータベース・システ
ムとして、リレーショナル・データベース(関係型デー
タベース)が、多く採用されるようになってきている。
In recent years, relational databases (relational databases) have been increasingly adopted as database systems that are easy for users to use.

データベース・システムでは、リレーショナル・データ
ベースに限らず、管理されている種々のデータから、利
用者が必要とするデータを、できるだけ簡単な指定によ
って抽出できるようにすることが望まれる。
In database systems, it is desirable that users be able to extract the data they need from a variety of managed data, not just relational databases, by making specifications as simple as possible.

〔従来の技術〕[Conventional technology]

リレーショナル・データベースでは、テーブル形式でも
ってデータを管理する。このリレーショナル・データベ
ースに対する問い合わせ言語として1例えばSQL言語
が知られている。SQL言語では1次のような形式で検
索を指定できるようになっている。
Relational databases manage data in table format. For example, the SQL language is known as a query language for this relational database. In the SQL language, a search can be specified in the following format:

5ELECT  (対象カラム名) FROM     (テーブル名) WHERE   (条件) また、SQL言語は、1または複数のテーブルから、所
定の条件を満足するデータだけを抽出して、仮想的なテ
ーブルを動的に構成するビュー機能を有している。
5ELECT (Target column name) FROM (Table name) WHERE (Condition) Additionally, the SQL language extracts only data that satisfies a predetermined condition from one or more tables and dynamically constructs a virtual table. It has a view function to

しかし、ビュー定義において、検索対象として指定でき
るテーブルは、既に定義されているテーブルであること
が必要であることから、ビューの定義部を、そのビュー
自体で使用することは許されていない。
However, in a view definition, the table that can be specified as a search target must be a table that has already been defined, so it is not allowed to use the view definition part in the view itself.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

第4図は本発明の詳細な説明するための図である。 FIG. 4 is a diagram for explaining the present invention in detail.

例えば、第4図(イ)図示のような親子関係を持つデー
タを考える。PlないしPlは、それぞれ部品のデータ
であって、PLは、P2.P3゜P4の部品を使用する
ことを表している。P2は。
For example, consider data having a parent-child relationship as shown in FIG. 4(a). Pl to Pl are data of each part, and PL is data of P2. This indicates that parts P3° and P4 are used. P2 is.

P3.P5の部品を使用する。P3以下の部品も。P3. Use P5 parts. Also parts below P3.

同様に他の部品を使用する。このような部品データを、
リレーショナル・データベースにより、テーブル形式で
管理すると、第4図(ロ)に示すテーブルT2 (テー
ブル名PP)のようになる。即ち、A#は親、C#は子
の部品を表す。カラムQTYは子部品の数量である。な
お、テーブルT1(テーブル名PARTS)は1部品毎
の属性データを記憶するテーブルである。
Use other parts in the same way. Part data like this,
If managed in a table format using a relational database, it will look like table T2 (table name PP) shown in FIG. 4(b). That is, A# represents a parent component and C# represents a child component. Column QTY is the quantity of child parts. Note that table T1 (table name PARTS) is a table that stores attribute data for each part.

このようなテーブルT2において1例えば「Plの構成
に必要なすべての子部品は何か?」というような子部品
展開を行う場合には、PlからP2、P3.P4を求め
、さらにP2からP3.P5を求め、P5からP6を求
め、・・・・・・というように、何レベルにもわたって
、テーブルを検索する必要がある。このレベルは、デー
タ内容に依存し。
In such a table T2, when expanding child parts such as 1, for example, "What are all the child parts necessary for the configuration of Pl?", from Pl to P2, P3. Find P4, and then calculate P3 from P2. It is necessary to search the table over many levels, such as finding P5, finding P6 from P5, and so on. This level depends on the data content.

不定であるため、従来用いられている問い合わせ言語の
体系では、簡単に検索結果を得ることができないという
問題があった。例えば、「Plを使用するすべての親の
部品は何か?」というような。
Since the query language is undefined, there is a problem in that it is not possible to easily obtain search results using the query language systems that have been used in the past. For example, "What are all the parent parts that use Pl?"

親捜し展開を行う場合等も同様である。The same is true when performing parent search expansion.

即ち、従来のネットワーク型のデータベースなどの場合
には、上記子部品展開および親捜し展開等は、比較的容
易に処理可能であるが、リレーショナル・データベース
の場合には、特殊なデータ構造をとり、特別な処理を個
別に組立てなければ。
That is, in the case of a conventional network-type database, etc., the above-mentioned child part expansion and parent search expansion can be processed relatively easily, but in the case of a relational database, a special data structure is used. Special treatment must be assembled separately.

完全な子部品展開等を行うことはできなかった。It was not possible to perform complete expansion of child parts.

本発明は上記問題点の解決を図り、リレーショナル・デ
ータベースに対する既存の言語体系を大きく変更しない
で、容易に不定レベルの検索を行うことができるような
手段を提供することを目的としている。
SUMMARY OF THE INVENTION The present invention aims to solve the above-mentioned problems and to provide a means for easily performing searches at an undefined level without significantly changing the existing language system for relational databases.

〔問題点を解決するための手段〕[Means for solving problems]

第1図は本発明の基本構成例を示す。 FIG. 1 shows an example of the basic configuration of the present invention.

第1図において、10は検索コマンドやビュー定義情報
等を入力する入力部、11は問い合わせ言語処理部、1
2はコマンド等の構文を解析する構文解析部、13は構
文解析結果について意味を解析する意味解析部、14は
実際のテーブルをアクセスするスケジューリングを行う
最適化処理部。
In FIG. 1, 10 is an input section for inputting search commands, view definition information, etc., 11 is a query language processing section, and 1
2 is a syntax analysis unit that analyzes the syntax of commands, etc.; 13 is a semantic analysis unit that analyzes the meaning of the syntax analysis results; and 14 is an optimization processing unit that schedules access to actual tables.

15はテーブルをアクセスするための一連の中間コード
またはオブジェクト・コードを生成するコード生成部、
16はコード実行部、17はコード生成部15によって
生成された生成コード、17Aは初期データ生成部、1
7Bは同期バッファリング制御部、17Cは検索データ
生成部、18はビュー定義前軸を登録するビュー定義部
、19はデータベース、ゼ0はビュー定義情報を記憶す
るビュー定義情報部、21A、21Bはテーブル形弐の
データを記憶するテーブル、22はデータベース19に
対するデータ入出力を行うデータベースアクセス部を表
す。
15 a code generation unit that generates a series of intermediate codes or object codes for accessing the table;
16 is a code execution unit, 17 is a generated code generated by the code generation unit 15, 17A is an initial data generation unit, 1
7B is a synchronous buffering control unit, 17C is a search data generation unit, 18 is a view definition unit that registers the view definition front axis, 19 is a database, Z0 is a view definition information unit that stores view definition information, 21A and 21B are A table 22 that stores data in table form 2 represents a database access unit that inputs and outputs data to and from the database 19.

本発明の場合、ビュー定義部1日は、ビュー定義上で、
対象ビュー定義部を検索対象に含む再帰的な定義を持つ
ビューについても9通常のビュー定義と同様に受け付け
て、ビュー定義情報部20上に登録する。
In the case of the present invention, the view definition section 1st includes the following on the view definition:
A view having a recursive definition that includes the target view definition part as a search target is also accepted in the same way as a normal view definition, and is registered on the view definition information part 20.

入力部10から、リカーシブに定義されたビューに対す
る検索コマンドが入力されると1問い合わせ言語処理部
11は、構文解析部12によって構文を解析した後、意
味解析部13によって、ビュー定義情報部20上の定義
情報を参照し、最適化処理部14によって、最適化を行
って、コード生成部15により、生成コード17を生成
する。
When a search command for a recursively defined view is input from the input unit 10, the query language processing unit 11 parses the syntax using the syntax analysis unit 12, and then uses the semantic analysis unit 13 to input the search command on the view definition information unit 20. The optimization processing section 14 performs optimization, and the code generation section 15 generates the generated code 17 with reference to the definition information.

この生成コード17は、インタプリタ形式で実行される
中間コードのようなものでもよいし、また直接実行可能
なコンパイラ出力のようなものでもよい。特に1本発明
に関連する生成コード17には、検索データ生成に関す
る再帰呼出しが含まれ。
This generated code 17 may be something like an intermediate code executed in an interpreter format, or something like a compiler output that can be directly executed. In particular, one generation code 17 related to the present invention includes a recursive call regarding search data generation.

実質的に、各ネストレベルに応じて得られる検索結果の
集合和から1問い合わせ結果が得られるようになってい
る。
In effect, one query result is obtained from the set sum of search results obtained according to each nesting level.

コード実行部16は、生成コード17を解釈・実行し、
データベースアクセス部22を介して。
The code execution unit 16 interprets and executes the generated code 17,
Via the database access unit 22.

データベース19ヘアクセスする。Access the database 19.

〔作用〕[Effect]

本発明では、ビュー定義上で、対象ビュー定義部を検索
対象に含む再帰的な定義が許される。従って、データ内
容に依存する不定レベルの検索を。
In the present invention, a recursive definition that includes the target view definition part as a search target is allowed on the view definition. Therefore, the search is at an indeterminate level depending on the data content.

その再帰的なビュー定義によって、予め指定することが
でき、そのビューに対する検索コマンドによって、各ネ
ストレベルに応じた検索結果の集合和を得ることができ
る。
The recursive view definition allows the view to be specified in advance, and a search command for that view allows a set sum of search results corresponding to each nesting level to be obtained.

〔実施例〕〔Example〕

第2図は本発明の一実施例に係る生成コードによる処理
概念図、第3図は本発明の一実施例動作を説明するため
の実行等価コマンド説明図を示す。
FIG. 2 is a conceptual diagram of processing by generated code according to an embodiment of the present invention, and FIG. 3 is an explanatory diagram of execution equivalent commands for explaining the operation of an embodiment of the present invention.

以下の実施例では、リレーショナル・データベース用の
問い合わせ言語として周知であるSQL言語を例に説明
する。同種のビュー機能を有する他の問い合わせ言語に
も同様に適用できる。
In the following embodiments, the SQL language, which is well known as a query language for relational databases, will be used as an example. It is equally applicable to other query languages with similar view functionality.

例えば、第4図(ロ)図示のテーブルT2 (テーブル
名PP)について、子部品展開により、構成部品の一覧
表を求める場合、予め次のようなビュー定義を行う。
For example, when obtaining a list of component parts by expanding child parts for table T2 (table name PP) shown in FIG. 4(b), the following view definition is performed in advance.

VIEW  V (A#、C#、QTY)  ASSE
LECT  PP、A#、PP、C#、PP、QTYF
ROM   PP、V WHERE  PP、C#=V、A# このビュー定義は、テーブルPPとビュー■について、
PPのカラムC#とVのカラムA#が等しいものを選び
、そのPPのA#、C#、QTYによって、ビュ、−■
が構成されることを示している。このビュー定義では、
ビュー定義部rVJが。
VIEW V (A#, C#, QTY) ASSE
LECT PP, A#, PP, C#, PP, QTYF
ROM PP, V WHERE PP, C#=V, A# This view definition is for table PP and view ■.
Select the column C# of PP and the column A# of V are equal, and depending on the A#, C#, and QTY of that PP, view, -■
is configured. In this view definition,
View definition part rVJ.

その定義内におけるFROM節で使用されるため。Because it is used in the FROM clause within its definition.

再帰的な定義となっている。なお、この定義は。It is a recursive definition. Furthermore, this definition is.

DBMS利用者が行う。Performed by the DBMS user.

ここで1部品P1を構成するすべての部品を抽出したい
とする。この場合9次のような検索コマンドを投入する
Here, let us assume that we want to extract all the parts that make up one part P1. In this case, enter the following search command.

5ELECT  * FROM   V WHERE  PP、C#=V、A# 第1図に示す問い合わせ言語処理部11は、この検索コ
マンドを解析し2例えば第2図に示すような生成コード
17を生成する。生成コード17は、初期データ生成部
17A、同期バッファリング制御部17B、検索データ
生成部17Cからなる。   ・ 初期データ生成部17Aでは、まず処理■によって、レ
ベルを「0」に設定し、検索対象項目として“P1゛を
指定して、同期バッファリング制御部17Bを呼び出す
。レベルは、再帰呼出しに関する深さを示す。
5ELECT * FROM V WHERE PP, C#=V, A# The query language processing unit 11 shown in FIG. 1 analyzes this search command and generates a generated code 17 as shown in FIG. 2, for example. The generation code 17 includes an initial data generation section 17A, a synchronous buffering control section 17B, and a search data generation section 17C. - The initial data generation unit 17A first sets the level to “0” through process (2), specifies “P1” as the search target item, and calls the synchronous buffering control unit 17B. Show that.

同期バッファリング制御部17Bでは、処理■により、
レベルおよび検索対象項目情報を、それぞれ変数5YS
LEVEL、P#に受け取ると。
In the synchronous buffering control unit 17B, through process (2),
The level and search target item information are each variable 5YS.
When received at LEVEL, P#.

処理■によって、同期のためのバッファリング制+II
Iを行い、処理■によッテ、変数5YSLEVEL、P
#を指定し、検索データ生成部17Cを呼び出す。
Buffering system for synchronization + II by processing ■
Execute I, process ■, variable 5YSLEVEL, P
# is specified to call the search data generation unit 17C.

検索データ生成部17cは、処理■によって。The search data generation unit 17c performs process (2).

同期バッファリング制御部17Bからの要求を受け取る
と、処理■によって、検索対象c1を宣言する。このC
1は、第1図に示すデータベースアクセス部22が、デ
ータベース19をアクセスするにあたって用いるホスト
インタフェースと考えてよい。処理■によって、このC
1による検索を指定する。
Upon receiving the request from the synchronous buffering control unit 17B, the search target c1 is declared in process (2). This C
1 may be considered a host interface used by the database access unit 22 shown in FIG. 1 to access the database 19. By processing ■, this C
Specifies search by 1.

処理■は、検−索結果がなくなるまで、処理■ないし処
理@を繰り返すことを指示する。処理■によって、実際
のデータベース19へのアクセスが行われ、1件のP#
が取得される。得られたP#の値は、処理[相]によっ
て、検索結果の1つとして出力される。例えば、レベル
の深さに制約がある場合には、処理0によって5YSL
EVE、Lのチェツクを行い、必要に応じて2次の処理
■をスキップする。
Processing (2) instructs to repeat processing (2) to (@) until there are no search results. Processing ■ accesses the actual database 19, and one P#
is obtained. The obtained value of P# is output as one of the search results by the process [phase]. For example, if there is a constraint on the depth of the level, processing 0 will result in 5YSL
Check EVE and L, and skip the secondary process (2) if necessary.

処理@では、5YSLEVELO値に+1したものを、
レベルとして設定し、P#を新たな検索対象項目として
、同期バッファリング制御部17Bを呼び出す。リカー
シブは、このデータの戻しにより実現されることになる
In processing @, add 1 to the 5YSLEVELO value,
The synchronous buffering control unit 17B is called with P# set as the level and P# as a new search target item. Recursiveness will be realized by returning this data.

処理◎は、処理■に対応するもので、繰り返しの終了を
示す。処理■は、C1による検索の終了を示す。
Process ◎ corresponds to process ■ and indicates the end of repetition. Processing ■ indicates the end of the search by C1.

以上の生成コード17を、インクプリタ的に。Generate the above generated code 17 in an incremented manner.

または直接オブジェクト・コードのようなものに落とし
て実行することにより、実質的に第3図に示すような、
検索コマンドの解釈・実行がなされることになる。即ち
、第3図(イ)に示す再帰的定義によるビューを指定す
る検索コマンドは、第3図(ロ)に示す各ホストレベル
に応じた検索コマンドのUNTON(集合和)と、実質
的に実行動作およびその結果が等価なものになる。
Or, by directly converting it into something like object code and executing it, you can essentially create something like the one shown in Figure 3.
The search command will be interpreted and executed. In other words, the search command that specifies a view based on the recursive definition shown in Figure 3 (a) is essentially executed as a UNTON (set sum) of search commands corresponding to each host level shown in Figure 3 (b). The actions and their results are equivalent.

第3図(ロ)において、PPI、PP2.・・・は。In FIG. 3 (b), PPI, PP2. ···teeth.

それぞれテーブルPPに対して、レベル対応の検索用に
指定された名前である。UNIONの個数は無限と考え
て、あるレベル以上は常に空集合の合併になると考えて
もよいし、所定のホストレベルまでのUNIONがある
と考えてもよい。
These are names specified for level-corresponding searches for each table PP. You may consider that the number of UNIONs is infinite and that above a certain level it will always be a union of empty sets, or you may consider that there are UNIONs up to a predetermined host level.

レベル「0」では、PIの子部品として、PP。At level "0", PP is a child part of PI.

P3.P4が得られる。レベル「1」では、Plの子部
品であるPP、P3.P4について、さらにその子部品
であるP3.P5.P6.P7等が得られる。レベル「
2」、レベル「3」も同様であるが、レベル「4」は2
部品P6の子部品がないので、結果が空集合となる。そ
こで、UNIONによる合併を中止する。以上で得られ
た各ホストレベルに応じた検索結果の集合は、求めるP
lの子部品展開となる。
P3. P4 is obtained. At level "1", PP, P3. Regarding P4, its child part P3. P5. P6. P7 etc. are obtained. level"
2" and level "3" are the same, but level "4" is 2".
Since there are no child parts of part P6, the result is an empty set. Therefore, the merger by UNION will be canceled. The set of search results according to each host level obtained above is the desired P
The child parts of l are expanded.

例えば、「部品P7を使用しているすべての部品は何か
?」というような親捜し展開の場合には。
For example, in the case of parent search expansion such as "What are all the parts that use part P7?"

子部品展開とは、スタートと検索の方向が異なるため8
次のようなビュー定義を用いるとよい。
Since the start and search directions are different from child parts expansion, 8
It is recommended to use the following view definition.

VIEWV(〜 )  AS SELECT * FROM    PP、V WHERE  PP、  A#=V、  C#このビュ
ーに対して2次のような検索コマンドを用いることによ
り、上記親捜し展開が可能である。
VIEWV(~) AS SELECT * FROM PP, V WHERE PP, A#=V, C# By using the following search command for this view, the above parent search expansion is possible.

5ELECT  * FROM   V WHERE  V、C#=  ’P7゜なお、この処理
動作については、検索方向等の点を除いて、子部品展開
の場合と同様である。
5ELECT * FROM V WHERE V, C#='P7° This processing operation is the same as in the case of child component expansion, except for the search direction and the like.

ところで、利用者がホストのレベルを知りたい場合があ
ると考えられる。この場合2次のように組込み関数(S
YSLEVEL)によって8通知することができる。
By the way, there may be cases where the user wants to know the level of the host. In this case, the built-in function (S
YSLEVEL).

rSELECT  5YSLEVEL、  A#、  
C#、−jまた。利用者が誤ってビュー定義を行ったた
めに3本来、再帰的でないビューが、再帰的に解釈され
、予期せぬ動作がなされる場合がある。本発明のような
再帰的定義を用いることは稀であると考えられるので、
誤って定義した場合と区別するために1次のようなキー
ワードを設けてもよい。
rSELECT 5YSLEVEL, A#,
C#, -j again. If a user incorrectly defines a view, a view that is not originally recursive may be interpreted as recursive, resulting in unexpected behavior. Since it is considered rare to use a recursive definition like the one used in the present invention,
A keyword such as ``primary'' may be provided in order to distinguish from a case of erroneous definition.

rDEFINE  RECUR3I VE  VIEW
 V (−) Jまた。利用者が、検索するレベルの深
さを制御できるようにするために1例えば次のような条
件を設定できるようにすることが望ましい。
rDEFIN RECUR3I VE VIEW
V (-) J again. In order to allow the user to control the depth of the search level, it is desirable to be able to set the following conditions, for example.

rWHERE  5YSLEVEL<定数」この条件指
定がなされると、レベルが指定された定数になったとき
に、再帰呼出しが打ち切られる。
rWHERE 5YSLEVEL<Constant" When this condition is specified, the recursive call is aborted when the level reaches the specified constant.

〔発明の効果〕〔Effect of the invention〕

以上説明したように2本発明によれば、リレーショナル
・データベースに対する問い合わせ言語上で、データに
依存する不定レベルの検索が可能になり、子部品展開や
親捜し展開等についても。
As explained above, according to the present invention, it is possible to perform data-dependent searches at an undefined level using a query language for relational databases, and also for child part expansion, parent search expansion, and the like.

容易に行うことができるようになる。You will be able to do it easily.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は本発明の基本構成例、第2図は本発明の一実施
例に係る生成コードによる処理概念図。 第3図は本発明の一実施例動作を説明するための実行等
価コマンド説明図、第4図は本発明の詳細な説明するた
めの図を示す。 図中、10は入力部、11は問い合わせ言語処理部、1
2は構文解析部、13は意味解析部、14は最適化処理
部、15はコード生成部、16はコード実行部、17は
生成コード、17Aは初期データ生成部、17Bは同期
バッファリング制御部、17Cは検索データ生成部、1
8はビュー定義部、19はデータベース、20はビュー
定義情報部、21A、21Bはテーブル、22はデータ
ベースアクセス部を表す。 特許出願人    富士通株式会社 復代理人弁理士   小笠原 吉義 充 1 l 吊2 口
FIG. 1 is a basic configuration example of the present invention, and FIG. 2 is a conceptual diagram of processing by generated code according to an embodiment of the present invention. FIG. 3 is an explanatory diagram of execution equivalent commands for explaining the operation of an embodiment of the present invention, and FIG. 4 is a diagram for explaining the present invention in detail. In the figure, 10 is an input section, 11 is a query language processing section, 1
2 is a syntax analysis unit, 13 is a semantic analysis unit, 14 is an optimization processing unit, 15 is a code generation unit, 16 is a code execution unit, 17 is a generated code, 17A is an initial data generation unit, 17B is a synchronous buffering control unit , 17C is a search data generation unit, 1
Reference numeral 8 represents a view definition section, 19 a database, 20 a view definition information section, 21A and 21B tables, and 22 a database access section. Patent Applicant Fujitsu Limited Sub-Agent Patent Attorney Yoshiyoshi Ogasawara 1 l Suspension 2 mouths

Claims (1)

【特許請求の範囲】 予め定義されたビューを対象として、ある条件に合致す
るデータ群を抽出する機能を有する問い合わせ言語を入
力し、リレーショナル・データベースに対する問い合わ
せを処理するデータベース検索処理システムにおいて、 上記ビュー定義内において自ビューをさらに検索対象と
して指定するリカーシブな定義を受け付ける手段(18
)と、 上記リカーシブに定義されたビューに対する検索要求に
対して、実質的に各ネストレベルに応じて得られる検索
結果の集合和から、問い合わせ結果が得られるように、
再帰呼出しを含むコードを生成し実行する手段(15、
16)とを備えたことを特徴とするリカーシブ・ビュー
処理方式。
[Scope of Claim] A database search processing system that processes queries to a relational database by inputting a query language that has a function of extracting a data group that matches a certain condition from a predefined view, comprising: Means for accepting a recursive definition that further specifies the own view as a search target within the definition (18
), and in response to a search request for the recursively defined view above, the query result is obtained from the set sum of search results obtained according to each nesting level.
Means for generating and executing code including recursive calls (15,
16) A recursive view processing method comprising:
JP61200841A 1986-08-27 1986-08-27 Relational database search processing method Expired - Lifetime JPH077350B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61200841A JPH077350B2 (en) 1986-08-27 1986-08-27 Relational database search processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61200841A JPH077350B2 (en) 1986-08-27 1986-08-27 Relational database search processing method

Publications (2)

Publication Number Publication Date
JPS6355625A true JPS6355625A (en) 1988-03-10
JPH077350B2 JPH077350B2 (en) 1995-01-30

Family

ID=16431096

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61200841A Expired - Lifetime JPH077350B2 (en) 1986-08-27 1986-08-27 Relational database search processing method

Country Status (1)

Country Link
JP (1) JPH077350B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007072961A (en) * 2005-09-09 2007-03-22 Fujitsu Ltd Database retrieval method, program, and system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007072961A (en) * 2005-09-09 2007-03-22 Fujitsu Ltd Database retrieval method, program, and system

Also Published As

Publication number Publication date
JPH077350B2 (en) 1995-01-30

Similar Documents

Publication Publication Date Title
CN106934062B (en) Implementation method and system for querying elastic search
US6996567B2 (en) Automatic generation of join graphs for relational database queries
US6510422B1 (en) Cost based materialized view selection for query optimization
US7505985B2 (en) System and method of generating string-based search expressions using templates
US6748374B1 (en) Method for generating a relational database query statement using one or more templates corresponding to search conditions in an expression tree
US7890507B2 (en) System and method of joining data obtained from horizontally and vertically partitioned heterogeneous data stores using string-based location transparent search expressions
US7120869B2 (en) Enhanced mechanism for automatically generating a transformation document
US7343370B2 (en) Plan generation in database query optimizers through specification of plan patterns
JP5192634B2 (en) Declaration order report parameterization
US7987416B2 (en) Systems and methods for modular information extraction
JP2008234357A (en) Structured document retrieval system, program and index data structure
US20060161525A1 (en) Method and system for supporting structured aggregation operations on semi-structured data
JPH06282576A (en) Relational access system for network type data base
CN115422167B (en) Cross-data source database view visualization construction method and system
WO2009090130A1 (en) Method and system for navigation of a data structure
US20220083879A1 (en) Inferring a comparative advantage of multi-knowledge representations
JP4103905B2 (en) Integrated search system
US20050171976A1 (en) Diagrammatic method and system to build repository queries
JPS6355625A (en) Recursive view processing system
CN101382945A (en) Method and database system for pre-processing an XQuery
JP3747542B2 (en) Integrated search device
JP2002063165A (en) Method and system and program for information retrieval, and recording medium having the same program recorded thereon
KR20120051322A (en) System and method using tree pattern expression for extraction information from syntactically parsed text corpora
JP5374456B2 (en) Method of operating document search apparatus and computer program for causing computer to execute the same
Jia-di et al. Modeling Language Design and Mapping Rules for REST Interface

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term