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