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\DataModelNejzá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_RelatedObecná 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_1toNAbstraktní 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_1to1Abstraktní 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_DefinitionZákladní třída pro práci s definicemi
Jet\DataModel_Definition_ModelZákladní abstraktní třída společná pro ostatní třídy definující entity i subentity.
Jet\DataModel_Definition_Model_MainTřída definující hlavní entitu.
Jet\DataModel_Definition_Model_RelatedAbstraktní třída definující všechny typy subentit.
Jet\DataModel_Definition_Model_Related_1to1Třída definující subentitu, která je v relaci 1:1 na rodiče.
Jet\DataModel_Definition_Model_Related_1toNTří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).

Třída Význam
Jet\DataModel_Definition_PropertyZákladní abstraktní třída společná pro všechny typy vlastností.
Jet\DataModel_Definition_Property_IdReprezentuje typ DataModel::TYPE_ID
Jet\DataModel_Definition_Property_IdAutoIncrementReprezentuje typ DataModel::TYPE_ID_AUTOINCREMENT
Jet\DataModel_Definition_Property_StringReprezentuje typ DataModel::TYPE_STRING
Jet\DataModel_Definition_Property_BoolReprezentuje typ DataModel::TYPE_BOOL
Jet\DataModel_Definition_Property_IntReprezentuje typ DataModel::TYPE_INT
Jet\DataModel_Definition_Property_FloatReprezentuje typ DataModel::TYPE_FLOAT
Jet\DataModel_Definition_Property_LocaleReprezentuje typ DataModel::TYPE_LOCALE
Jet\DataModel_Definition_Property_DateReprezentuje typ DataModel::TYPE_DATE
Jet\DataModel_Definition_Property_DateTimeReprezentuje typ DataModel::TYPE_DATE_TIME
Jet\DataModel_Definition_Property_CustomDataReprezentuje typ DataModel::TYPE_CUSTOM_DATA
Jet\DataModel_Definition_Property_DataModelReprezentuje typ DataModel::TYPE_DATA_MODEL - tedy vazbu na subentitu.

Složené klíče

Třída Význam
Jet\DataModel_Definition_KeyPř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_RelationsZá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_RelationZákladní abstraktní třída reprezentující obecnou relaci.
Jet\DataModel_Definition_Relation_InternalTřída reprezentuje definici vnitřní relace.
Jet\DataModel_Definition_Relation_ExternalTřída reprezentuje definici vnějších relace.
Jet\DataModel_Definition_Relation_Join_ItemDefinuje konkrétní vazbu mezi dvěma vlastnosmi.
Jet\DataModel_Definition_Relation_Join_ConditionDefinuje vazbu mezi vlastností a konkrétní hodnotou.

ID kontrolery

Samozřejmě nesmí chybět seznam ID kontrolerů.

Třída Význam
Jet\DataModel_IDControllerObecná abstraktní třída společná pro všechny ID kontrolery.
Jet\DataModel_IDController_AutoIncrementID kontroler operující s číselnou sekvencí generovanou relační databází.
Jet\DataModel_IDController_UniqueStringID kontroler generující náhodný textový řetězec s časovým razítkem na začátku.
Jet\DataModel_IDController_PassivePasivní 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_PropertyFilterReprezentuje 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_QueryZákladní třída, jejíž instance představuje abstrakci SQL dotazu.
Jet\DataModel_Query_SelectPředstavuje seznam sloupců pro nahrání pro dotaz typu SELECT.
Jet\DataModel_Query_Select_ItemPředstavuje konkrétní sloupeček v rámci seznamu pro nahrání v dotazu typu SELECT.
Jet\DataModel_Query_Select_Item_ExpressionPředstavuje například volání SQL funkce v rámci seznamu pro nahrání v dotazu typu SELECT.
Jet\DataModel_Query_WherePředstavuje celou WHERE část všech SQL dotazů.
Jet\DataModel_Query_Where_ExpressionPředstavuje konkrétní část WHERE části SQL dotazu. Tedy vazbu na sloupec (nebo část SELECT), operátor a hodnotu.
Jet\DataModel_Query_HavingPředstavuje celou HAVING část SQL dotazů typu SELECT.
Jet\DataModel_Query_Having_ExpressionPředstavuje konkrétní část HAVING části SQL dotazu. Tedy vazbu na sloupec (nebo část SELECT), operátor a hodnotu.
Jet\DataModel_Query_GroupByReprezentuje definici GROUP BY části SQL dotazů typu SELECT
Jet\DataModel_Query_OrderByReprezentuje definici ORDER BY části SQL dotazů typu SELECT
Jet\DataModel_Query_OrderBy_ItemJedná 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_FetchZákladní abstraktní třída společná pro oba iterátory.
Jet\DataModel_Fetch_InstancesIterátor pro načítání seznamu instancí entit.
Jet\DataModel_Fetch_IDsIterá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_RecordDataTřída představuje celou sadu dat určených k uložení.
Jet\DataModel_RecordData_ItemKonkrétní položka v sadě dat určených k uložení.

Backend

Třída Význam
Jet\DataModel_BackendZákladní abstraktní třída společná pro všechny backendy.
Jet\DataModel_Backend_ConfigZá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_HelperFasáda volající metody backendu určené k vytváření a aktualizaci DB tabulek na základě definic.
Předchozí kapitola
Backend
Další kapitola
Jet\DataModel