[python] par dotazu od zacatecnika v SQL

Jan Bednařík jan.bednarik na gmail.com
Pátek Prosinec 29 20:56:26 CET 2017


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

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 na py.cz
> http://www.py.cz/mailman/listinfo/python
>
> Visit: http://www.py.cz
>
>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://www.py.cz/pipermail/python/attachments/20171229/74604f09/attachment.html>


Další informace o konferenci Python