24. Různé

V této kapitole se seznámíme s několika programy. Jsou to tyto programy:


Data Pump

Data Pump používáme k přesunu dat (schématu databáze i obsahu) mezi databázemi. Zdroj i cíl může být lokální databáze nebo databázový server SQL.
Postup při použití Data Pump:
  1. Vytvoříme přezdívky pro zdrojovou i cílovou databázi pomocí Administrátora BDE.
  2. V Data Pump vybereme zdrojovou i cílovou přezdívku. Zdroj může být přezdívka nebo adresář; Databázový server SQL vždy vyžaduje přezdívku a může vyžadovat přihlášení.
  3. Vybereme tabulky, které chceme přesunout ze zdrojové databáze.
  4. Prohlédneme předběžnou sestavu k určení, jak data se zobrazí po jejich přesunu do cílové databáze.
  5. Modifikujeme případné datové typy, indexy nebo referenční integritu, která není podporována v cílové databázi.
  6. Přesuneme data.
  7. Zobrazíme konečnou stavovou sestavu k určení sekvencí ve kterých datové objekty byly přesunuty, které datové objekty byly přesunuty a jak jsou zobrazeny v cílové databázi. Nyní můžeme aktualizovat nebo modifikovat data přímo v cílové databázi.
Prohlížení a modifikace prvků
Předběžná sestava zobrazuje všechny tabulky, které budou změněny před přesunem dat. Sloupce Fields, Indexes a Referential Integrity indikují zda data jsou překládána k akceptovatelnosti ze zdrojové do cílové databáze. Některá data mohou požadovat modifikaci.
Modifikace položek
Dialogové okno Modifikace položek zobrazuje seznam položek vybrané tabulky v okně Source Field Names. Pokud již máme modifikovanou položku tabulky, pak zvolíme Back k návratu do dialogového okna Inspect or Modify Items. Nyní můžeme vybrat jinou tabulku pro modifikaci.
Hlavička zdroje Popis
Table Name Jméno tabulky ve zdrojové databázi.
Field Type Datový typ položky na zdrojové databázi.
Is Required Je sloupec NOT NULL?
Min Value Minimální hodnota pro testování přípustnosti položky.
Max Value Maximální hodnota pro testování přípustnosti položky.
Default Implicitní hodnota položky

 
Hlavička cíle Popis K modifikaci
Table Name Jméno tabulky na cílové databázi. Zapíšeme jméno nové tabulky.
Field Name Jméno položky na cílové databázi. Zapíšeme nové jméno položky
Field Type Datový typ položky na cílové databázi. Vybereme přípustný datový typ z rozbalovacího seznamu.
Is Required true = sloupec NOT NULL
false = sloupec NULL
Vybereme true nebo false z rozbalovacího seznamu.
Min Value Minimální hodnota pro testování přípustnosti položky. Zapíšeme hodnotu pro minimální hodnotu.
Max Value Maximální hodnota pro testování přípustnosti položky. Zapíšeme hodnotu pro maximální hodnotu.
Default Implicitní hodnota položky. Zapíšeme implicitní hodnotu.
Modifikace indexu na tabulce
Dialogové okno Modifikace indexů na tabulce zobrazuje informace o všech indexech tabulky. Pomocí Next procházíme přes jednotlivé indexy. Potom se můžeme vrátit do okna Inspect and Modify Items a vybrat další tabulku.
 
Hlavička Popis K modifikaci ...
Index Name Jméno indexu na zdrojové tabulce. Zapíšeme nové jméno indexu.
Available Fields for Indexing Všechny položky v tabulce.
Original Index Expression Indexový výraz (tabulky dBASE) Vybereme položky, které mají tvořit index.
Selected Fields For Indexing Položky k indexování na cílové databázi. Vybereme položky, které mají tvořit index.
Sestava
Sestava přemisťovacích aktivit zobrazuje datové objekty, které byly přesunuty do cílové databáze v pořadí přesunů.
 
Hlavička Popis
Object Přesouvaný databázový objekt.
Operation Operace provedená na cílové databázi k vytvoření databázového objektu.
Old Name Jméno databázového objektu ve zdrojové databázi.
Old Type  Typ objektu ve zdrojové databázi. Např. Table as Standard, Index as Normal, Field as Numeric.
New Name Jméno databázového objektu ve cílové databázi.
New Type Typ objektu ve cílové databázi. Např. Table as InterBase, Index as Normal, Field as Short.
Status Zpráva informující zda přesun byl úspěšný.


