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

Předchozí kapitola
Práce se surovými daty
Další kapitola
Do hloubky