[python] par dotazu od zacatecnika v SQL
Dan Pressl
nu.frix na gmail.com
Pátek Prosinec 29 10:29:39 CET 2017
Myslím že se dostáváme přesně do té fáze, kdy člověk, který poslal dotaz na
jednoduchý problém, má chuť zaklapnout notebook a jít ven, protože jeho
původní otázka se zvrhla.
Pokud někdo začíná a chce nabrat zkušenosti, je daleko lepší aby začal na
ORM. S ORM postaví malé projekty daleko rychleji a paradoxně i stabilněji
než s použitím čístého SQL a bud se mu se vším pracovat daleko líp. Zároveň
pokud si budet hledat práci, tak málokterý startup či větší firma nepoužívá
ORM ať jako Django ORM nebo SQLAlchemy, takže bude mít výhodu, protože bude
na daný způsob práce zvyklý. Až bude muset řešit výkonostní problém, tak se
naučí SQL, jak fungují transakce, jak se chová JOIN apod. a hezky se mu to
propojí dohromady.
Pokud budou chyby v databázi, tak se k nim dostane stejně jako kdyby uměl
psát query v SQL. Nastavuje se někde, že je uživatel neaktivní? Problém
stejně bude hledat v kódu. Jiný datový typ, než jaký je ve schématu, stejně
neuloží. Opravit chyby? Napíše si skript, který bude používat SQLAlchemy a
data si opraví. Až to bude potřebovat udělat efektivněji, tak začne
zjišťovat, jak to udělat přímo v SQL atd.. ORM nezastírá realitu v
databázi, pouze nabízí alternativní způsob práce s daty v databázi. A proč
tady řešíme nucení technologie zákazníkovi? Rovnou můžeme začít řešit, co
dělat, když zákazník řekne, že chce Javu. Jedná se o problémy, které se
řeší projekt od projektu.
Podle toho, co tady čtu, by měl půl roku studovat jak funguje SQL a pak
teprve začít něco psát. To, dle mého, není vhodný přístup, protože je
daleko lepší začít něco tvořit a učit se za pochodu. Takže za mě, ať začne
s ORM, kde nejlepší volba je SQLAlchemy a učí se během tvorby svého
projektu. A sám časem přijde na to, jestli mu to tak vyhovuje nebo chce
zjistit, jak to doopravdy funguje a vyplatí se mu psát čisté SQL.
Kdo z vás napřed studuje protokol, přes který komunikuje ovladač s televizí
a až se ho naučí, začne ovladač používat?
2017-12-29 9:52 GMT+01:00 zu1234 <zu1234 na seznam.cz>:
>
> Dne 28.12.2017 v 22:19 Petr Blahos napsal(a):
>
>
>> Začínat s jazkem SQL je předčasná optimalizace. Začni s ORM. Doporučil
>> bych SQLAlchemy ORM nebo Django (pokud chceš dělat webové aplikace). Na
>> drtivou většinu věcí ti to bude stačit. Jazyk SQL je pro běžné potřeby
>> zbytečně nízkoúrovňový. Psát, testovat a udržovat kód se syrovým SQL je
>> velká ztráta času.
>>
>>
> :-) To je o úhlu pohledu. Aby člověk věděl, co v databázi vůbec lze
> efektivně udělat, musí
> chápat ten relační způsob myšlení, a obávám se, že ORM jej od toho spíš
> může odvést.
> Navíc když nebude mít python, bude mít pořád to SQL, které asi bude volat
> z jakéhokoliv
> jazyka, nebo možná někdy dokonce přímo. A nebude se divit, co je to ten
> select, protože
> v sqlalchemy ORM se přece píše query...
>
> Ano, přidám par dalších otázek:
> Dejme tomu že začnu 'bez SQL'. Vyvíjím program, mám v něm chyby, které
> dělají chyby v databázi.
> Pokud se vyhnu SQL, jak budu schopen zkontrolovat svoje data?
> Opravit v datech následky mých chyb nebo chyb uživatele?
> Změnit strukturu dat z důvodu změny koncepce?
> Program zastírá realitu která je v databázi.
>
> A jiná otázka trochu bokem: je správné/vhodné vnutit zákazníkovi
> databázovou platformu?
> Pokud byste to chtěli prodávat, tak zákazník může mít své preference.
>
> _______________________________________________
> Python mailing list
> python na py.cz
> http://www.py.cz/mailman/listinfo/python
>
> Visit: http://www.py.cz
>
>
--
^nu.friX
aka Dan Pressl
Every syntax creates code. And code is poetry.
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://www.py.cz/pipermail/python/attachments/20171229/8fdbe45c/attachment.html>
Další informace o konferenci Python