SQL Monitor

SQL Monitor umožňuje vidět aktuální volání příkazu pomocí SQL Links na vzdálený server nebo pomocí soketů ODBC na datový zdroj ODBC.
K otevření SQL Monitoru zvolíme Databse | SQL Monitor.
Můžeme monitorovat různé typy aktivit. Zvolíme Options | Trace Options a v zobrazeném dialogovém okně můžeme vybírat různé kategorie aktivit k monitorování.
Podrobněji se tímto programem zabývat nebudeme.

SQL Builder

SQL Builder umožňuje vizuálně vytvářet a provádět dotazy SQL. K vytvoření kompletního dotazu SQL není nutná znalost SQL. SQL Builder může být také použit jako nástroj pro výuku SQL.
Když použijeme SQL Builder, pak můžeme vidět a editovat výsledné SQL. Můžeme vytvořit složité SQL z jednoduchého SQL kombinací více tabulkového spojení s počitatelnými položkami a výrazy založenými na spojení.
Uživatelské rozhraní SQL Builderu je složeno z těchto prvků: S SQL Builderem můžeme provádět následující úlohy: SQL Builder podporuje heterogenní dotazy: dotazy provedené na tabulkách ve více než jedné databázi. Heterogenní dotazy mohou spojovat tabulky na různých serverech a různých typech serverů. Když provádíme heterogenní dotaz, pak BDE rozloží a zpracovává dotaz pomocí Lokálního SQL (rozšíření SQL jednotlivých serverů nejsou podporována).

Okno SQL Query Text Entry

Toto okno umožňuje prohlížet a editovat dotaz SQL jako text. Jak budujeme náš dotaz graficky v SQL Builderu, pak dotaz se zobrazuje jako příkaz SQL v tomto okně. Můžeme přepínat mezi oknem textového zadávání a SQL Builderem. Provedené změny se projeví v grafice SQL Builderu po přepnutí zpět na SQL Builder.
K editování současného dotazu SQL, klikneme na ikoně na Paletě nástrojů SQL.
Když použijeme SQL Builder k vytvoření dotazu, pak dotaz je původně zpracováván v syntaxi ANSI-92 SQL, pak je přeložen (je-li to zapotřebí) do dialektu používaného serverem. SQL Builder čte pouze ANSI standard SQL; překlad do dialogu, který je proveden automaticky se zobrazuje v textovém okně s na začátku každého řádku k indikaci, že se jedná o příkaz dialektu SQL. Cokoliv za je považováno za komentář s
Dotazy graficky vytvořené v SQL Builderu mohou být rozšířeny konstrukcemi specifickými pro dialekt. Pokud chceme modifikovat dotaz a přejít zpět do SQL Builderu, pak jej editujeme v ANSI SQL. Pokud se pokusíme uložit syntakticky chybný dotaz nebo dotaz v jiné syntaxi než ANSI-92 SQL, pak je zobrazen dialog s následujícími volbami: Další informace nalezneme v:

Okno Query Results

Toto okno se zobrazí, když provádíme dotaz SQL. Mřížka, kterou můžeme rolovat prohlížecími tlačítky zobrazenými nad mřížkou, obsahuje výsledek dotazu.
K zobrazení výsledku dotazu klikneme na ikoně na Paletě nástrojů SQL Builderu.
Další informace nalezneme v:
Paleta nástrojů SQL Builderu
Paleta nástrojů SQL Builderu se zobrazuje v hlavním okně SQL Builderu a v okně SQL Query Text Entry. Obsahuje následující tlačítka a seznamy pro provádění příkazů. Seznamy jsou zobrazeny pouze v hlavním okně SQL Builderu.
 
Tlačítko Příkaz
New Vytvoření nového dotazu SQL.
Open Otevírá existující dotaz SQL.
Save Ukládá současný dotaz SQL.
Cut Odstraňuje výběr a ukládá jej do schránky.
Copy Kopíruje výběr a umisťuje jej do schránky.
Paste Vkládá obsah schránky na pozici kurzoru.
Show SQL Pouze v okně SQL Builderu. Zobrazuje a edituje dotaz SQL jako text v okně SQL Query Text Entry.
Show as
Graphical
Pouze v okně SQL Query Text Entry. Zobrazuje a edituje dotaz SQL graficky v okně SQL Builderu.
Run query Spouští Dotaz SQL.
Seznam Význam
Database Pouze v okně SQL Builderu. Výběr dostupné databáze ze seznamu přezdívek.
Table Pouze v okně SQL Builderu. Výběr tabulky z databáze pro přidání k dotazu.
Příkazy nabídky
Hlavní nabídka obsahuje nabídky: File, Edit, Query a Help. Příkazy v těchto nabídkách jsou popsány v následujících tabulkách.
 
Příkaz Popis
New Vytvoření nového dotazu.
Import from file? Importování příkazu SQL ze souboru (*.SQL).
Export to file? Uložení současného dotazu do souboru (*.SQL).
Revert to saved Návrat současného dotazu zpět k naposled uloženému příkazu SQL.
Exit Ukončení práce SQL Builderu.

Nabíka Edit obsahuje běžné příkazy pro práci se schránkou. Nabídka Query obsahuje příkazy Run SQL a Show SQL (viz popis Palety nástrojů). V nabídce Help obsahuje příkazy:
 
Contents Zobrazuje okno obsahu WinHelp.
About Zobrazení verze a autorských práv.

Panel Table

Table Pane je rolovatelné zvětšovatelné okno, které zobrazuje na panel přidané tabulky.
Každá tabulka je zobrazená jako rolovatelné okno s měnitelnými rozměry, obsahující hlavičku se jménem tabulky a seznam obsahující všechny položky tabulky.
Vedle každého jména položky a tabulky je značka. Pokud tabulka má modré odškrtnutí, pak všechny položky z této tabulky jsou vloženy do dotazu. Jinak jsou vloženy pouze označené položky. Když je označena alespoň jedna položka (ale ne všechny), pak u jména tabulky je šedá značka.
Umístěním myši nad oknem tabulky se zobrazí úplné jméno tabulky. Např. úplné jméno tabulky může být :mydb:Customer.dbf. K zobrazení tabulek ve sbaleném režimu, kdy je zobrazeno pouze jméno tabulky, stiskneme minimalizační tlačítko vedle jména tabulky. Tabulky můžeme spojit přetažením položky z jednoho okna tabulky na položku v jiném okně. Když dvě tabulky jsou spojeny, pak mezi spojenými tabulkami je zobrazena spojovací čára.
Tabulky jsou přidány k dotazu jejich pouhým přidáním k panelu Table. Zde můžeme vybrat některé nebo všechny položky jedné nebo více tabulek k vložení do výsledkové množiny. Můžeme také graficky spojit jednu tabulku s druhou. Tabulky mohou být přidány více než jednou.
K přidání tabulky vybereme přezdívku databáze v rozbalovacím seznamu na paletě. Pokud databáze je chráněná heslem, pak jsme dotázáni na jméno uživatele a jeho heslo. Výběrem databáze přidáme všechny její tabulky do rozbalovacího seznamu Table na paletě. Zde vybereme požadovanou tabulku a tabulka je zobrazena na panelu Table.
K odstranění tabulky, v místní nabídce okna tabulky zvolíme Remove Table.

Zápisník Query

Zápisník Query je záložkový zápisník mřížek parametrů dotazu, který umožňuje specifikovat různé volby pro dotazy. Každá stránka má volby, které ovlivňují dotaz jistým způsobem.
Stránka Criteria
Stránka kritérií umožňuje specifikovat výběrová kritéria, který dotaz použije k vložení pouze některých řádků dat do výsledku dotazu. Přidáváním výběrových kritérií na této stránce, přidáváme klauzuli WHERE k dotazu. Kritéria mohou být jednoduché výrazy, výrazy SQL nebo klauzule EXISTS.
Mřížka obsahuje výběrová kritéria, ze kterých dotaz může vylučovat řádky. Rozbalovací seznam specifikuje zda ALL, ANY, NONE nebo NOT ALL kritéria aplikovat.
Pro zrušení řádku, řádek vybereme a v místní nabídce zvolíme Delete Row.

Přidávání výběrového kritéria
Výběrové kritérium v dotazu specifikuje které řádky dat vložit do výsledku dotazu. Při specifikaci výběrového kritéria v mřížce na stránce Criteria zvolíme typ kritéria volbou v místní nabídce mřížky. Můžeme volit z Simple Equation, SQL Expression a EXISTS. Jednotlivé typy budou popsány později. Do řádku zadáme kritéria podle typu zvoleného kritéria.

Kombinování výběrových kritérií
Když je povoleno Row Info, pak nalevo od mřížky vedle řádků jsou zobrazovány NOT, OR nebo AND k indikaci pravidel pro kombinaci řádků kritérií. K povolení Row Info v místní nabídce mřížky zvolíme Row Info.
Pro specifikaci kombinování řádků výběrových kritérií do tvaru složitějšího výběrového kritéria, vybereme z rozbalovacího seznamu nad mřížkou kritérií:
 
ALL Specifikuje, že všechna výběrová kritéria v mřížce musí být splněna aby kombinované kritérium bylo splněno. S povoleným Row Info je před každým řádkem zobrazeno AND (s výjimkou prvního řádku).
ANY Určuje, že alespoň jedno výběrové kritérium v mřížce musí být splněno, aby kombinované kritérium bylo splněno. S povoleným Row Info je před každým řádkem zobrazeno OR (s výjimkou prvního řádku).
NONE Specifikuje, že všechna výběrová kritéria v mřížce nesmí být splněna, aby kombinované kritérium bylo splněno. S povoleným Row Info bude před prvním řádkem zobrazeno NOT a před dalšími řádky OR.
NOT ALL Specifikuje, že alespoň jedno výběrové kritérium v mřížce musí být nesplněno, aby kombinované kritérium bylo splněno. S povoleným Row Info bude před prvním řádkem zobrazeno NOT a před dalšími řádky AND.

Jednotlivá výběrová kritéria mohou být seskupena do tvaru vnořeného výběrového kritéria. Dvě kritéria spojená AND se seskupením změní na příkaz OR, zatímco dvě kritéria spojená OR změníme na příkaz AND.
K seskupení výběrového kritéria vybereme řádky k seskupení (kliknutím při stisknuté klávese CTRL) ve výběrových sloupcích. Výběrové sloupce jsou umístěny jako nejlevější sloupce mřížky a nemají hlavičky. V místní nabídce výběrových sloupců zvolíme Group Rows.
Výběrový sloupec je nejlevější sloupec mřížky a nemá hlavičku. Pokud dotaz obsahuje vnořené výběrové kritérium, pak výběrová šipka se zobrazí vedle vnořeného řádku. Kliknutím na tuto šipku zařadíme řádek do výrazu.
K zrušení seskupení výběrového kritéria, změníme operátor v seskupeném výrazu na opačný. Např. pokud máme dříve seskupený výraz:
(City = 'Freeport') OR (Company = 'Unisco')
pak změníme OR na AND:
(City = 'Freeport') AND (Company = 'Unisco')

Stránka Selection
Stránka Selection povoluje vytvářet součtová data. Také umožňuje specifikovat výstupní jméno pro položku nebo součtová data ve výsledku dotazu.
Položky vybíráme v rozbalovacím seznamu Field. Jsou ze položky ze všech tabulek zobrazených na panelu Table. Položku můžeme také přetáhnout z okna tabulky do sloupce Field. Pro přidání položky ji přetáhneme na prázdný řádek v mřížce. K nahrazení existující položky přetáhneme novou položku na starou.
Ve sloupci Output Name můžeme zadat jméno, které chceme zobrazovat jako titulek pro položku nebo součtová data namísto použití implicitního jména.
K vytvoření součtových dat zvolíme v místní nabídce mřížky Summary. Mřížka nyní má tři sloupce: Output Name, Summary a Field. Požadovanou funkci vybíráme v rozbalovacím seznamu sloupce Summary. Když přidáme součet, pak C++ Builder automaticky seskupí všechny nesoučtové položky k zajištění požadavků syntaxe SQL.
Když je označena značka Remove Duplicates pak každý řádek ve výsledku dotazu bude unikátní. Označením této značky přidáme klíčové slovo DISTINCT k příkazu SQL.
Pro zrušení řádku v mřížce, řádek vybereme a v místní nabídce zvolíme Delete Row.
Stránka Grouping
Stránka Grouping umožňuje vytvořit seskupovací dotaz. Seskupovací dotaz seskupuje data ze zdrojové tabulky a produkuje jeden součtový řádek pro každou skupinu.
K vytvoření seskupovacího dotazu, vybereme položku nebo položky pro seskupování v seznamu Output Fields a stiskneme tlačítko Add k přesunu položky do seznamu Grouped On. Dotaz bude seskupen na základě položek uvedených v tomto seznamu.
Aby položka byla zobrazena v seznamu Output Fields, vybereme položku v panelu Table. K odstranění položky ze seznamu Grouped On, vybereme položku a stiskneme tlačítko Remove.
Stránka Group criteria
Stránka Group Criteria umožňuje specifikovat kritéria použitá v klauzuli HAVING, kterou SQL Builder přidává k dotazu. Klauzule HAVING vybírá seskupené řádky. Kritéria skupiny mohou být jednoduché výrazy, výrazy SQL nebo dvou sumární výrazy. Příslušný typ kritéria vybereme v místní nabídce mřížky.
K přidání skupinového kritéria v místní nabídce mřížky na stránce Group Criteria zvolíme jedno z: Ke specifikaci jak výběrová kritéria jsou kombinována do tvaru složitějšího výběrového kritéria, vybereme z rozbalovacího seznamu nad mřížkou kritérií:
 
ALL Specifikuje, že všechna výběrová kritéria v mřížce musí být splněna aby kombinované kritérium bylo splněno. 
ANY Určuje, že alespoň jedno výběrové kritérium v mřížce musí být splněno, aby kombinované kritérium bylo splněno. 
NONE Specifikuje, že všechna výběrová kritéria v mřížce nesmí být splněna, aby kombinované kritérium bylo splněno. 
NOT ALL Specifikuje, že alespoň jedno výběrové kritérium v mřížce musí být nesplněno, aby kombinované kritérium bylo splněno. 

Zrušení řádku v mřížce provedeme výběrem řádku a volbou Delete Row v jeho místní nabídce.

Stránka Sorting
Stránka Sorting umožňuje specifikovat řadící pořadí dotazu. K seřazení výsledku dotazu:
  1. Vybereme položku podle které chceme řadit ze seznamu Output Fields.
  2. Stiskneme tlačítko Add k přesunu položky do seznamu Sorted By.
Dvojitým kliknutím na položce v seznamu Sorted By změníme řadící pořadí ze vzestupného na sestupné. Do seznamu Sorted By můžeme přidat více položek. Dotaz bude řazen na základě pořadí položek v seznamu Sorted By.
Pro přidání položek do seznamu Output Fields vybereme položku v panelu Table.
K odstranění položky ze seznamu Sorted By, vybereme položku a stiskneme tlačítko Remove. Ke změně pořadí položek v seznamu Sorted By, vybereme přesouvanou položku a klikneme na šipku dolů nebo nahoru pro její přesun v požadovaném směru.
Stránka Join
Stránka Join dovoluje vytvářet více tabulkové dotazy (spojení). Značky umožňují specifikovat plné, levé a pravé vnější spojení. Pokud je označena pouze první značka, pak k dotazu je přidáno levé vnější spojení. Když je označena pouze druhá značka, pak k dotazu je přidáno pouze pravé vnější spojení. Při označených obou značkách k dotazu je přidáno plné vnější spojení. Pokud není označena ani jedna značka (implicitní nastavení), k dotazu je přidáno vnitřní spojení.
Seznam Join je zobrazen nad mřížkou a umožňuje specifikovat jisté spojení. Když vybereme spojení v tomto seznamu, pak obě tabulky zapojené do spojení se zobrazí. Když spojení je vybráno, pak mřížka obsahuje položkové informace pro toto jisté spojení.
Mřížka spojení má tři sloupce: Field, Operator a Field.
Každý sloupec Field umožňuje specifikovat položku pro spojení. Když vytváříme nové spojení, pak všechny položky ze všech tabulek jsou uvedeny v rozbalovacím seznamu. Když editujeme existující spojení, pak zde jsou uvedeny pouze položky ze spojených tabulek. Sloupec Operator umožňuje specifikovat porovnávací operátor pro spojení. Můžeme volit z =, >, <, >=, <= a <>.
Položky mohou být spojeny přetažením jedné nebo více položek z jedné tabulky do jiné tabulky. Graficky, spojení jsou indikovány jednoduchou čarou, která spojuje dvě okna tabulek.
Každý spojený pár položek ve spojení je přidán jako samostatný řádek do mřížky na stránce Join. K vytvoření spojení:
  1. V prvním sloupci Field vybereme položku kterou chceme spojovat z první tabulky.
  2. Ve sloupci Operator vybereme příslušný typ shody.
  3. Ve druhém sloupci Field, vybereme položku kterou chceme spojovat z druhé tabulky.
24. Různé