<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/">
<channel>
<image>
<link>https://blog.root.cz/databaze/</link>
<title>Poslední přidané názory v blogu Databáze</title>
<url>https://i.iinfo.cz/r/rss-88x31.gif</url>
<width>88</width>
<height>31</height>
</image>
<title>Root.cz - Poslední přidané názory v blogu Databáze</title>
<link>https://blog.root.cz/databaze/</link>
<description>Poslední přidané názory v blogu Databáze</description>
<language>cs</language>
<pubDate>Fri, 17 Aug 2018 05:46:02 GMT</pubDate>
<item>
<title>Databáze : Bludné balvany v databázi</title>
<link>https://blog.root.cz/databaze/databaze-bludne-balvany-v-databazi/#o989588?utm_source=rss&amp;utm_medium=text&amp;utm_campaign=rss</link>
<description>Pěkný článek,

za mě pár postřehů

-úplně nejdůležitější je bod 1, který je zároveň téměř nemožné zavést již v existující aplikaci. Frontend by například o databázových objektech neměl vědět vůbec nic a všechno si brát např přes view. Stejně tak pokud píšete větší aplikaci a je potřeba mít několik modulů tak i volání mezi moduly se musí dělat přes stejný interface

-odkazovat se v kódu na číslo řádku v číselníku mi nepřijde příliš čitelné, používáme spíš unique VARCHAR(6) sloupec ZKRATKA, který se v kódu lépe čte a lze ho použít např v dokumentaci či nastavení

-servisní sloupec používáme ještě navíc kdo a kdy záznam vytvořil

Díky za článek, už jsem myslel že databázový inženýr je vymírající druh..

tomh</description>

<author>tomh</author>
<pubDate>Fri, 17 Aug 2018 05:46:02 GMT</pubDate>

<guid isPermaLink="false">blog.root.cz-blogComment-989588</guid>


</item>
<item>
<title>Databáze : Bludné balvany v databázi</title>
<link>https://blog.root.cz/databaze/databaze-bludne-balvany-v-databazi/#o987966?utm_source=rss&amp;utm_medium=text&amp;utm_campaign=rss</link>
<description>Clanek musi byt gendrove vyvazeny ;-)</description>

<author>bunak</author>
<pubDate>Wed, 01 Aug 2018 17:41:34 GMT</pubDate>

<guid isPermaLink="false">blog.root.cz-blogComment-987966</guid>


</item>
<item>
<title>Databáze : Bludné balvany v databázi</title>
<link>https://blog.root.cz/databaze/databaze-bludne-balvany-v-databazi/#o987960?utm_source=rss&amp;utm_medium=text&amp;utm_campaign=rss</link>
<description>&amp;gt;&amp;gt; abyste ten balvan odstranily, nebo s ním alespoň pohnuly.

zeny ?</description>

<author>milous</author>
<pubDate>Wed, 01 Aug 2018 14:19:27 GMT</pubDate>

<guid isPermaLink="false">blog.root.cz-blogComment-987960</guid>


</item>
<item>
<title>Pár postřehů o architektúře databáze</title>
<link>https://blog.root.cz/databaze/par-postrehu-o-architekture-databaze/#o936771?utm_source=rss&amp;utm_medium=text&amp;utm_campaign=rss</link>
<description>Nerozumím vyřazení DB na několik hodin z provozu. V tabulce zaměstnanec přepnu starého zaměstnance jako logicky smazaného (něco jako flag_deleted = Y) a vložím nového zaměstnance. Nyní mohu v tabulce zařízení změnit odkazy na nového zaměstnance. Update statisíců záznamů je v řádu sekund. OK, pokud bych čistě teoreticky měl nějaký ostrý OLTP systém s masivním provozem, tak napíšu proceduru, která bude updatovat po menších porcích, v extrému i po jednom záznamu, a pokud by došlo ke konkurenci o jeden záznam s jinou transakcí, budu muset řešit čekání anebo opakování pokusu o update. Pochybuji ale, že se zde jedná o takový systém :-)</description>

<author>vp</author>
<pubDate>Fri, 08 Sep 2017 20:36:54 GMT</pubDate>

<guid isPermaLink="false">blog.root.cz-blogComment-936771</guid>


</item>
<item>
<title>PostgreSQL: Uživatelské zmatky kolem count() a distinct</title>
<link>https://blog.root.cz/databaze/postgresql-zmatky-kolem-count-a-distinct/#o905435?utm_source=rss&amp;utm_medium=text&amp;utm_campaign=rss</link>
<description>Tohle je snad standardní chování jakéhokoliv dialektu SQL, ne? Objevil jste Ameriku.</description>

<author>pan Klobouk</author>
<pubDate>Thu, 26 Jan 2017 09:23:19 GMT</pubDate>

<guid isPermaLink="false">blog.root.cz-blogComment-905435</guid>


</item>
<item>
<title>PostgreSQL- PL/pgSQL  Serverové programování 03 - Kurzory</title>
<link>https://blog.root.cz/databaze/postgresql-pl-psql-serverovske-programovani-03-kurzory/#o898957?utm_source=rss&amp;utm_medium=text&amp;utm_campaign=rss</link>
<description>Jedna vec je, ako sa kurzory používajú v zmysle ich správnej syntaxe. Druhá vec, kedy ich použitie dáva zmysel (čo je hneď prvým bodom dokumentácie ku kurzorom - asi z dobrého dôvodu).

Rozumiem, že sa snažíte ľudom začínajúcim v sql, prípadne s PostgreSQL, ukázať nové prostriedky a spôsoby práce. Ale okrem toho, ako niečo použiť, je nemenej dôležité, kedy to má zmysel použiť, aké sú výhody a nevýhody danej techniky / prostriedku / prístupu.
Bez toho im akurát ukážete syntax, a dáte veľmi zlé, áno, veľmi zlé príklady pre použitie kurzoru, a vôbec neupozorníte na podstatné nevýhody.

