Obsah Dal¹í Pøedchozí

5.2.2 Rozhraní databázového stroje

Rozhraní databázového stroje poskytuje vy¹¹ím vrstvám slu¾by spojené s dokumentografickými informaèními systémy - administraci jednotlivých databází, práci s dokumenty (vkládání, odebírání a manipulaci s daty dokumentù), pokládání dotazù za úèelem získání relevantních dokumentù, zpøístupnìní práce se stoplistem a logickými knihami a v neposlední øadì umo¾nìní reorganizace vyhledávacích struktur jednotlivých databází. Dále pak obsahuje vlastní logiku práce s databázovým strojem - zaji¹»uje korektnost a správné poøadí operací, které se provádìjí pøi manipulaci s databázemi, dokumenty èi dotazy.

Jedním z dùvodù zavedení rozhraní databázového stroje bylo odstínìní vy¹¹ích vrstev od konkrétní implementace databázového stroje, tak aby ho bylo mo¾no zamìnit za jiný bez nutnosti zasahovat do implementace vrstev le¾ících nad ním. Proto logika rozhraní databázového stroje nijak neodrá¾í vnitøní uspoøádání databázového stroje, ale sna¾í se pomocí objektù vystihnout obecnì logiku práce s dokumentografickými informaèními systémy. Toho se podaøilo dosáhnout také díky tomu, ¾e rozhraní bylo navr¾eno bez vìt¹ích ohledù na potøeby námi implementovaného databázového stroje.

Nyní budou popsány nejdùle¾itìj¹í tøídy, ze kterých je slo¾eno rozhraní databázového stroje.

ASystem

V celém systému je pouze jediná instance tøídy ASystem. Jejím úkolem je zastøe¹ovat práci s jednotlivými databázemi. Jedná se o úkony èistì administrátorského charakteru. Jsou jimi - zakládání nových databází, ru¹ení starých databází, otevírání (zpøístupnìní) ji¾ existujících databází, zavírání (znepøístupnìní) otevøených databází, poskytování pøehledu o existujících èi otevøených databázích... .

Database

Instance tøídy Database v sobì spojují informace (metody a data zprostøedkovávané datovými objekty vlastního databázového stroje), které jsou potøebné pro èinnost databází v dokumentografických informaèních systémech. Dále pak umo¾òují pøístup k vnitøním datovým objektùm pomocí pøesnì definovaných rozhraní, jakými jsou napøíklad tøídy IStopList a IBooks, je¾ budou popsány v odstavcích 5.2.2.5. a 5.2.2.6 .

IDocument

Práci s dokumenty v jednotlivých databázích slou¾í "doèasné" instance tøídy IDocument. Tyto objekty zprostøedkovávají vkládání nových dokumentù, odebírání starých dokumentù, také slou¾í k manipulaci s daty a k získávání informací o dokumentech ulo¾ených v databázi. Dále pak tato tøída obsahuje logiku potøebnou pro práci s vektorem dokumentu v podobì dvojic term-èetnost. Zaji¹»uje pøevod termù na jejich interní identifikaèní èísla, odstranìní "nepodstatných" termù z vektoru dotazu, spoètení vah jednotlivých termù a znormalizování výsledného vektoru.

IQuery

"Doèasné" instance tøídy IQuery slou¾í vy¹¹ím vrstvám k pokládání dotazù na jednotlivé databáze. Umo¾òují specifikovat øadu parametrù pokládaného dotazu (termy, dokumenty ze zpìtné vazby, èi omezení výsledku na logické knihy nebo na vedlej¹í informace...). Tøída IQuery obdobnì jako tøída IDocument zaji¹»uje pøevod vnìj¹í reprezentace (termù, dokumentù, logických knih...) do reprezentace vnitøní pomocí datových objektù databázového stroje zprostøedkovaných pøíslu¹ným objektem tøídy Database.

IResult

"Doèasné" objekty tøídy IResult slou¾í k pøedání výsledkù na dotazy vy¹¹ím vrstvám. Zpøístupòují seznamy relevantních dokumentù k polo¾eným dotazùm spoleènì s pøíslu¹nými podobnostmi.

IStopList

Instance tøídy IStopList definují rozhraní pro datové objekty vlastního databázového stroje. Toto rozhraní je poskytováno objekty tøídy Database vy¹¹ím vrstvám jak pro manipulaci s termy na stoplistu, tak i pro filtrování termù, které vstupují do databáze.

IBooks

Tøída IBooks definuje rozhraní pro datové objekty vlastního databázového stroje. Toto rozhraní je poskytováno objekty tøídy Database vy¹¹ím vrstvám. Ty potom skrze toto rozhraní provádìjí administraci logických knih daných databází. Je umo¾nìno zakládání nových logických knih, ru¹ení ji¾ nepou¾ívaných knih a získávání informací o naplnìní jednotlivých logických knih.


1999-03-04 Tomá¹ Foltýnek