EP2021952A1 - Procédé de commande d'un système de gestion de banque de données relationnelle - Google Patents

Procédé de commande d'un système de gestion de banque de données relationnelle

Info

Publication number
EP2021952A1
EP2021952A1 EP07701305A EP07701305A EP2021952A1 EP 2021952 A1 EP2021952 A1 EP 2021952A1 EP 07701305 A EP07701305 A EP 07701305A EP 07701305 A EP07701305 A EP 07701305A EP 2021952 A1 EP2021952 A1 EP 2021952A1
Authority
EP
European Patent Office
Prior art keywords
rtn building
decision
rtn
building block
processing
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.)
Withdrawn
Application number
EP07701305A
Other languages
German (de)
English (en)
Inventor
Matthias MÖSTL
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.)
Mediareif Mostl & Reif Kommunikations- und Informationstechnologien Oeg
Original Assignee
Mediareif Mostl & Reif Kommunikations- und Informationstechnologien Oeg
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 Mediareif Mostl & Reif Kommunikations- und Informationstechnologien Oeg filed Critical Mediareif Mostl & Reif Kommunikations- und Informationstechnologien Oeg
Publication of EP2021952A1 publication Critical patent/EP2021952A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • G06F16/24524Access plan code generation and invalidation; Reuse of access plans
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • G06F16/24526Internal representations for queries

