Backend
Úkolem backendu Jet DataModel je všechny ty definice entit i dotazů (mající podobu instancí objektů) převádět na SQL, kterému rozumí daná relační databáze. (Nebo se teoreticky ani nemusí jednat o SQL a relační databázi, ale to už moc odbočuji.) Zcela konkrétně backend na starosti toto:
- Vytváření databázových tabulek na základě definic
- Úpravu / aktualizaci databázových tabulek na základě definic
- Vytváření a provádění dotazů INSERT
- Vytváření a provádění dotazů UPDATE
- Vytváření a provádění dotazů DELETE
- Vytváření a provádění dotazů SELECT za účelem zjištění počtu záznamů
- Vytváření a provádění dotazů SELECT za účelem nahrání dat
- Převádění dat výsledku na datové typy připravené k předání instancím entit (přetypování dat)
Backend vždy musí dědit od abstraktní třídy Jet\DataModel_Backend a musí mít svou definici konfigurace, která dědí od třídy Jet\DataModel_Backend_Config. V referencích těchto tříd najdete další podrobnosti a to i možnost jak doplnit váš vlastní backend.
Jet DataModel aktuálně podporuje následující typy relačních databází:
- MariaDB / MySQL
De facto standard ... Zajímavým aspektem je možnost mít definováno jiné spojení k databázi pro zápis a jiné pro čtení dat (replikace a tak dále). - SQLite
Ano, to je pro velký online projekt takřka nepoužitelné. Ale mám své dva soukromé projekty mající formu lokálních online nástrojů a tam je věc jako SQLite užitečná a "plnotučná" relační databáze by byla zbytečná - ne-li kontraproduktivní. - PostgreSQL
- MS SQL
- Na podpoře Oracle se pracuje