| |
14
CREAT INDEX EXTENSION <header> <index maintenance > <index search>
<header> ::= <indexExtensionName> ({<parmName> <parmType>}+)
<index maintenace> ::=
WITH INDEX KEYS FOR ({ <colName> <colType>}+) /*index columns*/
GENERATED BY <key transform>
<index search> ::=
WITH SEARCH METHODS FOR INDEX KEYS
({<colName> <colType>}+){<search method>}+
<searchmethod> ::=
WHERE <searchmethodName> USING ({<colName> <colType>+) /*search arguments*/
REANGE THROUGH <search key producer>
CHECK WITH <index filter>
<creat index> ::=
CREAT [UNIQUE] INDEX <index Name> ON <table Name>
({<colName> [ASC | DESC]}+)
USING <indexExtensionName> ({<constant>}+)
Abbildung 4.1 Syntax für die Indexerweiterung mit der assoziierten Schlüsseltransformation und
Suchmethoden [Che 99]*
<creat function> ::=
CREAT FUNCTION <functionName> {<parmName> <dataType>}+
<predicate specification>+
<predicate specification> ::=
AS PREDICATE [EXACTLY]
[FILTER BY <data filter>]
[<index exploitation>]
<index exploitation> ::=
SEARCH BY INDEX EXTENSION <indexExtensionName> <exploitation rule>*
<exploitation rule> ::=
WHERE KEY ({<paramName>}+) /*search target*/
USE <searchmethodName> ({<paramName>}+)
Abbildung 4.2 Syntax von nutzerdefinierten Funktionen [Che 99]*
Wenn ein Indexscan ausgeführt wird, der ein Prädikat nutzt, wird die dazugehörige Suchmethode, die
eine nutzerdefinierte Funktion ist, aufgerufen. Sie berechnet einen Scan von Suchschlüsseln für die
Suchziele, indem sie Suchargumente nutzt. Die Suchschlüssel werden zu den zugrundeliegenden
Zugangsmethoden gesendet, um die relevanten Aufnahmen wiederaufzurufen. Der Indexfilter ist
verbunden mit der Suchmethode, die bei Vorhandensein angewendet wird, bevor die Aufnahmen von
der Diskette wiederverwendet werden. der relationale Datenbankmanager wendet den Datenfilter an,
|  |
|
| |
|
|