121
Vývoj / Re:Rada při návrhu db tabulek
« kdy: 25. 06. 2021, 05:31:25 »ORM je tzv. "leaky abstraction" - https://en.wikipedia.org/wiki/Leaky_abstraction
coz vubec nevadi, pokud nepotrebujete stridat databaze. Hlavni ucel ORM je moznost psat SQL ve vyssim, expresivnejsim jazyce.
SQL je dostatečně expresivním jazykem, většina ORM toho nedosahuje.
Neni, je to jazyk nizke urovne abstrakce. SQL napriklad neumoznuje jednoduche skladani dotazu ze znovupouzitelnych casti, kdyz chcete pristupovat k nejakemu atributu pres pet joinu, musite je psat znovu a znovu v ruznych dotazech, ktere se navzajem podobaji. ORM a query buildery nahrazuji dynamicke lepeni dotazu z retezcu.
Muzeme se bavit konkretne, ukazte mi priklad SQL dotazu a ja vam ukazu radove kratsi ORM kod, ktery dela to stejne.
Pokud chcete slovickarit jako obvykle, nebudu odpovidat.
To co umožňuje perzistentní kompozici v SQL se jmenuje pohledy. Pokud si vyrobíte pohled, tak nemusíte opakovaně psát JOINy.
Stačí jednoduchá úloha - mějte relaci obce, a relaci okresy, a pro každý okres dohledejte 10 největších obcí (efektivně).