CachΘ Studio 2⌐ Daniel KutßΦ, InterSystems CZ, 2002 SQLV minulΘm dφle naÜeho serißlu jsme popsali unifikovanou architekturu dat nßstroje CachΘ. V tomto dφle se budeme podrobn∞ji v∞novat implementacφ SQL v prost°edφ CachΘ. SQL je v CachΘ implementovßno jako souΦßst UnifikovanΘ architektury databßze. Sklßdß se ze dvou Φßstφ:
Implementace SQLCachΘ SQL obsahuje plnou sadu standardnφch relaΦnφch funkcφ:
SQL-92 Kompatibilita CachΘ implementuje pln∞ zßkladnφ ·rove≥ standardu SQL-92 s n∞kolika mßlo v²jimkami. RozÜφ°enφ CachΘ SQL p°inßÜφ n∞kolik zajφmav²ch rozÜφ°enφ, je₧ vypl²vajφ z faktu, ₧e CachΘ je postrelaΦnφ databßzφ a umo₧≥uje jak objektov², tak relaΦnφ p°φstup ke stejn²m dat∙m.
Nßsledujφcφ k≤d ukazuje jak²m zp∙sobem je vyu₧ita objektovß syntaxe rozÜi°ujφcφ SQL (za ·Φelem demonstrace jsme rozÜφ°ili definici t°φdy Osoba o vlastnost Partner jako₧to referenci na p°φpadnΘho partnera):
Tento k≤d je v²znamov∞ toto₧n² se standardnφm (mΘn∞ p°ehledn²m) k≤dem
Univerzßlnost JDBC CachΘ JDBC driver je kompatibilnφ na ·rovni 4 (Φistß Java) a mezi jeho hlavnφ rysy pat°φ:
ODBC CachΘ ODBC je nativnφ driver. Nenφ zalo₧en na ₧ßdnΘ proprietßrnφ mezivrstv∞. K zßkladnφm rys∙m ODBC driveru pat°φ mj.:
Vno°enΘ SQL P°i tvorb∞ programovΘho k≤du je mo₧no s v²hodou pou₧φt vlo₧enΘho SQL dotazu k vrßcenφ hodnoty pou₧φvanΘ v dalÜφ sekci programu. Pou₧ijeme-li tabulku z minulΘho dφlu, m∙₧eme nap°φklad napsat takov²to k≤d: Obr. 1 Za tφmto ·Φelem jsme pon∞kud rozÜφ°ili definici t°φdy User.Osoba a to tak, ₧e jsme k vlastnosti Vek p°idali k≤d pro v²poΦet v∞ku p°i SQL p°φstupu. V CachΘ je toti₧ k≤d pro objektov² a SQL p°φstup odd∞len, proto musφme v p°φpad∞ vypoΦφtan²ch vlastnostφ k≤d pro v²poΦet napsat dvakrßt, poprvΘ jako metodu <jmΘnovlastnosti>Get pro objektov² p°φstup, podruhΘ jako SQLComputedCode pro SQL p°φstup. DynamickΘ SQL DalÜφ mo₧nostφ pou₧itφ SQL v k≤du je volßnφ t°φdy %Library.ResultSet. Tφmto zp∙sobem je mo₧no definovat SQL dotazy za b∞hu programu. Ob∞ tyto metody majφ svß pro a proti, vlo₧enΘ SQL je o n∞co mßlo efektivn∞jÜφ, jeliko₧ je souΦßstφ k≤du procedury; naproti tomu dynamickΘ SQL vytvß°φ sv∙j vlastnφ k≤d a jsou udr₧ovßny v cache. Jinou odliÜnostφ je nap°. syntaxe pro p°edßvßnφ parametr∙. Konfigurace SQLSystΘmovΘ parametry K nastavenφ prost°edφ CachΘ SQL serveru slou₧φ mnoho r∙zn²ch parametr∙. Hodnoty t∞chto parametr∙ je mo₧no definovat bu∩ pomocφ CachΘ Configuration Manageru, v sekci Advanced->SQL, nebo û viz Obr. 2. Obr. 2 Tyto parametry je tΘ₧ mo₧no upravovat za b∞hu programu pomocφ API t°φdy %SYSTEM.SQL SQL ManagerSQL Manager je zßkladnφ nßstroj pro prßci s CachΘ SQL. Obr. 3 Hlavnφmi oblastmi pou₧itφ SQL manageru jsou
SQL Pomocφ standardnφch p°φkaz∙ SQL (DDL,DML) lze tvo°it/ruÜit tabulky, pohledy atd. a dotazovat se na data. Prßce se systΘmem Nßsledujφcφ obrßzky ukazujφ definici u₧ivatele pomocφ SQL Manageru Obr. 4 a definici prßv k tabulkßm: Obr. 5 Pr∙vodci Pro usnadn∞nφ n∞kter²ch slo₧it²ch operacφ slou₧φ pr∙vodci, kte°φ u₧ivatele krok za krokem navigujφ v procesu. Jednφm z pr∙vodc∙ je nap°. pr∙vodce exportem dat. V n∞kolika krocφch u₧ivatel zvolφ tabulku, z nφ₧ se data majφ exportovat a formßt cφlovΘho souboru. Jin²m pr∙vodcem je pr∙vodce vytvo°enφm p°ipojenΘ tabulky z jinΘ relaΦnφ databßze. Tento pr∙vodce bude podrobn∞ji popsßn v sekci SQL Brßna. ODBCKonfigurace datovΘho zdroje Pro p°φstup k dat∙m v CachΘ prost°ednictvφm ODBC rozhranφ je k dispozici driver. Definice parametr∙ ODBC je jednoduchß a ukazuje ji nßsledujφcφ obrßzek. V zßsad∞ je nutno jen specifikovat IP adresu serveru, port, na kterΘm CachΘ SQL server poslouchß a pracovnφ oblast, do kterΘ se mß ODBC driver napojit (namespace). Obr. 6 SQL BrßnaUrΦit∞ se mnoho z vßs dostalo do situace, kdy jste pot°ebovali p°φstup z vaÜφ aplikace k dat∙m, kterß byla ulo₧ena v jinΘ aplikaci (databßzi). Mo₧n²ch zp∙sob∙ °eÜenφ tΘto situace je mnoho, od pou₧itφ soubor∙ k p°enosu dat p°es r∙znΘ jedno·ΦelovΘ progrßmky zalo₧enΘ na ODBC, XML aj. a₧ po komplexnφ aplikace typu ômessage hubö. VÜechna tato °eÜenφ majφ r∙znΘ nev²hody, bu∩ jsou p°φliÜ drahß, nebo strßvφte mnoho Φasu jejich programovßnφm. Jako vÜe v ₧ivot∞, nic nenφ zadarmo. I zde je za pohodlφ nutno platit. NicmΘn∞ cena v podob∞ pon∞kud ni₧Üφ v²konnosti k p°φstupu ke vzdßlen²m dat∙m je cenou velice nφzkou. Koneckonc∙, v₧dy mßte mo₧nost data z relaΦnφ databßze p°enΘst do CachΘ. Konfigurace brßny Nßsledujφcφ obrßzky ukazujφ zp∙sob konfigurace SQL brßny v CachΘ. Konfigurace a p°ipojenφ sestßvß ze 2 dφlΦφch krok∙:
Obr. 7 Definice SQL brßny Obr. 8 Pr∙vodce p°ipojenφm tabulky Krok 1 Krok 2 Krok 3 Po p°ipojenφ tabulky je mo₧no s nφ pracovat jako s t°φdou v CachΘ a pou₧φvat krom∞ SQL, tΘ₧ CachΘ ObjectScript nebo CachΘ Basic k objektovΘmu p°φstupu k dat∙m ulo₧en²m v tΘto tabulce. Obr. 9 |
P°φÜt∞ si povφme o prßci s XML a webov²mi slu₧bami. |