Definitions

  • the invention relates to a method for controlling a relational database system, wherein a request statement composed of keywords is first analyzed using a recursive transition network (RTN) and assigned to the keywords or group of keywords in the order specified by the statement processing-relevant properties, and then converted into control commands and these are optionally optimized.
  • RTN recursive transition network
  • the invention relates to an associated relational database system, associated data carriers or carrier signals with control information for the relational database system as well as associated computer programs and computer program products for carrying out the aforementioned methods.
  • SQL is a quantity-processing query language that applies fixed quantity processing functions in a specific, always identical sequence to each statement or sub-statement to freely definable input quantities per statement or sub-statement.
  • the object of the invention is therefore to provide a method of the type mentioned above, which allows a simple and succinct description of situations of any difficulty in a query language and the creation of an improved access plan, and thereby conditionally the query result can be calculated or executed faster ,
  • the method according to the invention should also be optimally representable in graphic surfaces.
  • the object of the invention is to carry out as quickly as possible an analysis of a statement which simply satisfies the previously mentioned requirements and to generate and process an optimal access plan corresponding to the respective statement to a given data structure of a relational database system.
  • each RTN building block having associated processing-relevant building block information and having an inner, directed decision graph that is defined independently of the inner, directed decision graphs of the other RTN building blocks and each having at least one decision path which includes at least one decision position,
  • the RTN building blocks has at least one of the decision positions of their decision paths a recursive call function which implements insertion and traversal of one of the RTN building blocks from the totality of the RTN building blocks, where appropriate the RTN building block used in its decision graph includes the recursive call function at least once, allowing an arbitrarily often recursively nested execution of the call function,
  • a reference group independent of the RTN building blocks whose elements refer to residual decision graphs freed from their first decision position by carrying out the following sub-steps independently of the other RTN building blocks for each RTN building block: o determining all decision positions which are first Decision position in the decision graph of the respective RTN building block, and adding it into the RTN building block independent reference group as its elements, o forming the residual decision graphs for all first reachable decision positions by combining the decision paths traceable from the respective first decision position, omitting this first decision position, and adding the respective processing-relevant RTN building block information, so that after all substeps have been performed for all RTN Blocks, the reference group contains the first decision positions of all RTN building blocks, and these first decision positions point to their associated residual decision graphs,
  • relational database system which comprises at least one computer system with at least one relational database, at least one data processing unit and at least one memory and which is program-technically set up so that it operates according to the aforementioned method according to the invention.
  • Fig. 1 shows a schematic representation of a SQL RTNs according to the prior art
  • 2, 3 show a schematic representation of two RTN building blocks with emphasis on decision positions which can be reached as the first at the beginning of the passage of the decision graphs of RTN building blocks according to an embodiment of the method according to the invention
  • FIGS. 21 to 28 each show a schematic representation of an RTN building block according to an embodiment of the method according to the invention.
  • 29 to 32 each show a schematic representation of a reference group element with associated residual decision graph according to an embodiment of the method according to the invention
  • FIGS. 33 to 40 each show a schematic representation of an RTN building block according to an embodiment of the method according to the invention.
  • 41 to 45 each show a schematic representation of a reference group element with associated residual decision graph of an embodiment of the method according to the invention.
  • FIGS. 46 and 47 each show the schematic representation of the nesting of RTN building blocks according to an embodiment of the method according to the invention
  • 48 and 49 each show the schematic representation of the nesting of RTN building blocks according to an embodiment of the method according to the invention
  • Figs. 50 and 51 respectively show the . schematic representation of the nesting of RTN building blocks according to an embodiment of the method according to the invention.
  • the starting point for the application of the invention is a request statement for a relational database system, which analyzes and, according to the analysis, create an access plan to an existing data structure and, after execution, provide the requested results.
  • FIG. 1 shows a simplified prior art decision graph for the SELECT query SQL query language, which schematically illustrates the structure of the RTN for SQL.
  • Each query statement is from a fixed predetermined sequence of compulsory sequentially arranged processing areas 40, 41, 42, 43, 44, 45 with keywords 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
  • a particular grouping of keywords each forms a processing area, e.g. FROM (keywords 22, 23), WHERE (keywords 24, 25), GROUP BY (keywords 26, 27), etc., each processing area performing a set processing function associated with it, e.g. FROM makes Cartesian products with the possibility of special JOINs.
  • An RTN contains the highest flexibility if and only if the RTN is not considered as a whole, which has an overall directed decision graph that is overall hierarchical and can be used as a whole at certain definable decision positions of the entire RTN 's, but through the Use of RTN building blocks described according to the invention.
  • RTN building blocks offer the greatest flexibility, insofar as an RTN building block consisting of the entirety of the RTN building blocks can be used and run through in each RTN building block, if desired by means of a corresponding decision position.
  • the starting point for the following considerations is always a statement formulated by a user or generated via a graphical user interface that can be analyzed and thus processed.
  • a statement receives its workable formal form precisely when the user expresses his problem, that is to say a request to the relational database system, by means of the combinations of keywords that can be generated by the RTN building blocks.
  • RTN building block-relevant information can be assigned to each RTN building block, whereby this processing-relevant RTN building block information can relate either to the RTN building block as a whole or to the individual decision positions.
  • processing-relevant RTN building site information communication can also be requested in the case of interleaving two or more RTN building blocks independently of their nesting depth and the hierarchical order of their nesting.
  • each RTN building block includes associated processing-relevant building block information and has an inner, directed decision graph defined independently of the inner, directed decision graphs of the other RTN building blocks each having at least one decision path which includes at least one decision position,
  • RTN building blocks have at least one of the decision positions of their decision paths a recursive call function which implements insertion and traversal of one of the RTN building blocks from the totality of the RTN building blocks, where appropriate the RTN building block used in its decision graph the recursive Advicemffunktion at least once so that an arbitrary often recursive nested execution of the call function is enabled.
  • Example 1 is composed of RTN building blocks, wherein for each RTN building block the inner directed decision graph and for the time being because of Clarification unspecified defined processing-relevant RTN module information is given, which will be discussed below.
  • FIG. 21, FIG. 22, FIG. 23 to FIG. 28 graphically depict the RTN building blocks of Example 1 Bl_l, Bl_2, Bl_3 to Bl_8, each with an inner, directed decision graph 50888.
  • the RTN building block Bl_l is shown in FIG the reference numeral 50001, the RTN building block Bl_2 with the reference numeral 50002, etc.
  • the inner, directed decision graphs of the RTN building blocks pass, decision positions are reached along decision paths, each decision position being compared to either a text, a special character, a variable, a number, or a jump position, depending on an associated tag executes any arbitrary decision position within the inner, directed decision graph of the current RTN building block or an RTN building block of the totality of the RTN building blocks is used, which in turn is traversed again.
  • This selection possibility at the decision positions allows a configuration of the query that is much more flexible than the prior art, in particular by a possibility of marking any number of decision positions within a given RTN building block with a recursive call-up function. Depending on your needs, you can define further corresponding indicators for decision items. In this respect, the bandwidth of the definition of a decision position is not limited to special functions, but can be chosen arbitrarily taking into account the syntactic order.
  • the inner directional decision graph of the RTN building blocks is expressed throughout the description throughout using an RTN syntax similar to that used in EBNF's (Extended Backus-Naur Forms), characterized by a jump within the inner, directed decision graph is added, which when used as a decision position with associated flag in the inner, directed decision graphs of the RTN building blocks is listed.
  • EBNF's Extended Backus-Naur Forms
  • the most important deviation from the known ENBF is the addition of a separate recursive call function character, which executes the insertion and traversal of one of the RTN building blocks from the entirety of the RTN building blocks.
  • a directional decision graph of an RTN building block refers to a prior art directed graph with the nodes of the graph representing decision positions.
  • a decision path designates a possible path through the directional decision graph from within a first reachable decision position to a last defined decision position. The sum of all decision paths thus gives rise to all possibilities of traversing a decision graph from first decision positions to last decision positions, the superimposition of these different possibilities of passage over the decision paths is represented graphically so that branch points arise at certain points of the resulting decision graph.
  • the RTN syntax of the RTN building blocks uses the character *, if a keyword is expected at a decision position of an RTN syntax, then this expected keyword must be placed under "" If a variable is specified in an RTN syntax, the character string V: and a name briefly describing this variable are given at this decision position.
  • jump positions are provided as decision positions within the decision graph, wherein a jump position can forward to another decision position within the respective inner, directed decision graph.
  • the decision position in the decision graph to jump to is marked with the character (followed by a number and the character) and the decision position at which Jump is marked with the characters (* followed by the number to jump to and the character).
  • RTN building blocks 50111 and 50112 both of which each have a decision path 50999 and are defined independently of one another.
  • these two RTN building blocks 50111 and 50112 can, for example because of partially identical processing-relevant RTN building block information, be combined to form a single RTN building block, specifically the RTN building block Bl_l, by superposition of the access paths of the two RTN building blocks. wherein the combined RTN building block Bl_l requires the use of a logical exclusive OR for the different parts of the two decision paths.
  • the RTN building blocks 50131 (FIG. 6) and 50132 (FIG. 7) can be combined by superimposing their access paths.
  • this combined RTN building block is the RTN building block Bl_3.
  • This superposition of the two RTN building blocks requires the use of optionality because the RTN building block 50132 contains a decision position key word "Y" in its decision path 50999, which is not present in the RTN building block 50131.
  • Figures 18, 19 and 20 show the mutually independent RTN building blocks 50141, 50142 and 50143, where the RTN building block 50143 represents an RTN building block with a finite number of decision positions keyword "D" and thus the plurality of all RTN building blocks with more than two decision positions to show keyword "D".
  • the RTN building block 50143 represents an RTN building block with a finite number of decision positions keyword "D" and thus the plurality of all RTN building blocks with more than two decision positions to show keyword "D".
  • an optional jump decision position is required.
  • RTN syntax of the RTN building block Bl_4 is interpreted as follows:
  • the first decision position of the inner, directed decision graph of the RTN building block Bl_4 thus prescribes the keyword "A” as the current keyword in a statement to be analyzed.
  • the subsequent second decision position upon reaching the same, ie after successful comparison of the first decision position of this decision graph, performs a recursive call function, which means inserting and traversing one of the RTN building blocks from the totality of the RTN building blocks.
  • the third decision position following the decision path expects the keyword "D" as the current keyword in the statement to be analyzed, which keyword after the stepwise matching of the keywords of the same statement with the decision positions of the RTN building block recursively inserted at the second decision position with its possible further interleaves current keyword results.
  • a branch point determined by [] follows, from which the two decision paths, which are so far at decision positions, take an independent course, which means that two different decision options can be achieved from this branch point.
  • the first possible decision position within this branching capability is the fourth decision position (* 1), which defines a jump position to another decision position in the decision graph, in this case a jump to the third decision position involving the keyword "D.”
  • the possible decision position of this branch point is the fifth decision position, which means the recursive call function, ie the insertion and traversal of one of the RTN building blocks from the totality of the RTN building blocks.
  • an RTN building block composed of the totality of the RTN building blocks can be used both at the second and at the fifth decision position, which in turn expects a recursive call function on at least one decision position of its decision graph.
  • the same RTN building block Bl_4 can also be used be applied to one or both of the decision positions of its inner, directed decision graph, thereby allowing an arbitrarily often recursively nested execution of the recursive call function.
  • RTN block Bl_4 "A" * position "D” "D” "D” * position3
  • RTN block Bl_6 RTN block Bl_6: "X" * -position2 "B"
  • ⁇ position2 uses the RTN block Bl_3: RTN block B 1_4: "X"
  • RTN building block B 1_4 Processing-relevant information V4_l to V4_x
  • FIG. 47 shows, for clarity, this combined hierarchical nesting of the RTN building blocks without specification of the keywords and recursive call functions 300 as a graphical representation.
  • the decision position (1) "A” and the decision position (2) “V” can be reached as first decision positions in this RTN building block Bl_l.
  • the independent reference group are added to the decision position (I) 55 A 'and the decision position (2) "V" as elements.
  • FIG. 2 shows the RTN building block 50001, which is referred to above as RTN building block Bl_l, with an inner, directed decision graph 50888.
  • the two decision decision positions keyword “V” and keyword “A” which can be reached first are identified by the reference numeral 40000 , all other decision positions which can not be reached as first decision positions are identified by the reference numeral 40001.
  • the first decision positions in this RTN building block Bl_2 are the decision position 1 "A”.
  • the decision group "A" is added as an element to the independent reference group.
  • FIG. 3 shows the RTN building block 50002, which is referred to above as RTN building block Bl_2, with an inner, directed decision graph 50888.
  • the only decision position that can be reached first keyword “A” is designated by the reference numeral 40000, all others are not The first reachable decision positions are identified by the reference numeral 40001.
  • the first decision position in this RTN building block Bl_3 is the decision position 1 "X"
  • the same elements of the RTN building block independent reference group can be summarized in a summarizing step into a single element in this reference group and the associated, originally multiple and independent residual decision graphs their overlays are combined into a single residual decision graph.
  • Both the elements of the reference group and the residual decision graphs assigned to them are independent of the specified RTN building blocks forming them. Nevertheless, the RTN building block information relevant to the processing of the RTN building blocks in the interleaving resulting from a statement to be analyzed is still required for further processing and in particular for the creation of an access plan. This is ensured by applying the above summarizing step to equal elements of the reference group and their remainder decision graphs of each decision position of the remainder decision graph, all processing-relevant RTN building block information being assigned to exactly one RTN building block containing this decision location as such.
  • both the interleaving and the associated processing-relevant RTN module information can be used for further processing and thus also for generating an access plan.
  • Vl The building block relevant information Vl_l to Vl_x are referred to in the following description for the sake of simplicity below as Vl, the building block relevant information V2_l to V2_x as V2, etc.
  • FIG. 29 shows the element "A” of the reference group with the reference numeral 50501 with associated combined residual decision graph 50511.
  • FIG. 30 shows the element "V” of the reference group with the reference numeral 50502 with associated combined residual decision graph 50512.
  • FIG. 31 shows the element "X” of the reference group with the reference numeral 50503 with associated summarized residual decision graph 50513, and
  • FIG. 32 shows the element "* of the reference group with the reference numeral 50530 with summarized residual decision graphs 50531.
  • the reference group element "X" has indicated as a subsequent decision position optionality in that a keyword “X” alone is sufficient to obtain the processing function V3 in identifying the reference group element "X.”
  • This designation "processing function V3" stands, for example, in front of the first decision position of its remainder decision graph to be executed.
  • the final processing-relevant RTN building block information may sometimes only result after a series of decision positions being called depending on a syntax to be analyzed
  • the identification of a position at which the processing-relevant RTN module information assigned to a decision position is set can be varied and does not restrict the invention.
  • the inner decision graphs of all RTN building blocks are traversed using the keywords, and all possible paths of these decision graphs are followed until either no match with the respectively selected path is determined by the decision graph and the process is aborted or the path selected in each case goes through to the end,
  • the formation of the RTN block-independent reference group takes place once for an RTN with its associated RTN building blocks and is then regenerated if at least one of the RTN building blocks of the RTN changes or new RTN building blocks are added to the RTN or existing RTN blocks are removed.
  • All keywords of the statement to be processed are procedurally executed by executing a reference execution step for the keyword in the first position in which the matched keyword is searched in the reference group and, if it is found, follows the associated residual decision graph in such a way,
  • Example 3 Referring to the RTN building blocks Bl_l to Bl_8 given in Example 1 and to the syntax "A X X B D D D A D" given in Example 2, the analysis according to the invention of this statement by means of the reference group is shown stepwise in Example 3:
  • the first decision position to be compared in the remainder decision graph of the element "A" in the reference group requires an * position, ie a position that requires a recursive call function in that an RTN building block from the entirety of the RTN is used for successful comparison at this decision position Blocks are to be used and run through.
  • the current recursive call order therefore looks like this: 1.
  • Keyword "X” (2) is found in the RTN-Block-independent reference group, so for the current, ie next, keyword in the statement "X” (3), the remainder decision graph of this element "X" from the reference group followed.
  • This first decision position in the current decision path is an * position, ie a position that requires a recursive call function, in that an RTN building block from the totality of the RTN building blocks is to be used and run through for successful comparison at this decision position.
  • This first decision position in the current decision path is an * position, that is, a position that requires a recursive call function in that an RTN building block is issued for successful comparison at that decision position the entirety of the RTN building blocks should be used and run through.
  • the third, current decision path of the remainder decision graph indicates that this RTN building block has already been successfully traversed by finding the keyword "X" (3) in the reference group.
  • next decision position in the current decision path of the 1st recursion level expects the keyword "B", which is NOT equal to the current keyword "D” (5) of the statement to be analyzed. Therefore, the next decision path is followed in OR, whose first decision position requires the keyword "C.” Since this decision position also does not correspond to the current keyword "D” (5) of the statement to be analyzed, the third decision path is followed in OR.
  • This first decision position in the third decision path prescribes the keyword "D", because of the correspondence with the current keyword "D” (5) in the statement to be analyzed, this third decision path is followed in the OR.
  • the next decision position again prescribes the keyword “D”, which also corresponds to the current, ie next, keyword “D” (6) in the statement to be processed.
  • the keyword "D” is requested at the current decision position, which also corresponds to the current, ie next, keyword "D” (7) in the statement to be processed.
  • next decision position in the current decision path of the 1st recursion level is followed, which in turn prescribes the keyword "D", this decision position no longer corresponding to the current, ie next, keyword "A” (8) of the statement to be analyzed.
  • the decision position * that is, a position that requires a recursive call function to be successful Comparison at this decision position, an RTN building block from the totality of RTN building blocks is to be used and run.
  • the first decision position of the second recursion level requires an * position, ie a position which requires a recursive call function in that an RTN building block composed of the entirety of the RTN building blocks is to be used and run through for successful comparison at this decision position.
  • the result for example 3 is the following nested result:
  • RTN building blocks are allowed which contain a * decision position at the first decision position of their inner decision graph, ie a decision position which prescribes the insertion and traversal of one of the RTN building blocks from the totality of the RTN building blocks.
  • the order of the keywords specified in the statement necessarily corresponds to the order of the keywords in the resulting RTN building block nesting using * decision positions RTN building blocks.
  • RTN building block nesting to be used for further processing, which is created on the basis of the above statement:
  • the RTN building blocks In order to enable the detection and interleaving of the RTN building blocks used with their processing-relevant RTN building block information by means of an algorithm, it is therefore necessary to use a conversion step before processing the statement to be analyzed, the RTN building blocks being divided into two generic groups For each RTN building block, the corresponding generic group is noted for further processing as one of the processing-relevant RTN building block information.
  • each RTN building block is assigned to either a first or a second generic group
  • the RTN building blocks that start with text, special characters, variable or number as the first reachable decision position of the first .
  • Genus group and be converted such that the decision positions, which contain a recursive call function, which requires the insertion and traversal of one of the RTN building blocks from the entirety of all defined RTN building blocks, be limited to the fact that the insertion and traversal only to one RTN building block of the first generic group is restricted, and
  • the RTN building blocks starting with a recursive call function as the first reachable decision position are assigned to the second generic group and are converted to remove the first decision position and decision positions that include a recursive call function involving the insertion and traversal of one of the RTN building blocks the set prescribes to contain all defined RTN building blocks, to be restricted to the fact that the insertion and traversal is limited to only one RTN building block of the first generic group, and all RTN building blocks of the first generic group and those RTN building blocks of the second generic group ending with a text, special characters, variable or number at the last decision position, an optionally executable decision position is appended to the last place at which the insertion and traversal of an RTN -Bausteins the second genus group is prescribed.
  • the conversion for one of the RTN building blocks without * decision position specified in Example 1 is shown as the first decision position in the inner decision graph of the RTN building block:
  • RTN building block Bl_2 " ⁇ ⁇ " * "p ⁇ " * "rö>"
  • the transformation is shown as a first decision position and without a * decision position as the last decision position in the inner decision graph of the RTN building block:
  • RTN module Bl 8
  • FIGS. 33, 34 to 40 show the RTN building blocks Bl_l (50001), Bl_2 (50002), and Bl_8 (50008), each with an inner, directed decision graph 50888, as it results for each RTN building block after the conversion step shown above.
  • the * decision position 300 converted at the concerned decision positions, which now prescribes the insertion and traversal of an RTN building block out of the totality of the RTN building blocks from the first generic group, is identified in all figures as X building block and with the decision position numbers and thus provided with the reference numeral 301.
  • All of the decision graphs of the RTN building blocks optionally appended decision positions RTN building block of the second generic group are identified in the figures as a Y building block and provided with the decision position numbers and thus with the reference numeral 302.
  • This conversion step ensures that any given statement can be decomposed into RTN building blocks using state-of-the-art algorithms, so that the full flexibility of the RTN building blocks can be used in formulating requests.
  • each RTN building block after allocation to one of the generic groups and corresponding conversion of its inner, directed decision graph begins with at least one text, at least one special character, a variable or a number, and the recursive call function, which starts and ends Passing through one of the RTN building blocks from the formerly the entirety has prescribed all defined RTN building blocks, now inserting and passing through an RTN building block either only from the entirety of the RTN building blocks of the first generic group or only from the entirety of the RTN building blocks of the second Generic group prescribes.
  • RTN building blocks of the second generic group are optionally called exclusively at the last decision position of one of the decision graphs of an RTN building block.
  • the transformation performed to classify groups for the existing RTN building blocks has an impact on the mapping of the elements to the RTN building block independent reference set, in that the RTN building block independent reference group is transformed into a first RTN building block independent reference subset and split into a second RTN building block independent subset of references, where
  • the first reachable decision positions in the decision graphs of all RTN building blocks of the first generic group are assigned to the first RTN building block independent reference subgroup as their elements with corresponding residual decision graphs resulting after the conversion step, and
  • the first reachable decision positions in the decision graphs of all RTN building blocks of the second generic group are assigned to the second RTN building block independent reference subgroup as their elements with associated residual decision graphs after the conversion step.
  • RTN building block of the first generic group V8 "M” RTN building block of the first generic group VS [RTN building block of the second generic group]
  • Figure 41 shows element "A” (reference numeral 50501) of the first reference subgroup with associated residual decision graph 50611 resulting after the conversion step.
  • Figures 42 and 43 show elements “V” (reference numeral 50502) and “X. "(50503) of the first reference subgroup with FIGS. 44 and 45 similarly show the elements "K” (reference 50503) and “L” (reference 50504) of the second reference subgroup with their associated remainder decision graphs 50614 and 50615.
  • the keyword to be searched no longer becomes an element in a single reference group, but only as an element in the first reference subgroup searched and it is found after finding the same to him associated with the remainder decision graph
  • the keyword to be searched for in the second reference subgroup is searched for as an element and, after finding it, is assigned to it Remaining decision graphs followed.
  • Example 4 The first and second subset of subdivisions shown in Example 4 are used with the remainder decision graphs assigned to their elements.
  • Finding the first keyword "A” (l) in the first reference subgroup Element "A” is found in the first reference subgroup, hence execution of the reference execution step, that is, matching the one following in the statement Keywords with the remainder decision graph associated with element "A" of the first subset of references.
  • the first decision position to be compared in the remainder decision graph of the element "A" in the first reference subgroup is a RTN building block of the first generic group, ie a decision position requiring a recursive call-up insofar as an RTN building block from the The entirety of the RTN building blocks of the first generic group should be used and run.
  • Keyword ,, D "(2) is not found in the. RTN building block-independent first reference subgroup, therefore, the second possible decision path of the residual decision graph is the current element" A "followed the first reference subgroup.
  • This next decision position requires the keyword "D", which corresponds to the current keyword "D” (2). Therefore, for the current, ie next, keyword in the statement "X” (3), the current decision path of the remainder decision graph of this element "A" is followed from the first reference subgroup.
  • RTN building block of the first generic group ie a decision position that requires a recursive call-up function, in that for a successful comparison at this decision position an RTN building block of the totality of the RTN building blocks of the first generic group should be used and run through.
  • the current keyword "X" (3) is therefore searched for and found in the first reference subgroup as an element.
  • the current recursive call sequence looks like this: 1. Element of the first reference subgroup: "A"
  • This next decision position RTN building block of the second generic group in the residual decision graph of the current first reference subgroup element "X" requires the recursive call function insofar as an RTN building block composed of the entirety of the RTN building blocks of the second generic group is used for successful comparison at this decision position and to go through.
  • the current, ie next keyword "L" (5) of the statement to be analyzed is therefore searched in the second reference subgroup and found there as an element.
  • 3rd element of the second reference subgroup "L"
  • the first decision position of the remainder decision graph of this element "L” of the second reference subgroup prescribes a RTN building block of the first generic group.
  • the current, ie the next, keyword "X" (6) in the statement to be analyzed is searched and found there on the basis of the required recursive call for an RTN building block of the first generic group in the first reference subgroup.
  • the current keyword "K” (7) is compared with the remainder decision graph of this first reference subgroup item "X" for a possible matching decision position.
  • the first decision position keyword "Y" of the first possible decision path can be followed, nor can the first decision position RTN building block of the first generic group of the second possible decision path be successfully used since the current keyword "K” (7) is not considered an element the first reference subgroup is identified.
  • the possible third decision path of this residual decision graph for the element "X" of the first reference subgroup optionally prescribes a decision position RTN building block of the second generic group
  • the subsequently unchanged current keyword "K” (7) therefore becomes RTN building block according to this first decision position second generic group of the third possible decision path in the second reference subgroup successfully visited.
  • the thus current decision position is the first decision position of the residual decision graph of the element "K" of the second reference subgroup, ie RTN building block of the first generic group.
  • next current keyword "A" (S) is searched for as an element in the first reference subgroup, and since it is found in it, the residual decision graph of the element "A” is followed by the first reference subgrapper in the recursion level.
  • next current keyword "D” (9) is not successfully compared with the first decision position of the remainder decision graph of the first reference subgrapper element "A" in the 6th recursion because this first decision position requires an RTN building block of the first generic group.
  • the current keyword "D” (9) is not found in the first reference subgroup as an element.
  • the second possible decision path of the remainder decision graph of the first referral subgrapper element "A” requires the keyword “D” corresponding to the current keyword “D” (9).
  • the current decision path following this decision position "D" prescribes, as the next decision position, an RTN building block of the first generic group, which, however, can not be used successfully for the next current keyword "M” (FIG that current keyword “M” (10) is not found as an element in the first reference subgroup.
  • the next possible decision position which follows the decision position keyword "D" of the current decision path of the element "A" of the first reference subgroup, is the optional decision position RTN building block of the second generic group. Since the keyword "M” is also not found in the second reference subgroup as an element and this last decision position is optional, the remainder decision graph of this element "A" of the first reference subgroup is passed through successfully. Therefore, the recursion for this first reference subgroup item "A” is terminated and the next decision position of the remainder decision graph of the now 5th recursion level is used for the further following of the decision positions.
  • the finished interleaving of this example 5 provides for the RTN building blocks, as indicated in example 1, as follows, the successive summarizing the multiplicity of the processing-relevant RTN building block information of the individual RTN building blocks to "VRB-I x".
  • Fig. 48 shows the nested example 5 with keyword decision positions and * decision positions.
  • Fig. 49 shows the nested example 5 without keyword decision positions and * decision positions.
  • the application of the conversion step which assigns the RTN building blocks to a first or a second generic group, is necessary because none of the RTN building blocks starts with a recursive call function.
  • Fig. 50 shows the nested example 5 in a desired interleaving of the RTN building blocks with keyword decision positions and * decision positions.
  • Fig. 51 shows the nested example 5 in a desired interleaving of the RTN building blocks with keyword decision positions and * decision positions.
  • Example 5 with respect to the RTN building blocks of Example 1 to be used by definition, only one possible final interleaving occurs prior to the application of the conversion step and allotment thereof to a first or second generic group.
  • This final interleaving is used for wide processing and thus ultimately for generating an optimal access plan to a given data structure, and therefore must refer to the specified RTN building blocks BEFORE applying the conversion step.
  • the conversion step is only used to perform automatic algorithmic analysis of any given syntax.
  • each RTN building block of the first genus group if present in the statement, calls an RTN building block of the second genus group, this In any case, the RTN building block of the second generic group is superordinated to at least this calling RTN building block of the first generic group.
  • RTN building blocks which begin with a recursive call function as the first decision position in their inner directed decision graph and are therefore assigned to the second generic group.
  • RTN building blocks it is not possible to unambiguously determine which RTN building blocks are superior to them without further markings in the case of multiple interleaves, since all RTN building blocks of the first or second generic group can be used at a decision position requiring the recursive call function, and this is not clear with nestings of RTN building blocks.
  • an access plan to a given data structure can be generated from both of these possible and respectively valid interleaves, and precisely these two access plans would not be identical.
  • the definition of at least one first, and optimally also one second, weighting is required for each RTN building block as one of its processing-relevant RTN building block information, by means of which the desired nesting of the RTN building blocks desired, depending on the syntax to be analyzed, is generated algorithmically.
  • a step is to be disclosed which the speed for the analysis of a given statement by the method according to the invention, ie by finding keywords of a statement in the first and second reference subgroup, which after execution of the conversion step on result in the RTN building blocks, and corresponding sequences of the residual decision graphs of the respectively identified elements of these reference subgroups, increased.
  • all decision positions of decision graphs of the RTN building blocks can be provided with a unique, identical RTN building block-independent decision position number which is identical for identical decision positions, and from these a set of reserved keywords is formed.
  • Those decision positions which require the insertion of a number, a variable or a string are also provided with a same, unique decision position number. The same applies to the two, several times usable decision positions RTN building block of the first generic group and RTN building block of the second generic group, for these two decision positions the respectively identical, unambiguous decision position number is assigned to all decision positions used in the decision graph.
  • each keyword of the statement After specifying a statement to be analyzed, it is checked for each keyword in the same whether this respective keyword of the statement exists in a set of reserved key words, for example, in a list. Thus, it is determined for each keyword of the statement whether it is a reserved keyword in the sense of a keyword requested on at least one decision position of all decision graphs of the RTN building blocks or, if not existing in that set of reserved keywords accordingly is a variable, a number or a string. Those keywords of a statement which are found in the set of reserved keywords are replaced in the same statement to be analyzed by the decision position number of the element of the set found thereby, that is to say the reserved reserved keyword. Those other keywords of the statement which do not exist in the set of reserved keywords, depending on whether they represent a number, a variable or a string, are assigned the corresponding decision-position number.
  • the inventive RTN building block independent reference group with its two reference subgroups can instead as a list of elements as two independent number arrays, one for the first and one for the second Reference subgroup.
  • the two. Numeric arrays associated with reference subgroups have the same number of elements, each element being addressed via a unique index number associated with it.
  • the smallest index number in the two number arrays is the smallest used decision position number, the largest index number corresponds to the largest used decision position number, and those decision position numbers representing the recursive call functions RTN building block out of the total of RTN building blocks, RTN Block of the first generic group and RTN building block of the second generic group are assigned, since these decision-line numbers are not present as elements in the first or second reference subgroup as a result of the conversion step.
  • those elements (index numbers) of the number arrays associated with the first reference subgroup refer to corresponding residual decision graphs which already exist as elements in the first reference subgroup and therefore refer to them as an associated residual decision graph. The same applies to the number array which is assigned to the second reference subgroup.
  • Each decision position of the inner, directional decision graphs of the RTN building blocks, which is present after application of the conversion step to the RTN building blocks, is provided with a unique decision position unique RTN building block-independent decision position number, and
  • both the first and second reference subgroups are each represented as a number array having the same number of elements, elements of the array being addressed by index numbers and the smallest index number of the two number arrays being the smallest used decision position number and the largest index number of the number arrays however, with both number arrays being the largest used decision position number
  • - Requested identifying a keyword of the statement in the first and second reference subgroup addresses the decision position number associated with this keyword as the index number of the number array of the first and second reference subgroup and checks the existence of a residual decision graph for that index number, and further
  • the keywords of the statement with the decision positions of the residual decision graph are compared by the decision position number of the current keyword of the statement is compared with the decision position number at the respective decision position of the residual decision graph.
  • This assignment of decision position numbers to decision positions in the RTN building blocks and keywords of a statement makes it possible to introduce in each case a number array for the first and the second reference subgroup.
  • This number array is particularly useful when using RTN building blocks according to the invention, because at each of the * decision positions occurring in the decision graphs of the RTN building blocks a very high, limited only by the amount of specified RTN building blocks, number of possible uses consists of RTN building blocks.
  • the RTN building blocks to be used can be addressed directly in the corresponding number array via the index number without comparisons with other RTN building blocks, and thus tested for existence.
  • I decision graph directly addressed the index number in the number array of the RTN building block independent first and second reference subgroup and it is tested whether for this index number in the number array, and thus for this keyword in the statement to be analyzed in the corresponding reference subgroup following residual decision graphs exist.
  • the decision positions of the remainder decision graphs can also be replaced by the decision position numbers uniquely assigned to the respective decision positions in order to enable a faster numerical comparison even at these points instead of a string comparison.
  • Decision positions ie those decision positions where the decision graph of the respective current RTN building block at least allows a second decision path, thereby achieving a speed advantage that the decision position number, which is searched for the current keyword in the statement only once, this if necessary but two or more times with one
  • Position that is a decision position that requires the recursive call function:
  • the first and second RTN building block independent reference subgroups that result after the RTN building block conversion step in Example 1, as well as the remainder decision graphs associated with their elements, become independent of the RTN processing relevant Building block information converted as follows:
  • Nr.2 -> Nr.3 Nr.301 Nr.4 Nr.301 Nr.l
  • Nr.6 -> [(Nr.7
  • the result for this first reference subgroup is the following number array with the index numbers 0 to 12, in which the decision position numbers 300, 301 and 302, which require the recursive refraction actions, are not included:
  • Nr.2 -> Nr.3 Nr.301 Nr.4 Nr.301 Nr.l [Nr.302]
  • RTN building block of the first generic group "M” RTN building block of the first generic group [RTN building block of the second generic group]
  • This second reference subgroup looks like this after conversion of the decision position number uniquely assigned per decision position:
  • Nr.ll Nr.301 Nr.12 [Nr.302]
  • Nr.ll Nr.301 Nr.12 [Nr.302]
  • the processing of the statement to be analyzed is identical to the method according to the invention shown in Example 2.
  • the actual decision position number assigned to this respective current keyword is used as a string, and that identifying elements in the first or second reference subgroup in the assigned number array via the decision position number of the respective statement keyword and the comparisons are performed at the decision positions of the next remaining decision graphs also with the decision position numbers instead of strings.
  • decision-position numbers means that the syntactic and access-plan-generating analysis of a given statement according to the inventive method does not suffer any loss of speed compared to the processing of a statement based on a known RTN, despite the multiplied number of possible decision positions.
  • a query language defined by a prior art RTN follows, keyword by word, the decision positions of precisely one directed total decision graph which contains a relatively small number of first reachable decision positions.
  • the decision positions of this single overall decision graph forming the RTN depending on an associated tag, either a text, a special character, a variable, a number or a jump position is prescribed, or it is recursively inserting and traversing exactly the same total Decision graphs required.
  • the passage of the same overall decision graph used at a decision position of a superordinate overall decision graph can again only be limited in number first reachable decision positions of the overall decision graph are started. This results in a limited expressiveness by means of a statement based on a conventional RTN over those statements which use the RTN building blocks according to the invention.
  • processing-relevant RTN building block information which relate to the respective RTN building block for which they are defined independently of its inner, directed decision graph, are assigned to the first processing-relevant RTN building site main information group, and ⁇ those processing-relevant RTN building block information which are assigned to concrete decision positions in inner directed decision graphs of the RTN building blocks and are only taken into account as soon as the decision position assigned to them is assigned to the second processing-relevant RTN building block main information group.
  • a first, a second and a third processing-relevant RTN building block information group are formed, wherein the processing-relevant RTN building block information of the first processing-relevant RTN building block information main group are assigned to these three RTN building block information groups such that
  • processing-relevant RTN-block information that are determined when they reach their respective associated decision positions only as a parameter for subsequent, defined by means of appropriate assignment processing-relevant RTN-block information in each decision graph, and thus only by means of processing-relevant RTN-block information fifth or sixth processing-relevant RTN building block information group are applied to affected decision positions, the fourth processing-relevant RTN building block information group are assigned, and
  • processing-relevant RTN building block information which, when they reach their respectively assigned decision positions, determine that all parameters found on the basis of the corresponding assignment, which are equal to the decision positions reached in the same decision graph, with processing-relevant RTN building block information of the fourth processing-relevant RTN building block.
  • Information group are preferably applied as a processing function to be assigned to the fifth processing-relevant RTN building block information group, and
  • RTN building blocks defined according to the invention as well as several of the decision positions present in the inner, directed decision graphs can each be assigned identical processing-relevant RTN building block information, regardless of in which of the RTN building blocks they occur.
  • a processing-relevant RTN building block is used.
  • Information of the fifth processing-relevant RTN building block information group exactly for the parameter of all by means of assignment for these specified parameters of the fourth processing-relevant RTN building block information group causes the application, which by the last due to a syntax to be analyzed in the order of traversal reached decision position is determined with an associated processing-relevant RTN building block information of the fourth processing-relevant RTN building block information group, and thus those previous parameters which in the same decision graph by previously reached decision positions with z subordinate processing-relevant RTN building block information of the fourth processing-relevant RTN building block information group were set, for which associated processing are discarded.
  • processing-relevant RTN building block information of the fourth processing-relevant construction site information group can be provided with a mark which defines the indicator when the corresponding decision position is reached in the same decision graph in that the parameter last defined by means of processing-relevant RTN module information of the fourth processing-relevant module information group without this identifier is not replaced with this further parameter but extended by this additional parameter and this extended parameter when reaching the decision position indicating the associated processing-relevant RTN module -Information of the fifth processing-relevant building block information group is applied.
  • a plurality of mutually independent processing-relevant RTN building block information of the fourth processing-relevant RTN building block information group is to be applied to respectively different decision positions in the inner, directed decision graph of this RTN building block, a marking of respectively associated processing-relevant RTN building blocks is used.
  • a query language that uses RTN building blocks as a basis requires that each RTN building block used is assigned at least one processing input set, to which processing input set all applicable processing-relevant RTN building block information of this RTN building block is executed. Likewise, each of the specified RTN building blocks delivers at least one initial processing amount, ie, that amount or amounts to which at least one processing information has been applied.
  • processing-relevant RTN building block information of the first processing-relevant RTN building block information group determines which and how many processing input sets are to be used for an RTN building block, in particular based on the current nesting resulting from a statement to be analyzed.
  • Possible input sets of an RTN building block are processing output sets of the specified RTN building block (s), which are obtained at a recursive call function of this RTN building block, or also the processing input set of this RTN building block.
  • processing-relevant RTN building block information which change values of elements of at least one quantity to be processed or add new, for example calculated, values to these elements, remove elements from the same quantity or change their order, are called processing functions below.
  • the inner, directed decision graphs of the RTN building blocks correspond to those decision positions at which a pre-determined, unpredicted, unlimited number of successive Calling recursive call functions is performed, at least one decision position, which requires a keyword (text, special characters, variable or number) is prefixed and at least one decision position, which also requires a keyword, follows.
  • each formable statement is brought into a similar abstraction form, which is based on nesting of RTN building blocks, regardless of the processing function assigned to the RTN building blocks used. This same abstraction applies an algebra for all RTN building blocks and nesting possibilities.
  • Variant 1 (FIG. 14): RTN building block 601 with arbitrary keywords 600 and exactly one decision position 300 into which an RTN building block out of the totality of RTN building blocks is inserted, wherein an RTN building block of this variant has at least one keyword 600 either BEFORE and / or AFTER the decision position 300 prescribes
  • Variant 2 (FIG. 15): RTN building block 602 with arbitrary keywords 600 and at least two or more decision positions 300, wherein all occurring decision positions 300 are each separated by at least one keyword.
  • Variant 3 (FIG. 16): RTN building block 603, with arbitrary keywords 600, which are located exclusively BEFORE and AFTER the arbitrarily often callable decision position 300.
  • Variant 4 ( Figure 17): RTN building block 604 with arbitrary keywords 600 located at the beginning and end of decision path 50999 and having a decision location 300 followed by an arbitrarily often callable one Decision position 300 include, after the first decision position 300 any number of keywords 600 can follow.
  • RTN building blocks of the totality of the RTN building blocks which are defined in accordance with variant 1 shown in FIG. 14, the following processing quantity assignment applies: If a decision position 300 is provided in a higher-order RTN building block, then the one used here another RTN building block is assigned as processing input quantity the processing input quantity assigned to the higher-level RTN building block. This process is performed as far as the innermost-nesting RTN building block, so that the processing input quantity is always transferred to the directly deployed RTN building block at decision position 300.
  • the processing function of the RTN module used is now applied to the processing input set assigned to it and the processing output quantity of the RTN module supplied thereby becomes the new processing input quantity assigned to the higher-level RTN building block, and then the processing function of the higher-level RTN building block is executed.
  • the result of this application is output as the processing output of the higher-level RTN block.
  • FIG. 8 accordingly shows the interleaved RTN modules 407, 408, 409 correspondingly
  • RTN building block 407 (Schl.w. + Abst.pos. 300)
  • RTN building block 408 (Schl.w. + Res. Pos. 300)
  • RTN building block 409 (Schl.w.)
  • Processing input set 401 is transferred to RTN building block 407 and thereafter given to the deployed RTN building block 408 as its processing input set 402, and in turn passed identically as processing input set 403 to the RTN building block 409 inserted into the RTN building block 408 ,
  • the processing function of the RTN building block 409 is now applied to the processing input set 403 and the resultant result is transferred as a processing output set 404 to the RTN building block 408 as a new processing input set.
  • the processing function of the RTN building block 408 is applied to the new processing input set 404, with the result obtained given to the RTN building block 407 as a processing output set 405 and as a new processing input set.
  • the processing function of the next outer RTN building block ie the RTN building block 407, is applied to its new processing input set 405 and the result obtained is stored in the processing output set 406 of the RTN building block 407.
  • the following processing quantity assignment applies: if at least one keyword occurs between two or more decision positions 300 in a higher-order RTN building block, Then it will be assign the same processing input set, namely the processing input set of the superordinate RTN building block, to the RTN building blocks used directly at the decision positions 300, with all the resulting processing output sets being transferred as processing input sets to the processing function of the superordinate RTN building block, unless, in exceptional cases, the outer and / or at least one of the RTN building blocks used uses a different definition.
  • RTN building blocks 418 and 419 linked by a keyword 420 which are inserted in an RTN building block 417.
  • RTN block 417 (dec.pos. 300 + dec. 420 + dec. Row 300)
  • RTN block 418 RTN block 419
  • Processing input set 411 is passed to a higher-level RTN building block 417 and then transferred to the inserted RTN building block 418 as its processing input set 412.
  • the associated processing function of the RTN building block 418 is then applied to the processing input set 412 and stored in the processing output set 413.
  • the RTN building block 419 is also given the processing input set 411 from its parent RTN building block 417 as a processing input set 414.
  • the associated processing function of the RTN building block 419 is then applied to its processing input set 414 and stored in the processing output set 415.
  • the parent RTN building block 417 is assigned the processing output sets 413 and 415 as its two new processing input sets, to which its processing function is now applied and subsequently stored in the one processing output set 416.
  • a different definition for individual RTN building blocks is, as already mentioned above, however, not excluded.
  • the superordinate RTN building block has a decision path which permits successive reaching of the decision position 300 as often as desired (see
  • the RTN device used in the first order takes over the processing input quantity of the higher-level RTN device, further consecutive RTN devices each use the processing output quantity of the predecessor as the processing input quantity, and the one in the sequence last RTN module transfers its processing output quantity as a processing input quantity to the superordinate RTN module and executes its processing function, unless, in exceptional cases, the external or at least one of the RTN module used uses a different definition.
  • the external or at least one of the RTN module used uses a different definition.
  • RTN building blocks 428, 429, 430 in a higher-level RTN building block 427, in which - with the exception of the first and the last RTN building block - in the given order of the RTN building blocks, the respective processing output quantity of the preceding RTN building block is adopted as the processing input quantity of the subsequent RTN building block and the processing function assigned to the respective RTN building block is applied.
  • a processing input 421 of the parent RTN 427 is input as a processing input 422 of the first order RTN 428, and its processing function is applied thereto, resulting in a processing output 423.
  • the latter is passed on as the processing input quantity 423 of the second RTN building block 429.
  • RTN building block 446 with the following set allocation properties and is shown in FIG. 12.
  • the higher-level RTN building block 446 has a decision path which allows successive reaching of the decision position 300 as often as desired.
  • RTN building block 446 all the RTN building blocks 447, 448, 449 used directly at the decision positions 300 are assigned the processing input set 441 of the higher-level RTN building block 446.
  • the processing input set of the upstream RTN building block 446 is taken from the processing output sets 442, 443, 444 of all directly inserted RTN building blocks 447, 448, 449 and stored in the processing output set 445 after application of the processing function.
  • RTN building block 446 Examples of the possible processing functions of this RTN building block 446, e.g. by own RTN building blocks:
  • All elements that are in each processing output quantity of the RTN building blocks used, or in all processing output sets, up to at least / maximum / exactly a certain number (ALL (*)) It can also be specified by means of its own RTN building block whether elements which occur in more than one processing output quantity of the RTN building blocks used are to be transferred once or several times into the processing output set of the higher-level RTN building block.
  • RTN building blocks are specified as parameters for the processing function of this superordinate RTN building block 446, it is assumed that all elements which occur in at least one of the processing output sets 442, 443, 444 of the employed RTN building blocks 447, 448, 449, to be output without duplicates.
  • the higher-order RTN building block (eg RTN building block 457 in FIG. 11 or RTN building block 477 in FIG. 13) has a decision path which, according to one or more keywords 600, prescribes a decision position 300, which can be followed by any number of keywords 600 and allows a successive, arbitrarily often reaching of the decision position 300 (see RTN 253 in FIG. 6), this being completed by at least one keyword 600.
  • the first decision position 300 uses the data of the processing input quantity of the superordinate RTN building block and the processing function of this RTN building block is carried out on the decision position 300 at the processing position of the inserted RTN building block
  • All further RTN building blocks which are used at the arbitrarily often callable decision position 300 apply to the set allocation for the logic described for variant 3 (FIG. 16), the first RTN building block of the arbitrarily often callable decision position 300 containing the processing output set of Gets assigned RTN building block at the first, non-repeatable decision position as its input processing quantity. If the end of the superordinate RTN building block labeled with at least one keyword 600 is reached, at least one more Processing function can be applied to the processing output of the last RTN building block of arbitrary often callable decision position 300.
  • FIG. 11 shows an RTN building block of variant 4, which at the first decision position 300 of the higher-order RTN building block 457 has used the RTN building block 458, which accesses the processing input set 452 of the higher-level RTN building block 457 processing input quantity 452 corresponds to the processing input quantity 451.
  • the processing function of this RTN building block 457 performs an initial grouping of each equal value sets of the processing output set 453 of the RTN building block 458 for the elements of the processing input set 452 with reference to the respective grouped elements.
  • the processing input set 451 which is passed as the processing input set 452, contains 17 elements.
  • they are grouped in the processing output set 453 into five different elements, each element being each set to one set with the individual elements that have been summarized (Lot 461, 462, 463, 464, 465).
  • the processing output quantity 453 is now the processing input quantity for the RTN module 459.
  • FIG. 13 shows an RTN building block of variant 4 which, at the first decision position 300 of the higher-order RTN building block 477, has used the RTN building block 478 which accesses the processing input set 472 of the higher-level RTN building block 477 processing input quantity 472 corresponds to the processing input quantity 471.
  • the processing function of this RTN building block 477 first performs a grouping of equal value sets of the processing output set 473 of the RTN building block 478 for the elements of the processing input set 472, each element to be grouped identically into the same, independent output data sets of the processing Output quantity 473 be written.
  • each processing input quantity and each processing output quantity contain at least one input data amount and at least one output data set, wherein number, content and order within the data sets of the processing input sets and the processing output sets do not need to be identical. If no input data sets or no output data sets are described, then each processing input quantity and each processing output quantity contains exactly one input signal or input data quantity. Output dataset containing all elements. All processing functions are independently applied to all input data sets of the processing input sets (in Fig. 13: 473, 474) of the respective RTN building blocks (in Fig.
  • each processing function of an RTN building block relates to its processing input sets and is each independently performed on all elements of all input data sets in its processing input set and stored in equal or different output data sets of its processing output set , Unless an RTN building block says another definition.
  • the RTN building blocks are assigned processing input sets, so that RTN building blocks can be provided which describe the assignment of the processing input sets to the RTN building blocks in detail.
  • Another possible characterization of the RTN building blocks can be made as follows, and is given as an example, that there is no restriction regarding this characterization. Furthermore, approaches for processing by an engine are clearly visible here.
  • Table 4 shows the corresponding residue decision graphs for each element in Table 3.
  • the processing input quantity of each RTN building block being the processing output quantity of the immediately preceding RTN building block 3 is that this RTN module does not forward its processing input quantity as the processing input quantity for the first RTN module used in it, but rather the processing input quantity for the first RTN module by means of its own RTN module (eg processing output quantity of a RTN building block "FROM”) or from the sum of all quantities or tables used in this RTN building block.
  • this RTN module does not forward its processing input quantity as the processing input quantity for the first RTN module used in it, but rather the processing input quantity for the first RTN module by means of its own RTN module (eg processing output quantity of a RTN building block "FROM") or from the sum of all quantities or tables used in this RTN building block.
  • the RTN building block used in this RTN building block "Layers" at the first decision position 300 takes as the processing input set the set (table, stored query or Cartesian product) which in the RTN building block "level” as the input processing quantity
  • Processing output quantity of a specific RTN block eg "FROM" is defined If no processing input quantity for inserted RTN blocks is defined in the RTN block "levels", this processing input quantity can be determined via database-specific properties , eg on graph theory, the table of relations and all specified RTN building blocks “tables” in this RTN building block "levels", regardless of nesting in this RTN building block levels.
  • Each RTN building block “Layers” provides itself and all of the RTN building blocks nested in it with the current element with all information (eg all table fields) of its processing input set, supplied by the superordinate RTN building block, thereby also " lowest "nested RTN building block has access to this information of all RTN building blocks" levels ".
  • the processing output set of the RTN building block “Layers” is the processing output set of the last RTN building block used in the RTN building block "Layers" at the last repeatable decision position 300.
  • All RTN building blocks used in this RTN building block are NOT assigned the processing output set of the immediately preceding RTN building block as the processing input set, but are assigned the processing input set of the processing sameParents bubble.
  • the processing seed of the processing sameParents bubble are all elements of all processing output sets of all the building blocks used in this RTN building block.
  • the processing output quantity of this RTN building block may include only those elements that occur in all or a specific (exact, minimum, or maximum number). It can also be determined by means of parameter RTN building blocks whether those elements which occur multiple times in processing output sets are to be stored several times in the processing output quantity of this block or are to be simply or not even included.
  • All RTN building blocks used in this RTN building block are assigned the processing output quantity of the immediately preceding RTN building block as processing input quantity, whereby this RTN building block corresponds to the quantity allocation according to variant 3.
  • This RTN building block allows, for example, that in a processing SameParents bubble or in other RTN building blocks, which only one decision position 300 ONE RTN building block, the processing output quantity can be supplied by a plurality of successive processing functions which are successively executed in succession.
  • Each processing function is performed on all input data sets in the processing input sets independently of each other. If a split into a plurality of data sets is to take place, this can be done by means of the RTN building block "BreakOn", wherein in each case elements of the processing input quantity of the RTN building block "BreakOn" which are used for the processing output set of the one used at the first decision position 300 RTN building blocks yield the same values (in the case of several elements in this processing output quantity, the use of "ALL" or "ANY” makes sense), into which identical amounts of data are written.
  • a merge into a dataset can e.g. be determined by at least one keyword (for example, "END” "BREAKON”) after an arbitrarily often callable decision position 300 in the RTN building block "BreakOn”.
  • Each element of the processing input sets and the processing output sets may each be assigned a set of values.
  • each set is always arranged in a specific order, after optimization, not every processing function takes this order into account.
  • RTN building block which stores the elements of all input data sets of its processing input set independently of one another according to the specified value or the set of values in the processing output set of this RTN building block "OrderBy"
  • Any meaningful quantity processing function or value calculation function or also display function etc. can be defined by means of an RTN building block and executed in the request.
  • RTN building block Any meaningful quantity processing function or value calculation function or also display function etc. can be defined by means of an RTN building block and executed in the request.
  • bulk processing capabilities are some examples of bulk processing capabilities:
  • This RTN building block is used to designate, for each element of the processing input set, that this element is only written to the processing output set when the RTN building block returns a non-zero value at decision location 300 of that RTN building block "WHERE". Definitions in the case where a set of values is provided can be set at decision position 300 using the RTN building blocks "ALL" and "ANY", respectively.
  • RTN module "MIN" / "MAX” If only those elements are to be selected from a data set that correspond to the largest or smallest values of a calculation per element from the total quantity, this can be determined via the RTN building blocks "MIN” or “MAX”. If a certain number of the largest or smallest values are to be supplied, this can be done via a superordinate RTN building block ("set elements") which limits the number of elements of the processing output set of its RTN building block used at the decision position 300.
  • Each processing function is executed on each input data set of its processing input sets per element, and the elements of the data sets of the processing output set are used as the input processing set for the higher-level or subsequent RTN building block.
  • RTN building block “FIND” By using a particular RTN (“FIND”) device, it is determined that the processing output of this RTN device “FIND” is unchanged from the processing input of that device, with the particularity that those elements which are in the processing output quantity of the RTN building block used in the RTN building block "FIND" at the decision position 300, in the The following output elements of this RTN building block “FIND” are then marked separately in the delivered sequence: Subsequent RTN building blocks now independently execute their processing function individually on the respectively marked elements with regard to the following (RTN building block "NEXT”) or preceding (RTN Block “PREV”) elements instead of the entire data set Furthermore, the elements found in the processing functions are only marked.
  • processing output quantity of an RTN block is to be stored for further processing with other RTN blocks, this can be done by means of a superordinate RTN block "intermediate quantity."
  • This RTN block temporarily states that its processing input quantity is in the variable name stored amount and can be used by all subsequent RTN building blocks as a processing input quantity.
  • Example 8 Take all companies from Vienna until the turnover2006 of the selected companies totals over 100.000 €.
  • RTN building block “set element-forming” By means of an RTN building block “set element-forming" (, ""), the two processing output sets of the RTN building blocks inserted at the two decision positions 300 of this RTN building block are combined into a common processing output set of this RTN building block.
  • RTN building blocks which, depending on the existing final nesting, execute different processing functions on their finally received processing input quantities.
  • the following two examples should illustrate this for two of the RTN building blocks affected by the totality of the RTN building blocks:
  • the RTN building block "IF-THEN-ELSE” at its first used nesting position (3) depending on the current year, as its processing output quantity, either the processing amount "Data 1990-2000” or the result of the RTN -Building Block (6) "Processing-PrevParents-Bubble", which returns from the processing quantity "Data Current” those elements, ie data records, in which the field "Year” represents the value of the current year
  • the delivered processing output quantity of this nesting Position (3) is subsequently referred to as "Data” due to the RTN building block (l) "AS” which is the parent of this nesting position.
  • the RTN building block "comparison" at the nesting position (5) _ is used to specify each individual supplied value of the elements of the processing output quantity of the RTN building block (6) ".” Compare with its two subordinate RTN building blocks (8) companies and (9) 0rt with the constant value (7) "Vienna” and add the positively compared elements to its processing output quantity.
  • RTN building blocks which likewise carry out different processing functions depending on the given final nesting, are the RTN building blocks "line calculation” and "point calculation”, which each have a different one due to the "point calculation before line calculation” rule assigned first and second weighting.
  • RTN building block "Point Computing” is not used to multiply two numbers but to form a Cartesian product, which can be restricted by subsequent, for example, adjacent RTN building blocks.
  • the RTN block "stroke calculation” can apply a "UNION” (depending on the desired definition also "UNION ALL") as a processing function to its two final processing input sets, and when the decision position has been reached keyword " - Apply an EXCLUDE processing function to its two final processing input sets.
  • Such interleaving-dependent processing functions in an RTN building block can be carried out simply by a further assignment of the RTN building blocks to new groups, which determine this situation for individual RTN building blocks by means of processing-relevant RTN building block information.
  • RTN building blocks may not be nested directly until a meaningful processing function is defined for such cases. It is also possible to ask a question based on a given interleaving, in those cases where more than one possible interpretation is permissible on account of the given syntax.
  • RTN building blocks for aggregate functions ("Count", “All”, “None”, “Sum”, “AVG”, “Percent”,%), which in each case refer to the elements of their assigned processing Input quantity and return exactly one value in their output data quantity per input data quantity.
  • RTN building blocks for the data manipulation or the data output are necessary, it makes sense, the usual in the prior art commands in this direction as RTN building blocks, eg "SELECT”, “UPDATE”, “INSERT INTO” and "DELETE”.
  • RTN building blocks that define the join links that can be used in SQL: left-join, right-join, inner-join, and outer-join.
  • RTN building blocks that include functions of OLAP, T-SQL, GEO-SQL, and functions defined in other SQL extensions.
  • RTN block "IN” value IN (1, 2, 3, 4, 5) can be used as RTN block * "IN”"("*")",*,"”* Is a separate RTN building block.
  • RTN building blocks UNION (ALL) 5 INTERSECT, EXCLUDE which merge either sets without (UNION) or (UNION ALL) duplicates, only take elements that exist in both specified sets (INTERSECT) or only elements which are not present in either quantity (EXCLUDE).
  • RTN blocks can be represented in combination with the RTN blocks "ANY” / "ALL” with possibly the RTN block "GroupBy” and can also be converted into these RTN blocks.
  • RTN blocks "AND”, “OR” / "XOR” These RTN blocks can be combined with the RTN block “Processing-SameParents” in combination with the RTN blocks "ANY” / "ALL". and can also be converted into these RTN building blocks.
  • WHERE Cost. [Employees.Count]> 100
  • RTN blocks are, for example, the RTN block "limiting quantity elements”, convertible into the RTN block “FOR-NEXT”, “IF-THEN-ELSE”, convertible into the RTN block “SELECT-CASE”, the RTN -Ba ⁇ stein “Count”, convertible to the RTN building blocks "SUM” and "1" etc.
  • a request consists of a first initial RTN building block, specifically the level RTN building block, which contains a required number of RTN building blocks in the specified order.
  • RTN building blocks which begin with a decision position 300 in the decision graph.
  • each RTN building block is assigned to either a first or a second generic group, wherein
  • the RTN building blocks starting with text, special characters, variable or number are assigned to the first generic group and are converted such that the decision positions containing a recursive call function whose selection step is applied to all RTN building blocks are restricted to that the selection step is applied only to RTN building blocks of the first generic group, and
  • the RTN building blocks starting with a recursive call function are assigned to the second generic group and are converted such that the first decision position is removed and decision positions containing a recursive hook function whose selection step is applied to all RTN building blocks are restricted thereto in that the selection step is applied only to RTN building blocks of the first generic group, and all RTN building blocks of the first generic group and those RTN building blocks of the second generic group, which are accompanied by a text.
  • Special character, variable or number at the last decision position, an optional executable decision position is appended to the last position, to which the selection step is applied only to RTN building blocks of the second generic group.
  • the conversion for an RTN building block without decision position 300 is shown as the first decision position in the decision graph:
  • This conversion step ensures that any given statement can be decomposed into RTN building blocks using state-of-the-art algorithms, so that the full flexibility of the RTN building blocks can be used in formulating requests.
  • each RTN building block begins with at least one text, at least one special character, a variable or a number and each selection step is now applied either only to RTN building blocks of the first generic group or only to RTN building blocks of the second generic group. Furthermore, after this conversion step, RTN building blocks of the second generic group are optionally called only at the last decision position of a decision graph.
  • RTN building blocks which begin with a decision position 300 in the decision graph.
  • RTN building blocks multiple interleaves can not clearly tell which RTN building blocks are higher-ranking, since all RTN building blocks of the first or second generic group can be used at a decision position 300 and this is not clear when nesting RTN building blocks is.
  • Each RTN building block is assigned a first weighting by which, during each selection step or after application of all selection steps, the interleaving of the RTN building blocks is changed into an interleaving applicable for further processing by RTN building blocks with a higher first weighting in each case the originally superior RTN Blocks that have a comparatively lower first weighting.
  • the first weighting of all RTN building blocks of the first generic group depends on RTN building blocks of the second generic group that are directly superordinate in the statement, and the first weighting assigned to the RTN building blocks of the first generic group is therefore referred to as the initial weighting.
  • the RTN building blocks of the first generic group have an identical first initial weighting, preferably of medium height, and these RTN building blocks of the first generic group, when inserted into RTN building blocks of the second generic group, assume their value reduced by one, preferably one, reduced first weighting.
  • the two RTN building blocks table field get the first weighting 17 of them, reduced by 1, instead of their original first starting weight 200 Assigned RTN building blocks are assigned to bar-arithmetic operations, so the two RTN building blocks table field are given a weighting of 16 due to the statement and will both be due to its lower first weighting (16) subordinate to the RTN building block arithmetic operations (weighting 16).
  • the first weighting for the RTN building blocks of the second generic group is determined as follows:
  • Those RTN building blocks of the second generic group which perform their processing function on the processing output set of a processing function of an RTN building block of the first or second generic group, form a first generic subgroup of the second generic group and are each assigned the same first weighting, which is not the highest possible weighting, but is higher than the first initial weighting average height of the RTN building blocks of the first generic group.
  • RTN building blocks * "UNION” *, * "#” * and * "AS” V variable name respectively applied to the processing output set or processing output sets of the RTN building blocks of first or second generic group directly used at their decision positions 300 , therefore these RTN building blocks are assigned to the first generic subgroup of the second generic group and receive a first weighting of 250, where 200 is the first weighting of the RTN building blocks of the first generic group and 255 is assumed to be the highest possible weighting.
  • RTN building blocks of the second generic group form a second generic subgroup of the second generic group and receive one each assigned a different first weighting, which in any case is smaller than the first initial weighting average height of the RTN building blocks of the first generic group, and this first weighting for the affected RTN building blocks in detail the predeterminable order of execution with respect to the RTN Blocks of the second genus subgroup of the second genus group describes, in each case first to be executed RTN building blocks of this group receive a lower first weighting.
  • the RTN building block "point computation operations" a first weighting 14
  • the RTN building block “bar computation operations” a higher first weighting 17
  • the RTN building block “comparison” a first weighting 50
  • the RTN building block " Bool- Kombi" a first weighting 100.
  • all RTN building blocks of the first and second generic group which after a decision position 300 which prescribes the insertion of at least one RTN building block of the first generic group, have at least one further decision position independent of the last optional decision position 300 which may be present after the conversion step, which prescribes the insertion of an RTN building block from the second generic group, is followed by assigning a second, fixed weighting with the highest possible weighting height.
  • RTN building block of the first generic group which, by definition, is not assigned a second weighting of maximum height, is the RTN building block "WHERE":
  • the second weighting for this RTN building block may therefore e.g. get the value of the first weight of this RTN building block.
  • RTN building blocks Two examples of RTN building blocks, the first genus group, which by definition have been assigned a second weighting of maximum height, are the RTN building block “RTN building block summary” (parenthesis) and the RTN building block "For-Next":
  • the second one Weighting for these RTN building blocks therefore corresponds to the highest possible weighting level, in the concrete 255.
  • RTN building blocks of the second generic group for example, this is shown for the RTN building block "bar calculation operations" and for the RTN building block “comparison IN”:
  • the second weighting for this RTN building block can therefore e.g. get the value of the first weight of this RTN building block.
  • a decision position follows the first decision position 300, the second weight for that RTN building block therefore corresponds to the highest possible weighting height, in the concrete 255.
  • the first weighting of each RTN building block of the second generic group in the nesting order resulting from the request request after the conversion step is compared with the first weighting of the respective higher-level RTN building blocks until the RTN building block with a higher first weighting or the respectively higher-level RTN building block is not at its last decision position and one second weighting of highest possible weighting height, is achieved and according to this determined nesting order the basis of the comparison lying RTN block directly subordinated to the reached RTN block and thus all parented by the comparisons previously superordinate RTN blocks thus parent.
  • WHERE call RTN building block of the first generic group D call: RTN building block of the second generic group call: RTN building block of the first generic group
  • RTN building blocks of the first generic group regardless of their own weighting and independent of the first weighting, are subordinated to their superordinate RTN building blocks to the first or second generic RTN building block directly above them.
  • This example 13 is nested as follows:
  • the RTN building block "B” becomes RTN building block of the first generic group despite its higher first weighting 200 compared to its parent RTN building block "MIN" with its RTN building block the second generic group "+" modified first weighting 49 subordinated.
  • the RTN building block to be compared is directly subordinated to this RTN building block exactly when these RTN building blocks Blocks are RTN building blocks of the second genus subgroup of the second genus group.
  • RTN building blocks of the second generic subgroup of the second generic group meet twice when comparing the first weighting ("/" meets MOD ",” ⁇ "meets" / "). Due to the assignment to the second generic subgroup of the second generic group, these RTN modules are subordinated in each case because it is defined that the processing output quantity of the subordinate RTN modules is used as the processing input quantity of the respective higher-level RTN modules.
  • RTN building block “RTN building block summary” ie by setting parentheses, a different first and second weighting and thereby a different calculation order can be achieved.
  • Example 15 Take all the elements for which A holds, take the first 100 from this set, store these 100 elements in the intermediate set 1 and take the first one from this intermediate set 1
  • RTN building blocks of the first generic subgroup of the second generic group collide twice in comparing the first weighting ("AS" meets "#", “#” meets "AS"). Due to the assignment to the first generic subgroup of the second generic group, these RTN modules are each lined up, since it is defined that the processing output quantity of the subordinate RTN modules is used as the processing input quantity of the respective higher-order RTN modules.
  • RTN building blocks which are used directly in a decision position 300 of an RTN building block with the highest possible second weighting are only subordinated to RTN building blocks of the second generic group if it is desired for the respective RTN building block.
  • this is done by subordinating those RTN building blocks of the first generic group which are predetermined to be subordinate to the RTN building blocks of the second generic group if these RTN building blocks of the first generic group go directly into one of the decision positions at which one of of the set of RTN building blocks, an RTN building block having a second highest possible weighting height, a second weighting of minimum weighting height is allocated, and those RTN building blocks of the first generic group which do not have a second weighting minimum Have height, in these cases subordinate to RTN building blocks of the second genus group.
  • Two examples are to show the nesting for these two possible cases, which leads to the following result according to the method described above:
  • the RTN building block "MAX” is therefore subordinated to the RTN building block with the keyword "/" because its superordinate RTN building block "WHERE” has no weighting of the highest possible weighting level.
  • RTN building block of the first generic group with a second weighting of minimum weighting is used at the decision position 300 of the superordinate RTN building block with a second weighting of the highest possible weighting height, in the example the keyword "A":
  • a further embodiment of the invention is in those cases where, according to Statement RTN building blocks of the second genus group, which after the conversion step a optional decision position, which prescribes an RTN building block from the second generic group, at which exactly this optional decision position a RTN building block of the second generic group is used.
  • the RTN building block used at this last decision position is always superordinated to the formerly higher-level RTN building block, irrespective of the first and second weightings of the two affected RTN building blocks.
  • the RTN building block with the keyword "+” is subordinated to the RTN building block with the keyword “AS” with the first weighting 250 despite its lower first weighting 17.
  • RTN building block groups can also be defined as statements or parts of statements which, for example, contain exclusively arithmetic or logical processing functions.
  • all RTN building blocks of the first and second generic group can be assigned at least one RTN building block which is or should be superimposed if these RTN building blocks of the first and second generic group are directly in a decision position, at which one of the totality of the RTN building blocks can be used, an RTN building block with the highest possible second weighting can be used.
  • the following RTN building blocks if they are used directly in a decision position 300 of an RTN building block with a second weighting of the highest possible weighting level, include the following allocations:
  • RTN block "Table field” this RTN block can be preceded by a "SELECT” -RTN block, as well as the RTN block “Table”, which contains the name of the table in which this field can be found, as well as a RTN block "Value chaining” to relate the two RTN blocks "Table” and “Table field” to each other.
  • RTN block "Table” this RTN block can be preceded by a "SELECT" -RTN block for output of all table fields
  • RTN building blocks that perform arithmetic or comparison operations can be preceded by a "WHERE” RTN building block and, if not present, a "SELECT” RTN building block which, for example, contains all the fields of all the tables used outputs, each with required RTN blocks "quantity element forming" and "value linking".
  • Table 1 and Table 2 contain a listing of possible RTN building blocks, each with first and second weights, and the decision graphs of the RTN building blocks, where, when passing through the decision graphs of the RTN building blocks at the decision positions, the keywords of the requesting statement are either with a text, a special character, a variable, a number compared or an RTN building block is used from the totality of RTN building blocks, which in turn is traversed again.
  • the RTN building block "NEXT” returns from its processing input quantity per current element the next elements specified in the decision position 300 in its processing initial set If, for example, only one number were permitted instead of the decision position 300, could be determined only the number of next elements to be delivered per current element, by the decision position 300 could by means of the RTN building block "quantity elements-limiting", at its first decision position 300, in turn, the RTN building block "WHERE” is used, that to each The following elements are supplied to the current element, which are "quantity elements-limiting" in the processing output quantity of the RTN building block. Analogously, this applies to all RTN building blocks, e.g. The RTN block "MAX" could be used to search for exactly this subsequent element with the largest value specified in decision position 300 of the RTN building block "MAX" starting from the current element.
  • Variable state 010106 stored value.
  • # 1 limits the elements found by WHERE to the first element, and thus returns
  • NEXT applies only the value of the first element for the WHERE. NEXT must be used so that the values of the element found can be compared with a value of the current element, in the example the number of days passed is calculated. Display the result via the keyword SELECT.
  • Example 23 First question: All companies from locations with more than 100 companies
  • the amount of companies is taken, for each company is looked for the place, whether in this place more than 100 companies are to be found.
  • the found companies are issued.
  • the processing is of course much better formulated by the optimizer.
  • processing-relevant RTN building block information of the first processing-relevant RTN building block information group are:
  • processing-relevant RTN building block information of the second processing-relevant RTN building block information group are:
  • processing-relevant RTN building block information of the third processing-relevant RTN building block information group can be a
  • Reordering weight per RTN building block which changes the existing order of adjacent RTN building blocks in a same parent RTN building block and thereby emulates an optimized execution plan.
  • the RTN building block "Layers” has seven RTN building blocks in it, all of which are adjacent:
  • the processing function to be used for the "#" RTN building block placed fifth in the RTN building block "#” is the processing function "MIN" supplemented by the limitation of the number of elements of its output processing set to 5000, ie those 5000 elements whose value C to the 5000 smallest values of the RTN building block "#" assigned to this fifth input processing set, thus the fourth output processing starting set RTN building block "WHERE.”
  • the same scheme applies to those used in the RTN building block "levels" Positions (6) and (8).
  • RTN block "SELECT" which returns the desired fields of all elements of its input quantity and outputs them, should be executed at the last place of this RTN block "levels".
  • the second inserted RTN block "FROM” should be used first in its directly superordinate RTN block "levels", since this RTN block “FROM” uses the amount of data or data sets to be used as the first processing input quantity for the RTN block "Layers" - and thus the processing input quantity for the second RTN building block implemented in this "RTN building block” RTN building block - has been defined.
  • this processing output quantity of the processing function "WHERE” is taken as the processing input quantity for the processing function "MIN C # 5000" which, as the processing output quantity - if there are at least 5000 elements in the processing input quantity - those 5000 elements which are included in Referring to the total elements of the processing input quantity to the unspecified minimum values C have.
  • the result of the first processing function "MIN C # 5000" to be applied for the corresponding processing input quantity is supplied as the processing output quantity, and this processing output quantity is used as the processing input quantity for the processing function "WHERE B".
  • processing function "FIRST”, as shown in the description for this RTN building block, depends on a previously defined sorting, which is why the ORDERBY at the second position set in the RTN building block "levels" does not come before this sixth inserted position "FIRST". can be ranked.
  • Six rebalancing weighting groups are assigned, each with associated process logic, and each of the specified RTN building blocks is assigned a reordering weighting of these six rebalancing weighting groups.
  • a first reordering weighting group which is assigned a value defined as the smallest value, for example the value 0,
  • a second reordering weighting group which is assigned a value defined as the second-smallest, for example the value 1
  • a third rebalancing weighting group which is assigned a value defined as the third largest, for example the value 249,
  • a fourth rebalancing weighting group which is assigned a second-largest defined value, for example the value 250,
  • a fifth rebalancing weighting group which is assigned a maximum value, for example the value 251
  • a sixth rebalancing weighting group having a variable value greater than the value of the second reordering weighting group and less than the value of the third reordering weighting group, for example values between 2 and 248,
  • Those RTN building blocks with a rearrangement weighting of the sixth reordering weighting group which are to be arranged in the order before RTN building blocks of the sixth reordering weighting group in the same directly superordinate RTN building block, receive a higher reordering weighting than the RTN building blocks to be retrofitted to this RTN building block.
  • RTN building block with the same superordinate RTN building block, the order of, for example, RTN building blocks used, ORDERBY and WHERE, is interchanged in the sense of optimizing the following execution.
  • This definition specifies that the ORDERBY A WHERE B FIRST C FROM D MAX D sequence is reordered in the same way that the RTN FROM building block is placed in the first position in this higher-level RTN building block first position FROM the RTN building block WHERE follows and the RTN building block FIRST, for which the previous sorting is relevant, after the RTN building block ORDERBY, that is set to the penultimate position and the now last position, ie the RTN building block MAX , is no longer pushed in front of this RTN block FIRST.
  • this fourth rebalancing weighting group determines that the RTN building block FROM, which describes the processing input set for its parent RTN building block, precedes all other RTN building blocks such as RTN building blocks. WHERE, MIN, ORDERBY, FIRST, etc., and thus set independently of its previously occupied in the parent RTN building blocks position to the first position of the same parent RTN building block.
  • these affected keyword decision positions in the respective parent RTN building block are assigned the reordering weighting value of the fifth reordering weighting group and these keyword decision positions are in the sense of the reordering procedure same as already used RTN building blocks in this superordinate RTN building block.
  • the result of this superordinate RTN building block IF-THEN-ELSE-END IF is a processing output set which, depending on the unspecified criterion WHERE A, contains either the elements of the data set B or the elements of the data set C. It is thus not permissible to change the order of the RTN building blocks used in this RTN building block IF-THEN-ELSE-END IF, since the criterion WHERE A previously specified and therefore the first to be taken into account fundamentally determines the processing output quantity for this superordinate RTN building block is IF-THEN-ELSE-END IF.
  • the RTN building block FROM which should always be in the first place in a higher-order RTN building block, is assigned the shuffle weighting value of the fourth shuffle weighting group, that is, for example, the shuffle weighting value 250.
  • the RTN building block WHERE which is to be strung after the RTN building block FROM, is assigned a reordering weighting value of the sixth reorganization weighting group, for example the reordering weighting value 200.
  • the keyword decision position IF, THEN, END, and / F of the parent RTN building block are assigned the rearrangement weighting value of the fifth reordering weighting group, such as 251. This assignment of the reordering weighting values ensures that, in this example as well as in all similar cases, no rearrangement of the RTN building blocks used is carried out.
  • the RTN building blocks inserted into a parent RTN building block can have an effect on the rebalancing weighting of their parent RTN building block, again resulting in a higher-level RTN building block other rebalancing weighting for the reordering in its turn over parent RTN building block.
  • RTN building blocks which have a rebalancing weighting not equal to the reordering weighting of the first rebalancing weighting group
  • these affected RTN building blocks are assigned as their final rebalancing weighting the reordering order weighting of the third rebalancing weighting group if and only if at least one of them interleaves directly or recursively Superordinate RTN building blocks used RTN building blocks have a rebalancing weighting of the third rebalancing weighting group.
  • RTN building blocks which are assigned after the conversion step of the second generic group and for all RTN building blocks of the first genus group, of which the final rebalancing weighting value is to correspond only to the highest of all RTN building blocks directly or recursively inserted into these RTN building blocks of the first generic group, that these affected RTN building blocks are assigned the reordering weighting value of the second rebalancing weighting group and the final reordering weighting value thereof for further processing RTN building blocks corresponds to the highest reordering weighting value of these each directly or recursively used RTN building blocks.
  • Both the RTN building block of the first generic group () and the RTN building block of the second generic group # are assigned the rearrangement weighting value of the second rearrangement weighting group, and both of these RTN building blocks receive the highest reordering weighting of the RTNs directly or recursively inserted in these RTN building blocks -Building blocks.
  • the RTN building block MAX with its reordering weighting value is the sixth reordering weighting group, for example 200, and in turn the table RTN building block B is used, which has assigned the reordering weighting value to the second reordering weighting group, for example 1.
  • the final reordering weighting results for the largest reordering weighting of all the RTN building blocks used directly or recursively in this RTN building block. in the concrete case, therefore, the reordering weighting 200 of the RTN building block MAX.
  • RTN brick # which, instead of its initial shuffle weighting of the second shuffle weighting group as its final shuffle weighting in the concrete, is the shuffle weighting of the third Assigned Um glovesswhoungsgrappe assigned to it in the RTN building block FIRST.
  • An RTN building block with a reordering weighting value of the first reordering weighting group is, for example, the RTN building block described above, as shown in the following abstract simple example:
  • a rearrangement according to the method is achieved on the basis of the rearrangement weighting values of the RTN building blocks used in these RTN building block levels. Blocks are made insofar as the RTN block WHERE before the RTN block ORDERBY is ranked.
  • the RTN building block FIRST has assigned the shunting weighting to the third shuffle weighting group, this shuffling weighting is not passed to the RTN building block levels as its final weighting.
  • the higher-level RTN block, MCV, which precedes the RTN blocks can be ranked before the RTN block ORDERBY, which results in the following new order of the RTN blocks:
  • a fixed reordering weighting can be assigned for them, which then overrides the procedurally obtained rebalancing weighting for an RTN building block used at this decision position with the determined rebalancing weighting of this decision position.
  • decision positions that dictate a keyword may be assigned a reordering weighting other than the reordering weighting of the fifth reordering weighting group to swap this keyword decision position with other decision positions of the same decision graph in certain cases.
  • Such information is identified at the affected decision positions of the RTN syntax of the respective RTN building blocks as processing-relevant RTN building block information of the fourth, fifth or sixth processing-relevant RTN building block information group.
  • the final reordering weighting as processing-relevant RTN building block information can only be obtained after passing through an RTN building block used at a * decision position and this reordering weighting therefore belongs to the third processing-relevant RTN Component information group.
  • processing-relevant RTN building block information of the fourth processing-relevant RTN building block information group is given the following two RTN building blocks:
  • an independent processing-relevant RTN building block information of the fourth processing-relevant RTN building block formation group at at least one specific decision position of its inner, directed decision graph, for example the character ° can be followed by a name for this processing function and then again the character ° is used to end this name.
  • the reserved character string ° doVA ° can be used for identification, for example.
  • the processing function ° min ° is initialized as the processing function to be executed, whereas if in the same RTN building block the decision position requiring the keyword "MAX" is successfully compared, then as the processing function to be executed initializes the processing function ° max °.
  • the initialization and execution of the processing function can also be at the same, last decision position, so the RTN syntax of the RTN building block WHERE could also look like this:
  • the initial character ° may be followed by a character sequence (x), which determines the relationship of processing-relevant RTN building block information of the fourth, fifth and sixth processing-relevant RTN building block information group in the same decision graph of an RTN building block.
  • this RTB building block GroupBy can require the initialization and subsequent application of one or two processing functions, each with different processing input quantities for these processing functions, in the same GroupBy RTN building block, depending on the decision positions reached.
  • the leading sign ° can be followed by the + sign.
  • processing output quantities of one or more RTN building blocks which are directly subordinate to this RTN building block are to be given as additional parameters to an optionally already extended processing function of an RTN building block, this can be achieved by a processing function in the character string ° inserted reserved character ⁇ followed by a name for the processing output quantity to be used of a directly inserted RTN module and finally the character ⁇ .
  • Those * decision positions in the same RTN building block which are to pass the processing output set as parameters are identified with the characters ° ⁇ and a name assigned to this processing output set, which is in turn terminated by the characters ⁇ °.
  • An RTN building block which relates to this definition and has already been described above is the RTN building block "NEXT" / "PREV":
  • the initialized processing function which may have been extended by parameters, is executed after a successful comparison with the last decision position.
  • a processing information assigned to this decision position which can also be parameters, can be used as a parameter by the number of successful Comparisons with this decision position is extended.
  • This RTN building block which passes on its same processing input quantity for all of the RTN building blocks directly inserted at its arbitrary often repeatable * decision position and subsequently combines these into a processing initial set, casts all processing output sets directly to its * decision position used RTN blocks as parameter list ⁇ Paraml ⁇ .
  • the processing function ° MergeToOneSet ° to be initialized at the last reached decision position of this RTN building block "Processing_SameParents" and also to be executed at this last decision position is applied to all collected processing output sets of the parameter list -Paraml-.
  • RTN building block is now to be shown on the basis of the RTN building block "Quantity elements limiting", which contains a processing-relevant RTN building block information of the sixth processing-relevant RTN building block information group.
  • O-]. OI lljj.ll 11-11 O_
  • a parent RTN building block having at least one * decision position in its inner, directed decision graph the application of the processing function of one of the directly at a * decision position
  • the subordinate RTN building blocks are used and the processing function is used as an additional parameter for the processing function of the higher-level RTN building block. set the reserved string ° getVAOfChild ° before the affected * decision position (s) in the parent RTN building block.
  • one of the directly subordinate RTN building blocks in turn contains at least one * decision position
  • an optimization of the finished nesting can be automatically detected and performed after analyzing a specified statement.
  • the RTN building block "WHERE” with the processing function 0 WHERE 0 allocated to it in the superordinate RTN building block "Quantity elements delimiting" which is identified by the keyword “#" and used at the first * decision position is the RTN building block second * decision position of the same superordinate RTN block "limiting quantity elements”
  • RTN building block is the RTN building block "number" without assigned processing function.
  • the reserved character sequence ° getVAOfChild ° is specified before the first * decision position for optimization reasons Execution of the processing function 0 WHERE 0 of the "WHERE" RTN block in the same is suppressed Instead, the requested processing function 0 WHERE 0 is added to the superordinate RTN block "Quantity elements limiting" as an additional parameter for its processing function.
  • the processing function 0 WHERE 0 is executed until exactly 100 elements are found in the processing input quantity of the RTN block "Quantity elements delimiting" with the appropriate, unspecified criterion "A".
  • Another example is to show a possible optimization in case of a more complex nesting:

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Vehicle Body Suspensions (AREA)
  • Control Of Metal Rolling (AREA)
EP07701305A 2006-06-01 2007-02-06 Procédé de commande d'un système de gestion de banque de données relationnelle Withdrawn EP2021952A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
PCT/AT2006/000228 WO2007137308A1 (fr) 2006-06-01 2006-06-01 Procédé de commande d'un système de gestion de banque de données relationnelle
PCT/AT2007/000060 WO2007137309A1 (fr) 2006-06-01 2007-02-06 Procédé de commande d'un système de gestion de banque de données relationnelle

Publications (1)

Publication Number Publication Date
EP2021952A1 true EP2021952A1 (fr) 2009-02-11

Family

ID=36785031

Family Applications (2)

Application Number Title Priority Date Filing Date
EP06741027A Active EP2021951B1 (fr) 2006-06-01 2006-06-01 Procede de commande d'un systeme de gestion de banque de donnees relationnelle
EP07701305A Withdrawn EP2021952A1 (fr) 2006-06-01 2007-02-06 Procédé de commande d'un système de gestion de banque de données relationnelle

Family Applications Before (1)

Application Number Title Priority Date Filing Date
EP06741027A Active EP2021951B1 (fr) 2006-06-01 2006-06-01 Procede de commande d'un systeme de gestion de banque de donnees relationnelle

Country Status (8)

Country Link
EP (2) EP2021951B1 (fr)
JP (1) JP5096464B2 (fr)
CN (2) CN101501687B (fr)
AT (1) ATE479953T1 (fr)
CA (2) CA2653514A1 (fr)
DE (1) DE502006007802D1 (fr)
ES (1) ES2352565T3 (fr)
WO (2) WO2007137308A1 (fr)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9665620B2 (en) 2010-01-15 2017-05-30 Ab Initio Technology Llc Managing data queries
US9116955B2 (en) 2011-05-02 2015-08-25 Ab Initio Technology Llc Managing data queries
CN102955823B (zh) * 2011-08-30 2016-01-20 方方 一种对电视节目评估调研样本数据的处理方法
CN102609493B (zh) * 2012-01-20 2014-07-02 东华大学 一种基于列存储模型的连接顺序查询优化方法
US9626407B2 (en) 2014-06-17 2017-04-18 Google Inc. Real-time saved-query updates for a large graph
US10417281B2 (en) 2015-02-18 2019-09-17 Ab Initio Technology Llc Querying a data source on a network
US11093223B2 (en) 2019-07-18 2021-08-17 Ab Initio Technology Llc Automatically converting a program written in a procedural programming language into a dataflow graph and related systems and methods
CN111522816B (zh) * 2020-04-16 2021-04-30 云和恩墨(北京)信息技术有限公司 基于数据库引擎的数据处理方法、装置、终端及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0326927A2 (fr) * 1988-01-29 1989-08-09 Hitachi, Ltd. Méthode et dispositif de traitement d'une base de données
WO1995006292A1 (fr) * 1993-08-25 1995-03-02 Asymetrix Corporation Procede et appareil pour la modelisation et l'interrogation de structures de base de donnees a l'aide de constructions semblables au langage naturel
US20040019587A1 (en) * 2002-07-25 2004-01-29 You-Chin Fuh Method and device for processing a query in a database management system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761493A (en) * 1990-04-30 1998-06-02 Texas Instruments Incorporated Apparatus and method for adding an associative query capability to a programming language
US5577241A (en) * 1994-12-07 1996-11-19 Excite, Inc. Information retrieval system and method with implementation extensible query architecture
US5875334A (en) * 1995-10-27 1999-02-23 International Business Machines Corporation System, method, and program for extending a SQL compiler for handling control statements packaged with SQL query statements
US6023697A (en) * 1997-02-24 2000-02-08 Gte Internetworking Incorporated Systems and methods for providing user assistance in retrieving data from a relational database
US6618719B1 (en) * 1999-05-19 2003-09-09 Sybase, Inc. Database system with methodology for reusing cost-based optimization decisions
JP3584788B2 (ja) * 1999-07-05 2004-11-04 日本電気株式会社 関係データベースアクセス装置および関係データベースアクセス方法
JP2001222452A (ja) * 2000-02-10 2001-08-17 Ricoh Co Ltd リレーショナルデータベースシステムにおける問い合わせ処理最適化装置
EP1209560A1 (fr) * 2000-11-21 2002-05-29 Natlantech Naamloze Vennootschap Système de modélisation du langage et méthode pour l'analyse rapide
EP1649390B1 (fr) * 2003-07-07 2014-08-20 IBM International Group BV Generation d'un code sql optimise

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0326927A2 (fr) * 1988-01-29 1989-08-09 Hitachi, Ltd. Méthode et dispositif de traitement d'une base de données
WO1995006292A1 (fr) * 1993-08-25 1995-03-02 Asymetrix Corporation Procede et appareil pour la modelisation et l'interrogation de structures de base de donnees a l'aide de constructions semblables au langage naturel
US20040019587A1 (en) * 2002-07-25 2004-01-29 You-Chin Fuh Method and device for processing a query in a database management system

Also Published As

Publication number Publication date
JP2009539151A (ja) 2009-11-12
ATE479953T1 (de) 2010-09-15
EP2021951A1 (fr) 2009-02-11
EP2021951B1 (fr) 2010-09-01
JP5096464B2 (ja) 2012-12-12
WO2007137309A8 (fr) 2008-12-11
WO2007137308A1 (fr) 2007-12-06
DE502006007802D1 (de) 2010-10-14
CN101501687B (zh) 2013-02-13
ES2352565T3 (es) 2011-02-21
CN101548281A (zh) 2009-09-30
CA2653465A1 (fr) 2007-12-06
WO2007137309A1 (fr) 2007-12-06
CN101501687A (zh) 2009-08-05
CA2653514A1 (fr) 2007-12-06

Similar Documents

Publication Publication Date Title
EP0910829B1 (fr) Systeme de banque de donnees
DE60208778T2 (de) Datenstruktur für informationssysteme
DE69424586T2 (de) Verfahren und System zum formulieren interaktiver Abfragen
EP0855062B1 (fr) Systeme d'informations et procede de memorisation de donnees dans un systeme d'informations
EP2021952A1 (fr) Procédé de commande d'un système de gestion de banque de données relationnelle
DE69328400T2 (de) Hilfsverfahren zur Abfrageoptimierung eines relationellen Datenbankverwaltungssystems und daraus resultierendes syntaktisches Analyseverfahren
DE60130475T2 (de) Durchführung von kalkulationen eines tabellenkalkulationstyps in einem datenbanksystem
DE112010000947T5 (de) Verfahren zur völlig modifizierbaren Framework-Datenverteilung im Data-Warehouse unter Berücksichtigung der vorläufigen etymologischen Separation der genannten Daten
EP2425331A1 (fr) Procédé de création d'un guide d'utilisation
DE60300984T2 (de) Methode und Computersystem für die Optimierung eines Boolschen Ausdrucks für Anfragebearbeitung
EP1941395B1 (fr) Procede pour commander un systeme de banque de donnees relationnelle
DE69517887T2 (de) Verfahren und System zum Herstellen von Verbindungen in einem Datenbanksystem
DE10103845B4 (de) Rechnersystem
DE19908204A1 (de) Fraktales Netz n-ter Ordnung zum Behandeln komplexer Strukturen
WO2008095209A1 (fr) Procédé de commande d'un système relationnel de banque de données
EP1979837B1 (fr) Procede et dispositif pour la sortie de jeux de données
DE19811524A1 (de) Datenverarbeitungssystem
DE10220094B4 (de) Datenverarbeitungssystem
WO2008131465A1 (fr) Procédé de commande d'un système de banque de données relationnelle
DE102019135542A1 (de) Verfahren zum Erzeugen einer Graphen-Datenbank
EP3877866A1 (fr) Procédé et dispositif de mémorisation de données et de relations entre ces dernières
DE102007033019A1 (de) Methoden und Datenverarbeitungssysteme für computerisiertes Schlußfolgern
WO2007022981A1 (fr) Procede de traitement de donnees
EP1116108A1 (fr) Reseau fractal d'ordre n-ter pour traiter des structures complexes
DE102005042513A1 (de) Verfahren zum rechnergestützten Erzeugen einer Datenbasis für Verzeichnisverwaltungssysteme

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20081124

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR

AX Request for extension of the european patent

Extension state: AL BA HR MK RS

DAX Request for extension of the european patent (deleted)
17Q First examination report despatched

Effective date: 20130314

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20130903