Re: [python] par dotazu od zacatecnika v SQL

2017-12-29 Tema obsahu zu1234


Dne 29.12.2017 v 10:29 Dan Pressl napsal(a):
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.

Ad tazatel: Kdo se bojí nesmí do lesa :-)
Ad problém: Netvrdím že moje praxe je jediná pravda pro všechny.

Přeji hezký nový rok!
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


Re: [python] par dotazu od zacatecnika v SQL

2017-12-29 Tema obsahu Jan Bednařík
Myslím si, že doporučovat někomu, kdo chce používat databázi, čisté SQL,
aby zjistil jak to uvnitř databáze funguje, je stejné, jako doporučovat
někomu, kdo se učí programovat v Pythonu, aby začal s Assemblerem a C, aby
zjistil, jak ten počítač funguje.


2017-12-29 9:52 GMT+01:00 zu1234 :

>
> 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.
>

Od toho tě chrání to ORM (stabilní, testované). Musel bys asi narazit na
bug přímo v ORM knihovně, aby ses do takové situace dostal. Oproti tomu se
syrovým SQL se do takové situace dostaneš snadno.


> Pokud se vyhnu SQL, jak budu schopen zkontrolovat svoje data?
>

Cest je spousta. Základ jsou testy (ale to i v případě použití SQL). ORM
lze obvykle používat v shellu, tak se dá databáze pohodlně prohlížet. A
obvykle se hodí mít po ruce nějaké GUI k databázi.


> Opravit v datech následky mých chyb nebo chyb uživatele?
>

ORM ti obvykle nedovolí takové chyby udělat.


> Změnit strukturu dat z důvodu změny koncepce?
>

ORM knihovny mají nástroje pro tvorbu databázových migrací. Obvykle umí
migrace pro většinu změn struktury vygenerovat automaticky, což se hodí,
protože je to věc, kde se dá nasekat spousta tragických chyb.


> 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@py.cz
> http://www.py.cz/mailman/listinfo/python
>
> Visit: http://www.py.cz
>
>
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


Re: [python] par dotazu od zacatecnika v SQL

2017-12-29 Tema obsahu Dan Pressl
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 :

>
> 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@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.
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


Re: [python] par dotazu od zacatecnika v SQL

2017-12-29 Tema obsahu Petr Blahos
>
>
> 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.
>
> A tak zase je rozdíl mezi správné a realita. Správné je jistě nenutit,
realita je taková,
že v lepším případě dá dodavatel na výběr mezi 2-3 RDBMS, jindy řekne
(ovšem až
po realizaci obchodu): jestli chcete těchto pár vlastností, bude to muset
být Oracle.

Paradoxně, pokud jsi malý, budeš se snažit udělat to podle přání zákazníka,
pokud
jsi velký, bude se zákazník muset přizpůsobit,

Petr
--
http://petr.blahos.com/
___
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz


Re: [python] par dotazu od zacatecnika v SQL

2017-12-29 Tema obsahu zu1234


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@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz