Uživatelské nástroje

Nástroje pro tento web


lmexplore:tableview

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

lmexplore:tableview [2015/09/13 20:18] (aktuální)
Řádek 1: Řádek 1:
 +====== Databázový pohled ======
 +
 +Databázové pohledy (angl. //database view//) jsou "​dynamické"​ tabulky, jejichž obsah je vytvářen až na základě požadavku s pomocí hodnot z existujcích databázových tabulek nebo databázových pohledů. Jde vlastně o předdefinovanou podobu dotazu ''​SELECT''​ do databáze, ve kterém můžeme použít spojování tabulek, vybrat pouze některé sloupce a případně i omezit počet záznamů. Z pohledu DZD jde o činnosti patřící do fáze //​Předzpracování dat//.
 +
 +===== Název a základní parametry =====
 +
 +{{:​lmexplore:​databasetableopravadlg.hotelplusexterni.png?​direct&​300 |}} Nový databázový pohled přidáme pomocí tlačítka ''​Add View''​ na záložce [[:​lmexplore:​tables|Tables]]. Objeví se dialogové okno pro zadání názvu nově vzniklého //​dynamického pohledu//. Tento název musí být unikátní a zároveň by měl být dostatečně výstižný.
 +
 +U právě přidávaného pohledu můžeme povolit vytváření lokální //cache// dat. Zejména v tomto případe doporučujeme vytváření //cache// povolit, abychom ušetřili čas spotřebovaný opakovaným spojováním více tabulek pomocí klauzule ''​WHERE''​. ​
 +
 +Dále můžeme zvážit, zda se má před názvy sloupců předřadit název tabulky, ze které pocházejí. To může být potřeba v případě, že chceme odlišit stejně pojmenované sloupce v tabulkách, které spojujeme. V takovém případě doporučujeme zaškrtnout příslušnou volbu.
 +
 +Po stisku tlačítka ''​Ok''​ se objeví dialogové okno pro nastavení základní zdrojové tabulky a použitých relací. ​
 +
 +===== Základní zdrojová tabulka =====
 +
 +V systému LISp-Miner musí mít každý definovaný pohled vybranou jednu databázovou tabulku jako "​základní"​. Ta se vybírá ve volbě ''​Main Parent database table''​) a určuje první tabulku, která bude uvedena v klasuli ''​FROM''​ dotazu ''​SELECT''​ definujícího tento pohled.
 +
 +===== Výběr použitých relací =====
 +
 +{{:​lmexplore:​databasetableviewjoinopravadlg.hotelplusexterni.png?​direct&​300 |}}
 + ​Realizujeme-li pomocí databázového pohledu propojení dat z více tabulek, musíme z dříve nadefinovaných [[:​lmexplore:​relationships|relací]] vybrat ty, které vedou od základní zdrojové tabulky k tabulkám dalším. Výběr relace provedeme jejím přesunutím z levého seznamu do pravého.
 +
 +Vybrané relace se použijí v klauzuli ''​WHERE''​ příkazu ''​SELECT''​. Při jejich výběru je třeba zajistit, že ke všem v nich odkazovaným tabulkám vede jednoznačná "​cesta"​ od základní zdrojové tabulky. V opačném případě budeme na na tuto chybu upozorněni. Typickou strukturou používanou při propojování dat z více tabulek je je struktura //hvězda// mající relace pouze mezi hlavní tabulkou a vždy jednou tabulkou s externími daty (o počasí, o ekonomice...).
 +
 +Výběr použitých relací můžeme později opět vyvolat pomocí tlačítka ''​View Def''​ na záložce s [[:​lmexplore:​table|detailem tabulky/​databázového pohledu]]. Doporučujeme však, aby definice použitých relací byla dobře rozmyšlena dopředu a po vytvoření dynamického pohledu (a zejména po vytvoření nad ním založených atributů) už nebyla měněna. ​
 +
 +Nebudou-li v databázovém pohledu potřeba data z žádné jiné tabulky, než je základní zdrojová, není třeba žádné relace vybírat.
 +
 +===== Omezení počtu záznamů =====
 +
 +Volitelně můžeme u databázového pohledu omezit počet záznamů. Zadaná podmínka se přidá do klauzule ''​WHERE''​ příkazu ''​SELECT''​ a její správná syntaxe je tak závislá na použitém DBMS.
 +
 +===== Práce s databázovým pohledem =====
 +
 +S vytvořeným databázovým pohledem můžeme pracovat úplně stejně, jako s kteroukoliv databázovou tabulkou. ​
 +
 +Databázový pohled se objeví v seznamu na záložce [[:​lmexplore:​tables|Tables]]. Můžeme si pro něj zobrazit záložku s [[:​lmexplore:​table|detaily]] a vytvářet nad ním [[:​lmprepro:​start|atributy]].
 +
 +V prvé řadě je třeba pohled inicializovat tím, že otevřeme záložku s [[:​lmexplore:​table|přehledem sloupců]]. Následně je třeba ručně [[:​lmexplore:​table#​Označení primárního klíče|označit primární klíč]] pomocí tlačítka ''​Set Primary key''​. ​
 +
 +**Pozor!** Zejména u databázových pohledů propojujících data z více tabulek je třeba pečlivě kontrolovat,​ který sloupec označujeme jako primární klíč. Obvykle půjde o sloupec s názvem **ID** nebo **ID_LM**, které se však mohou vyskytovat ve všech spojovaných tabulkách! Správný sloupec obvykle bývá ten převzatý ze základní zdrojové tabulky.
 +
 +-----
 +
 +**Související témata:**
 +
 +{{:​lmbase:​seealso.png?​nolink&​32|}} [[:​lmexplore:​relationships|Zadání vztahů mezi tabulkami]]\\
 +{{:​lmbase:​seealso.png?​nolink&​32|}} [[:​lmexplore:​tables|Seznam databázových tabulek]]\\
 +
 +{{:​lmdemo:​example.png?​nolink&​32|}} Praktická ukázka: [[:​lmdemo:​hotel2015:​tableview|Demo Hotel: Propojení tabulek]]
  
lmexplore/tableview.txt · Poslední úprava: 2015/09/13 20:18 (upraveno mimo DokuWiki)