4th Dimension a ORACLE

1. 11. 1999

Sdílet

Kromě zásuvného modulu 4D Write jsme se doposud věnovali pouze jádru výrobnířady 4D. Další z poměrně velkých oblastí nasazení produktů 4th Dimension je využití zásuvných modulů,...

Kromě zásuvného modulu 4D Write jsme se doposud věnovali pouze jádru výrobní
řady 4D. Další z poměrně velkých oblastí nasazení produktů 4th Dimension je

využití zásuvných modulů, kam společně s 4D SQL Serverem a 4D ODBC náleží i 4D

for Oracle.

4D for Oracle je soubor externích procedur do 4th Dimension, zajišťujících

komunikaci databáze 4D s databází Oracle. Pomocí tohoto zásuvného modulu může

4th Dimension zobrazovat, upravovat a vytvářet data v databázi Oracle. S tímto

modulem pak 4D představuje front end pro Oracle server. Tato konfigurace umožní

uživateli používat plný GUI 4th Dimension (formuláře, ovládací prvky, nabídky)

a s ním použít ukládání dat a přístup na disk se schopnostmi ORACLu. Tímto

způsobem je možné vytvořit silný systém ovládání dat. Můžete vytvořit i více 4D

databází, které používají přístup k téže databázi Oraclu.



Použití OCI a podpora SQL*Net

4D for Oracle používá Oracle Call Interface (OCI) a využívá přes něj všechny

rysy ORACLu. Ke své funkci potřebuje originální OCI driver od Oraclu. Tento

soubor driverů pracuje s Oraclem a SQL*Netem.

Oracle a 4D spolupracují na základě distribuované inteligence. 4D může využít

svůj jazyk ke zpracování úloh, takže se komunikace po síti výrazně

zminimalizuje, a to pouze na zasílání zdrojových a upravených dat k uložení. 4D

uvolní kapacity Oracle serveru od řízení rozhraní, server pouze odpovídá na

dotazy hledání a ukládá výsledná data. Uživatelský počítač není pouze terminál,

který komunikuje s hostitelským počítačem, ale data rovněž zpracovává.

S použitím rozhraní 4D nemusí uživatel vůbec vědět, která tabulka nebo řada

Oracle je používána.

Typická pracovní sekce vypadá následovně: uživatel spustí databázi 4D a připojí

se k Oracle serveru. V tento okamžik může požádat o data např. záznamů

zaměstnanců s výdělkem vyšším než 10 000 měsíčně. Další práce probíhají se

zaslaným výběrem, záznamy lze procházet, uživatel může vytvářet analýzy, a

případně i některý záznam upravit. Tento záznam se pak musí automatickým

tlačítkem Uložit odeslat na Oracle server k uložení.



Struktury databází 4th Dimension a Oracle

4th Dimension a Oracle ukládají data v různém formátu, avšak definice jsou

podobné a konvertovatelné. Konverze dat z polí 4th Dimension do sloupců Oraclu

provádí 4th Dimension. Např. typ Char z číselných znaků lze konvertovat na

číslo v 4D a naopak, typ Number, obsahující pouze 0 a 1, se převádí na 4D

Boolean. Ve 4D lze definovat formát, jak mají být NULL hodnoty sloupců Oraclu

zobrazeny ve 4D.



4D záznamy a Oracle řady

4th Dimension ukládá data do záznamů a Oracle do řad. Při získávání dat z

Oraclu je nutno určit, která řada Oraclu je dotčena. Jak bude s informací

zacházeno záleží na tom, zda jsou použity příkazy Context, nebo příkazy nízké

úrovně.

Příkazy Context: Tyto příkazy jsou použity pro svázání sloupců Oraclu s poli,

proměnnými nebo array 4th Dimension. Fungují bez dalšího použití příkazů SQL a

umožňují vývojáři psát výrazy, obsahující uvnitř příkazy SQL v syntaxi tabulek

a polí 4th Dimension. Když 4D for Oracle interpretuje tyto příkazy, směrem k

Oraclu generuje patřičný SQL výraz. Mezi 4D poli a Oracle sloupci lze definovat

více vazeb.

Nízkoúrovňové příkazy: Ve 4D lze použít přímo výrazy SQL jako nízkoúrovňové

příkazy. V tomto případě se použijí přímo SQL výrazy pro komunikaci s Oracle

serverem. V těchto příkazech pak musí být definovány řady a sloupce, které

chcete zobrazit a upravit. Nízkoúrovňové příkazy jsou vždy účinější a rychlejší

než příkazy Context. Tyto příkazy jsou více závislé na vývojáři databáze a

nejsou závislé na verzi 4D for Oracle.



Primární klíč

Oracle dovoluje definovat primární klíč jako kombinaci několika sloupců. Ve

standardní databázi 4th Dimension toto není dovoleno. Způsobem pro zajištění

kompatibility je definování kontextu a sloučení výsledných polí nebo proměnných

do jednoho pole nebo proměnné, a jejich opětovné rozložení při odesílání na

Oracle server.



Praktické využití

Způsoby použití záleží na účelu, pro který tento front end bude používán. Pokud

zákazník překročil kapacity svého PC disku a bude nucen použít mikropočítač

nebo sálový počítač, může např. využít stávající aplikaci 4th Dimension a

simulovat strukturu 4D aplikace v Oraclu. Tuto aplikaci může přizpůsobit pro

externí ukládání dat v Oraclu a načítání dat k rozborům do databáze 4D. V tomto

případě lze použít příkazy Context k založení struktury 4D v Oraclu a přenesení

dat do vzniklé databáze Oracle.

Pokud chcete využít veškeré možnosti 4D ke zpracování dat, je potřeba vytvořit

simulovanou strukturu databáze Oracle. Jestliže je potřeba pouze front end a

výběry záznamů, se kterými se musí zacházet najednou a nebudou příliš velké,

stačí v databázi 4D pouze jedna tabulka a pole, a zbytek práce včetně

komunikace se může odehrát v paměti

Jedním z častých řešení je také 4D jako Web Server a současně CGI pro Oracle

databáze.

Součástí standardní instalace je demodatabáze 4D VideoOracle s demem 4D for

Oracle. Tato databáze založí tabulky a sloupce Oraclu na základě struktury a

dat 4th Dimension a přenese data do vzniklé databáze Oracle. S takto sladěnými

strukturami dokáže přenést data zpět do nově založených prázdných dat 4D.

Jednotlivé záznamy tabulek je možno upravovat a po přenesení dat do 4D lze

použít standardní nástroje 4D k vytváření sestav.

9 0680/OK o