Ak niekto začínajúci alebo učiaci sa pracovať v PostgreSQL číta tieto komentáre, doporučujem si pohľadať a prečítať viacej na tému kurzory vs. množinové operácie.

Začat môžete napríklad tu: www.google.com/search?q=sql+cursor+vs+set+based

Z nájdených článkov napríklad jeden pomerne obšírny o skúsenosti začiatočníka s kurzormi bez dodatočných súvislostí:
https://msbigurukool.wordpress.com/2014/04/20/how-cursors-degrade-the-performance-of-a-sql/

Aby som parafrázoval autora:
&quot;Každého (okrem ľudí, ktorí to nepoznajú, t.j. všetci okrem cieľovej skupiny tohto blogu), kto sa zamyslí nad uvedenými príkladmi kurzoru napadne, prečo by sme nemohli zlúčiť create, returns, declare, loop, ... (alebo ešte lepšie, vyhnúť sa funkcii a kurzoru kompletne) pre jednoduchú prácu s dátami - do jednoduchého príkazu ? A tie príkazy skutočne existujú - select, insert, update, delete.&quot;</description>

<author>Michal M</author>
<pubDate>Tue, 06 Dec 2016 14:24:44 GMT</pubDate>

<guid isPermaLink="false">blog.root.cz-blogComment-898957</guid>


</item>
<item>
<title>PostgreSQL- PL/pgSQL  Serverové programování 03 - Kurzory</title>
<link>https://blog.root.cz/databaze/postgresql-pl-psql-serverovske-programovani-03-kurzory/#o898780?utm_source=rss&amp;utm_medium=text&amp;utm_campaign=rss</link>
<description>podle mne jsou cursory jednou z nejhorsich vlastnost PLsql, kde vyhodite vykonnost SQL za cyklus</description>

<author>a</author>
<pubDate>Mon, 05 Dec 2016 12:35:32 GMT</pubDate>

<guid isPermaLink="false">blog.root.cz-blogComment-898780</guid>


</item>
<item>
<title>PostgreSQL: PL/pgSQL – Serverové programování 01</title>
<link>https://blog.root.cz/databaze/postgresql-pl-pgsql-serverove-programovani-01/#o895090?utm_source=rss&amp;utm_medium=text&amp;utm_campaign=rss</link>
<description>Jestli kód je napsaný správným stylem nebo ne, to nechám na posouzení jiným. Každopádně oceňuju článek o tom, že se dá PostgreSQL použít i k jiným věcem než k základnímu uložení dat a že se tam dají dělat daleko složitější věci.

Dnes je takový trend, že se relační databáze použije právě jen k uložení dat a veškeré kontroly nebo business pravidla jsou naprogramovány až třeba v ORM a výš. To je zase druhý extrém, který vede k dost neudržitelnému kódu a dřív nebo později to vede k nekonzistenci dat.</description>

<author>Crle</author>
<pubDate>Fri, 11 Nov 2016 21:45:23 GMT</pubDate>

<guid isPermaLink="false">blog.root.cz-blogComment-895090</guid>


</item>
<item>
<title>PostgreSQL: PL/pgSQL – Serverové programování 01</title>
<link>https://blog.root.cz/databaze/postgresql-pl-pgsql-serverove-programovani-01/#o895021?utm_source=rss&amp;utm_medium=text&amp;utm_campaign=rss</link>
<description>Jinak ale je fajn, že o tom takhle píšete, a že ukazujete, že se dá Postgres využít inteligentně nejen jako storage.</description>

<author>Pavel Stěhule</author>
<pubDate>Fri, 11 Nov 2016 12:12:30 GMT</pubDate>

<guid isPermaLink="false">blog.root.cz-blogComment-895021</guid>


</item>
<item>
<title>PostgreSQL: PL/pgSQL – Serverové programování 01</title>
<link>https://blog.root.cz/databaze/postgresql-pl-pgsql-serverove-programovani-01/#o894983?utm_source=rss&amp;utm_medium=text&amp;utm_campaign=rss</link>
<description>To ale není konflikt SQL identifikátoru a PLpgSQL proměnné - jedná se o tzv zastínění proměnné - pro každý blok můžete deklarovat proměnné bez ohledu na vnější bloky a používá se proměnná z aktuálního bloku. PLpgSQL se chová správně.
Nicméně toto chování může být pro programátora z jazyků, kde tato možnost není překvapivá, a proto je lze blokovat nebo si vynutit varování:

SET plpgsql.extra_warnings TO &apos;shadowed_variables&apos;;

CREATE FUNCTION foo(f1 int) RETURNS int AS $$
DECLARE
f1 int;
BEGIN
RETURN f1;
END
$$ LANGUAGE plpgsql;
WARNING:  variable &quot;f1&quot; shadows a previously defined variable
LINE 3: f1 int;

SET plpgsql.extra_errors to &apos;shadowed_variables&apos;;
create or replace function shadowtest(f1 int)
   returns boolean as $$
declare f1 int; begin return 1; end $$ language plpgsql;
ERROR:  variable &quot;f1&quot; shadows a previously defined variable
LINE 3: declare f1 int; begin return 1; end $$ language plpgsql;

https://www.postgresql.org/docs/9.5/static/plpgsql-development-tips.html</description>

<author>Pavel Stěhule</author>
<pubDate>Fri, 11 Nov 2016 04:28:43 GMT</pubDate>

<guid isPermaLink="false">blog.root.cz-blogComment-894983</guid>


</item>
</channel>
</rss>