Do hloubky
Z předchozích kapitol již znáte princip jak Jet DataModel funguje. Ale pro úplné pochopení je dobré si prostudovat reference všech tříd, které Jet DataModel tvoří.
Základní třídy
Jedná se o třídy, od kterých musí dědit entity - datové modely vaší aplikace.
Třída | Význam |
---|---|
Jet\DataModel | Nejzákladnější abstraktní třída od které dědí i třídy ostatní. Hlavní entity aplikace musí dědit právě od této třídy. |
Jet\DataModel_Related | Obecná abstraktní třída všech subentit v jakékoliv vnitřní relaci na hlavní entitu. Od této třídy nemá žádná subenetita v rámci aplikace přímo dědit. |
Jet\DataModel_Related_1toN | Abstraktní třída od které dědí subentity apliakce, které jsou vázány na rodičovskou entitu vnitřní relací typu 1:N. |
Jet\DataModel_Related_1to1 | Abstraktní třída od které dědí subentity apliakce, které jsou vázány na rodičovskou entitu vnitřní relací typu 1:1. |
Definice - modely (entity)
Následující třídy představují definice tříd (tedy atributy tříd převedené do objektové podoby).
Třída | Význam |
---|---|
Jet\DataModel_Definition | Základní třída pro práci s definicemi |
Jet\DataModel_Definition_Model | Základní abstraktní třída společná pro ostatní třídy definující entity i subentity. |
Jet\DataModel_Definition_Model_Main | Třída definující hlavní entitu. |
Jet\DataModel_Definition_Model_Related | Abstraktní třída definující všechny typy subentit. |
Jet\DataModel_Definition_Model_Related_1to1 | Třída definující subentitu, která je v relaci 1:1 na rodiče. |
Jet\DataModel_Definition_Model_Related_1toN | Třída definující subentitu, která je v relaci 1:N na rodiče. |
Definice - vlastnosti
Následující třídy představují definice vlastností tříd (tedy atributy vlastností tříd převedené do objektové podoby).
Složené klíče
Třída | Význam |
---|---|
Jet\DataModel_Definition_Key | Představuje definici složeného kliče. |
Relace
Jet DataModel si udržuje pohromadě informace o vnitřních i vnějších relacích tak, aby je mohl efektivně používat. Tedy následující třídy jsou určené primárně pro interní potřeby Jet DataModel.
Třída | Význam |
---|---|
Jet\DataModel_Relations | Základní třída, jejíž primárním účelem je zaznamenávat a držet informace o všech známých relacích. |
Jet\DataModel_Definition_Relation | Základní abstraktní třída reprezentující obecnou relaci. |
Jet\DataModel_Definition_Relation_Internal | Třída reprezentuje definici vnitřní relace. |
Jet\DataModel_Definition_Relation_External | Třída reprezentuje definici vnějších relace. |
Jet\DataModel_Definition_Relation_Join_Item | Definuje konkrétní vazbu mezi dvěma vlastnosmi. |
Jet\DataModel_Definition_Relation_Join_Condition | Definuje vazbu mezi vlastností a konkrétní hodnotou. |
ID kontrolery
Samozřejmě nesmí chybět seznam ID kontrolerů.
Třída | Význam |
---|---|
Jet\DataModel_IDController | Obecná abstraktní třída společná pro všechny ID kontrolery. |
Jet\DataModel_IDController_AutoIncrement | ID kontroler operující s číselnou sekvencí generovanou relační databází. |
Jet\DataModel_IDController_UniqueString | ID kontroler generující náhodný textový řetězec s časovým razítkem na začátku. |
Jet\DataModel_IDController_Passive | Pasivní ID kontroler, který spoléhá na to, že identifikační vlastnosti budou nastaveny aplikační logikou. |
Režim omezeného nahrávání
V rámci načítání dat je možné omezit rozsah nahrání pravidly. Pravidla jsou samozřejmě převedena na objekt.
Třída | Význam |
---|---|
Jet\DataModel_PropertyFilter | Reprezentuje pravidla rozsahu načtení (tedy co může být načteno) v režimu omezeného nahrávání. |
Dotazy
Následující třídy společně tvoří definici dotazu. A to jak dotazu typu SELECT - tedy kompletní definici toho, co má databáze načíst, tak dotazů ze kterých je použita pouze část WHERE, tedy pro operace DELETE a UPDATE.
Třída | Význam |
---|---|
Jet\DataModel_Query | Základní třída, jejíž instance představuje abstrakci SQL dotazu. |
Jet\DataModel_Query_Select | Představuje seznam sloupců pro nahrání pro dotaz typu SELECT. |
Jet\DataModel_Query_Select_Item | Představuje konkrétní sloupeček v rámci seznamu pro nahrání v dotazu typu SELECT. |
Jet\DataModel_Query_Select_Item_Expression | Představuje například volání SQL funkce v rámci seznamu pro nahrání v dotazu typu SELECT. |
Jet\DataModel_Query_Where | Představuje celou WHERE část všech SQL dotazů. |
Jet\DataModel_Query_Where_Expression | Představuje konkrétní část WHERE části SQL dotazu. Tedy vazbu na sloupec (nebo část SELECT), operátor a hodnotu. |
Jet\DataModel_Query_Having | Představuje celou HAVING část SQL dotazů typu SELECT. |
Jet\DataModel_Query_Having_Expression | Představuje konkrétní část HAVING části SQL dotazu. Tedy vazbu na sloupec (nebo část SELECT), operátor a hodnotu. |
Jet\DataModel_Query_GroupBy | Reprezentuje definici GROUP BY části SQL dotazů typu SELECT |
Jet\DataModel_Query_OrderBy | Reprezentuje definici ORDER BY části SQL dotazů typu SELECT |
Jet\DataModel_Query_OrderBy_Item | Jedná se o konkrétní prvek v ORDER BY části SQL dotazu. |
Načítání - iterátory
V rámci načítání jsme si řekli o iterátorech pro speciální režim načítání dat. Zde jsou:
Třída | Význam |
---|---|
Jet\DataModel_Fetch | Základní abstraktní třída společná pro oba iterátory. |
Jet\DataModel_Fetch_Instances | Iterátor pro načítání seznamu instancí entit. |
Jet\DataModel_Fetch_IDs | Iterátor pro načítání seznamu identifikátorů entit. |
Úprava dat
Když Jet provádí ukládání dat - tedy zápis do databáze (ať už pomocí INSERT, nebo UPDATE), tak předává backendu sadu dat k úpravě v podobě instancí následujících tříd.
Třída | Význam |
---|---|
Jet\DataModel_RecordData | Třída představuje celou sadu dat určených k uložení. |
Jet\DataModel_RecordData_Item | Konkrétní položka v sadě dat určených k uložení. |
Backend
Třída | Význam |
---|---|
Jet\DataModel_Backend | Základní abstraktní třída společná pro všechny backendy. |
Jet\DataModel_Backend_Config | Základní abstraktní třída definující konfiguraci společná pro všechny backendy. |
Pomocník
Pomocník je určený k vytváření tabulek a jejich aktualizaci, případně pro zobrazení SQL dotazů určených k vykonání těchto operací. Pomocník ovšem není nic jiného, než malá fasáda, volající instance backendů a příslušné metody.
Třída | Význam |
---|---|
Jet\DataModel_Helper | Fasáda volající metody backendu určené k vytváření a aktualizaci DB tabulek na základě definic. |